linux禁止向指定ip发送数据包,Linux下使用iptables封锁端口禁止邮件发送
原創文章,轉載請注明出處:https://www.myzhenai.com/thread-17843-1-1.html https://www.myzhenai.com.cn/post/2161.html
原理是使用iptables封鎖了PREROUTING (路由前) INPUT (數據包流入口) FORWARD (轉發管卡) OUTPUT(數據包出口) POSTROUTING(路由后)五個規則鏈,只要是從這些規則鏈里出口的和入口的數據,都不能經過指定的端口. 例程封鎖了這些端口 25,110,50,105,106,109,209,512,465,992,1109,24554,60177,60179
同時枚舉了當前所有網卡,把所有網卡的進出數據都不能通過指定的端口傳輸.
這五個位置也被稱為五個鉤子函數(hook functions),也叫五個規則鏈。
1.PREROUTING (路由前)
2.INPUT (數據包流入口)
3.FORWARD (轉發管卡)
4.OUTPUT(數據包出口)
5.POSTROUTING(路由后)
這是NetFilter規定的五個規則鏈,任何一個數據包,只要經過本機,必將經過這五個鏈中的其中一個鏈。
常用的ACTION:
DROP:悄悄丟棄
一般我們多用DROP來隱藏我們的身份,以及隱藏我們的鏈表
REJECT:明示拒絕
ACCEPT:接受
custom_chain:轉向一個自定義的鏈
DNAT
SNAT
MASQUERADE:源地址偽裝
REDIRECT:重定向:主要用于實現端口重定向
MARK:打防火墻標記的
RETURN:返回
在自定義鏈執行完畢后使用返回,來返回原規則鏈。
-P :設置默認策略的(設定默認門是關著的還是開著的)
默認策略一般只有兩種
iptables -P INPUT (DROP|ACCEPT) 默認是關的/默認是開的
比如:
iptables -P INPUT DROP 這就把默認規則給拒絕了。并且沒有定義哪個動作,所以關于外界連接的所有規則包括Xshell連接之類的,遠程連接都被拒絕了。
-F: FLASH,清空規則鏈的(注意每個鏈的管理權限)
iptables -t nat -F PREROUTING
iptables -t nat -F 清空nat表的所有鏈
-N:NEW 支持用戶新建一個鏈
iptables -N inbound_tcp_web 表示附在tcp表上用于檢查web的。
-X: 用于刪除用戶自定義的空鏈
使用方法跟-N相同,但是在刪除之前必須要將里面的鏈給清空昂了
-E:用來Rename chain主要是用來給用戶自定義的鏈重命名
-E oldname newname
-Z:清空鏈,及鏈中默認規則的計數器的(有兩個計數器,被匹配到多少個數據包,多少個字節)
iptables -Z :清空
(4) -i
以包進入本地所使用的網絡接口來匹配包。只能用INPUT \ FORWARD \PREROUTING 三個鏈中。用在其他任何鏈中都會出錯。
可使用“+” “!”兩種符號。
只用一個“+"號,表示匹配所有的包,不考慮使用哪個接口。如: iptable -A INPUT -i + //表匹配所有的包。
放在某類接口后面,表示所有此類接口相匹配。如: iptable -A INPUT -i eth+ //表示匹配所有ethernet 接口。
(5) -o
以數據包出本地所使用的網絡接口來匹配包。與-i一樣的使用方法。
只能用OUTPUT \ FORWARD \POSTROUTING 三個鏈中。用在其他任何鏈中都會出錯。
可使用“+” “!”兩種符號。
iptables規則創建腳本.
# !/bin/bash
mv /etc/sysconfig/iptables /etc/sysconfig/iptables.back
iptables -F
service iptables save
echo "# !/bin/bash" >> iptables.sh
echo "service iptables restart" >> iptables.sh
ip=`ifconfig -a|grep encap|awk -F " " '{ print $1 }'`
OLD_IFD="$IFD"
IFD=" "
arr=($ip)
IFD="$OLD_IFD"
for d in ${arr[@]}
do
#echo $d
a="25,110,50,105,106,109,209,512,465,992,1109,24554,60177,60179"
OLD_IFS="$IFS"
IFS=","
arr=($a)
IFS="$OLD_IFS"
for s in ${arr[@]}
do
#************************************************************************************#
echo "iptables -A INPUT -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A INPUT -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -p tcp --sport $s -j DROP" >> iptables.sh
#**************************************************************************************#
echo "iptables -A INPUT -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A INPUT -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -p udp --sport $s -j DROP" >> iptables.sh
#**************************************************************************************#
echo "iptables -A INPUT -i $d -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A INPUT -i $d -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A INPUT -i $d -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A INPUT -i $d -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -o $d -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -o $d -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -o $d -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A OUTPUT -o $d -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -i $d -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -i $d -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -i $d -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A PREROUTING -i $d -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -i $d -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -o $d -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -i $d -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -o $d -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -i $d -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -o $d -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -i $d -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A FORWARD -o $d -p udp --sport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -o $d -p tcp --dport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -o $d -p tcp --sport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -o $d -p udp --dport $s -j DROP" >> iptables.sh
echo "iptables -A POSTROUTING -o $d -p udp --sport $s -j DROP" >> iptables.sh
echo "#**********************This is Divider**************************#" >> iptables.sh
done
done
echo "service iptables save" >> iptables.sh
echo "service iptables restart" >> iptables.sh
service iptables restart
sicnature ---------------------------------------------------------------------
Your current IP address is: 114.103.80.217
Your IP address location: 安徽省滁州市天長市電信
Your IP address country and region: 中國
Your current browser is:
Your current system is:
Original content, please indicate the source:
同??蜅U搲?| 蟒蛇科普 | 海南鄉情論壇 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source https://www.myzhenai.com.cn/post/2161.html
總結
以上是生活随笔為你收集整理的linux禁止向指定ip发送数据包,Linux下使用iptables封锁端口禁止邮件发送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式linux结构框图,嵌入式linu
- 下一篇: linux下free源码,linux命令