iptables規則總結

INPUT    # 進入服務器

FORWARD  # 轉發網絡

OUTPUT   # 出去ssh

ACCEPT   # 將封包放行tcp

REJECT   # 攔阻該封包ide

DROP     # 丟棄封包不予處理rest

-A     # 在所選擇的鏈(INPUT等)末添加一條或更多規則接口

-D       # 刪除一條ip

-E       # 修改it

-p     # tcp、udp、icmp0至關於全部all!取反io

-P       # 設置缺省策略(與全部鏈都不匹配強制使用此策略)

-s     # IP/掩碼(IP/24)主機名、網絡名和清楚的IP地址 !取反

-j     # 目標跳轉,當即決定包的命運的專用內建目標

-i     # 進入的(網絡)接口 [名稱] eth0

-o     # 輸出接口[名稱] 

-m     # 模塊

--sport  # 源端口

--dport  # 目標端口

iptables-restore < 規則文件        # 導入防火牆規則

/etc/init.d/iptables save          # 保存防火牆設置

iptables -t filter -D INPUT -p icmp -j REJECT  #刪除入站icmp都會被拒絕的鏈條

iptables -t filter -I INPUT -p icmp -j REJECT  #-I在鏈表開頭插入,-A在鏈表以後添加

iptables -D INPUT 1   //刪除INPUT第一條規則

iptables  -A  OUTPUT  -p icmp -j REJECT   #添加鏈條OUTPUT禁止icmp出站

iptables -F    #清除全部表的全部連的規則

iptables -t nat -F  #指定清除NAT表的鏈規則


iptables  -t filter -P FORWARD DROP    #filter轉發默認被丟掉


iptables  -t filter -P FORWARD DROP    #filter入站默認被丟掉


iptables -A FORWARD -p icmp -j ACCEPT   #"!"取反,轉發除icmp外全部包。


iptables -I INPUT -s 10.20.30.1 -j drop   #丟棄來自10.20.30.1的包


iptables -I OUTPUT -d 8.8.8.8 -j drop  #丟棄目標地址爲8.8.8.8的數據包


iptables -I INPUT -s 192.168.26.0/24 -j REJECT   #拒絕來自26網段的ip


iptables -A FORWARD -s 192.168.26.0 -j DROP   #丟棄來自26網段的數據包


iptables -A INPUT -p tcp --dport 80 -j ACCEPT #開放80端口


iptables -A INPUT -p tcp --dport 20:22 -j ACCEPT  #開放20至22端口的tcp數據傳輸


iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCERT #接受來自24網段的在53端口的udp數據轉發


iptables -A FORWARD -d 192.168.24.0/24 -p udp --sport 53 -j ACCPT #接受目標24網段的在53端口的udp數據轉發


iptables -I INPUT -i eth0 -p tcp --tcp-flags SYN,RST,ACK SYN -j DROP    #TCP丟棄TCP標示符SYN,RST,ACK SYN

iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT   #開放多個端口


iptables -I FORWARD -p tcp -m iprange --src-range 192.168.21.21-192.168.21.180 -j ACCEPT    #ip地址匹配


iptables -A INPUT -m mac --mac-source 00:0c29:c0:55:3f -j DROP    #mac地址匹配


iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP   #禁止轉發與正常TCP鏈接無關的非--syn請求數據包


iptables -I INPUT -p tcp -m multiport --dport 80 -j ACCEPT

iptables -I INPUT -p tcp -m state --state ESTALISHED -j ACCEPT

iptables -p INPUT DROP

#除了請求80端口的數據包全都丟掉



iptables -t nat -A POSTROUTING -s 192.168.22.0/24 -o eth0 -j SNAT --to 192.168.1.118   #共享上網或者***轉發


echo 1 > /proc/sys/net/ipv4/ip_forward       # 在內核裏打開ip轉發功能


route add -net 10.10.20.0 netmask 255.255.255.0 gw 10.10.20.111     # 內網須要添加默認網關,而且網關開啓轉發


iptables -t nat -A PREROUTING -d 192.168.10.158  -p tcp --dport 9999 -j DNAT --to 10.10.20.55:22   #ssh轉發


iptables -t nat -A PREROUTING  -i eth0  -d 22.22.22.123  -p tcp --dport 80  -j DNAT --to-destination 192.168.1.100  #發佈服務器


iptables -t nat -nL                # 查看轉發

相關文章
相關標籤/搜索