米撲博客 總結了 Linux iptables 防火牆常用規則,分享出來。
iptables 安裝
yum install iptables
iptables 規則清除
iptables -F
iptables -X
iptables -Z
開放指定的端口
允許本地回環接口(即運行本機訪問本機)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
允許所有本機向外的訪問
iptables -A OUTPUT -j ACCEPT
允許訪問22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允許訪問80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
允許指定IP訪問22
iptables -I INPUT -s 192.168.0.19 -p tcp --dport 22 -j ACCEPT
禁止其他未允許的規則訪問
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
屏蔽IP
屏蔽單個IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
封整個段即從123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
封IP段即從123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
封IP段即從123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
查看已添加的iptables規則
iptables -L -n
刪除已添加的iptables規則
比如要刪除INPUT里序號為8的規則,執行:
iptables -D INPUT 8
保存規則
service iptables save
重啟服務
service iptables restart
iptables 配置文件
vi /etc/sysconfig/iptables
打開主動模式21端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
全部開放FTP傳輸
加載模塊:
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
加上一條規則:
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables只允許指定ip地址訪問指定端口
iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 22 -j ACCEPT
上面這兩條,請注意--dport為目標端口,當數據從外部進入服務器為目標端口;反之,數據從服務器出去則為數據源端口,使用 --sport
同理,-s是指定源地址,-d是指定目標地址。
關閉所有的端口
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
yum允許下載隨機產生的高端口
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 10000:65535 -j ACCEPT
允許Ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
禁Ping
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
參考推薦: