iptables 1.4.21 html
官方:https://www.netfilter.org/projects/iptables/index.htmllinux
iptables is the userspace command line program used to configure the Linux 2.4.x and later packet filtering ruleset. It is targeted towards system administrators.服務器
iptables是一個命令行工具,與netfilter一塊兒組成linux服務器的防火牆,經過iptables能夠設置管理各類ip包過濾規則;ssh
查看當前配置,如下爲初始配置:curl
# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination tcpChain FORWARD (policy ACCEPT)
target prot opt source destination 工具Chain OUTPUT (policy ACCEPT)
target prot opt source destinationurl
policy有兩種,一種是ACCEPT(默認放開,須要加黑名單,初始配置爲所有放開),一種是DROP(默認拒絕,須要加白名單),經常使用的是後一種spa
服務器常見的策略是放開內網訪問,限制外網訪問:.net
#容許內網和本機訪問
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT#容許ssh登陸
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#容許訪問dns、curl外網等
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT#容許訪問80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#容許ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
#容許keepalived
iptables -I INPUT -d 224.0.0.0/8 -j ACCEPT
iptables -A INPUT -p vrrp -j ACCEPT
iptables -P INPUT DROP
注意在執行最後一句以前,必定要先執行各類ACCEPT,不然執行以後服務器直接遠程直接登陸不了;
策略生效以後是這樣的:
# iptables -nL
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 192.168.0.0/24 0.0.0.0/0
ACCEPT tcp -- 127.0.0.1 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHEDChain FORWARD (policy ACCEPT)
target prot opt source destinationChain OUTPUT (policy ACCEPT)
target prot opt source destination
若是想刪除某條規則,增長--line-number
# iptables -nL --line-number
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT tcp -- 192.168.0.0/24 0.0.0.0/0
2 ACCEPT tcp -- 127.0.0.1 0.0.0.0/0
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
5 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53
6 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHEDChain FORWARD (policy ACCEPT)
num target prot opt source destinationChain OUTPUT (policy ACCEPT)
num target prot opt source destination
而後指定行號刪除
# iptables -D INPUT $line