在紅帽RHEL7系統中firewalld服務取代了iptables服務,但依然可以使用iptables命令來管理內核的netfilter。
iptables命令中則常見的控制類型有:
規則鏈則依據處理數據包的位置不同而進行分類:
PREROUTING:在進行路由選擇前處理數據包
INPUT:處理入站的數據包
OUTPUT:處理出站的數據包
FORWARD:處理轉發的數據包
POSTROUTING:在進行路由選擇後處理數據包
Iptables中的規則表:
規則表的先後順序:raw→mangle→nat→filter
規則鏈的先後順序:
入站順序:PREROUTING→INPUT
出站順序:OUTPUT→POSTROUTING
轉發順序:PREROUTING→FORWARD→POSTROUTING
iptables的基本參數:
參數 作用 -P 設置默認策略:iptables -P INPUT (DROP|ACCEPT) -F 清空規則鏈 -L 查看規則鏈 -A 在規則鏈的末尾加入新規則 -I num 在規則鏈的頭部加入新規則 -D num 刪除某一條規則 -s 匹配來源地址IP/MASK,加歎號"!"表示除這個IP外。 -d 匹配目標地址 -i 網卡名稱 匹配從這塊網卡流入的數據 -o 網卡名稱 匹配從這塊網卡流出的數據 -p 匹配協議,如tcp,udp,icmp --dport num 匹配目標端口號 --sport num 匹配來源端口號實例:iptables的filter的配置:
--關閉firewall:
[root@localhost ~]# systemctl stop firewalld.service #停止firewall
[root@localhost ~]# systemctl disable firewalld.service #禁止firewall開機啟動
--安裝安裝iptables防火牆
[root@localhost ~]# yum install iptables-services #安裝
--清空已有的規則:
iptables -F iptables -X iptables -Z
--配置允許SSH登陸端口進入
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT
--允許所有的ping操作
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT
--允許本機lo通信
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
--設置默認的訪問規則
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
--允許關聯的狀態包通過
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
--開放特定的端口,以80為例
iptables -A INPUT -p tcp --dport 80 -j ACCEP
--保存配置
service iptables save
--重啟
systemctl restart iptables.service
--設置開機自啟動
systemctl enable iptables.service
http://xxxxxx/Linuxjc/1188156.html TechArticle