防火牆IPTABLES

fjzcau發表於2015-01-24
--服務重啟
/etc/init.d/iptables stop
/etc/init.d/iptables start

--檢視防火牆配置
# iptables -L -n

# iptables -L -nv

--新加的策略載入第5,6條
iptables  -I   INPUT   5  -p tcp  --dport 23  -s  192.168.2.0/24  -j ACCEPT 
iptables  -I   INPUT   6  -p tcp  --dport 23  -j  DROP

--修改後儲存
/etc/init.d/iptables save  

--刪除第六條策略
iptables -D INPUT 6

iptables -F     清空所有規則
引數∶
-F ∶清除所有的已訂定的規則;
-X ∶殺掉所有使用者 "自訂" 的 chain (應該說的是 tables )棉;
-Z ∶將所有的 chain 的計數與流量統計都歸零

iptables -I  INPUT  7 -s 192.168.2.200 -j LOG

[root@rhel62 yum.repos.d]# iptables -I  INPUT  7 -s 192.168.2.200 -d 192.168.2.1 -p tcp --dport 12345 --sport 12346 -j LOG
[root@rhel62 yum.repos.d]# iptables -L -n    
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
ACCEPT     tcp  --  192.168.2.0/24       0.0.0.0/0           tcp dpt:23
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:23
LOG        tcp  --  192.168.2.200        192.168.2.1         tcp spt:12346 dpt:12345 LOG flags 0 level 4
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

範例一∶想要連線進入本機 port 21 的封包都抵擋掉∶
[root@linux ~]# iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP

範例二∶想連到我這部主機的網 (upd port 137,138 tcp port 139,445) 就放行
[root@linux ~]# iptables -A INPUT -i eth0 -p udp --dport 137:138 -j ACCEPT
[root@linux ~]# iptables -A INPUT -i eth0 -p tcp --dport 139 -j ACCEPT
[root@linux ~]# iptables -A INPUT -i eth0 -p tcp --dport 445 -j ACCEPT


例如∶只要來自 192.168.1.0/24 的 1024:65535 埠口的封包, 只要想要連線到本機的 ssh port 就予以抵擋,可以這樣做∶
[root@linux ~]# iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 --sport 1024:65534 --dport ssh -j DROP

注意啊!如果你有使用到 --sport 及 --dport 的引數時,就必須指定 udp 或 tcp 的封包格式才行!
否則的話, iptables 的指令就會出現如下的錯誤∶
[root@linux ~]# iptables -A INPUT -i eth0 --dport 21 -j DROP
iptables v1.2.11: Unknown arg `--dport'
Try `iptables -h' or 'iptables --help' for more information.

範例∶將來自任何地方來源 port 1:1023 的主動連線到本機端的 1:1023 連線丟棄 -A 附加在table的後面
[root@linux ~]# iptables -A  INPUT -i eth0 -p tcp --sport 1:1023  --dport 1:1023 --syn -j DROP

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22661144/viewspace-1413445/,如需轉載,請註明出處,否則將追究法律責任。

相關文章