關閉selinux,不關閉時,iptables不讀取配置文件
重啟生效
centos7 中默認的防火牆是firewalld,使用iptables需要先關閉firewalld防火牆,安裝iptables服務:yum -y install iptables-services
iptables 是centos6中的默認防火牆,建議使用service iptables start 方式啟動
常用命令:
iptables -L #查看filter表的iptables規則,包括所有的鏈。filter表包含INPUT、OUTPUT、FORWARD三個規則鏈。說明:-L是--list的簡寫,作用是列出規則。
iptables -n #說明:以數字形式顯示規則。如果沒有-n,規則中可能會出現anywhere,有了-n,它會變成0.0.0.0/0
iptables -nvL #說明:這個列表看起來更詳細,對技術人員更友好。
iptables -nvL --line-number #–line-number找出該條規則的行號。一般是為了通過行號刪除規則。
iptables -F #清除所有規則
語法格式:
INPUT:過濾進入主機的數據包
OUTPUT:處理從本機出去的數據包
FORWARD:負責轉發流經本機但不進入本機的數據包,起到轉發作用
-A:追加到規則的最后一條
-D:刪除記錄
-I:添加到規則的第一條
-p:規定通信協議,常用協議:tcp、udp、icmp、all
-j:指定跳轉的目標,常見的目標:ACCEPT(接收數據包)、DROP(丟棄數據包)、REJECT(重定向,一般不使用會帶來安全隱患)
查看iptables 當前規則
添加192.168.7.102可訪問80端口:iptables -I INPUT -p tcp --dport 80 -j ACCEPT -s 192.168.7.102
刪除192.168.7.87 訪問:iptables -D INPUT 1 或者 iptables -I INPUT -p tcp --dport 80 -s 192.168.7.84 -j DROP
保存規則(修改規則后必須寫入配置文件,否則重啟失效):service iptables save 會將當前的規則寫入配置文件 /etc/sysconfig/iptables 中
注意:允許的要在禁止的前面。如果前面禁止192.168.7.102訪問,后面允許192.168.7.102訪問,以前面為准。