在紅帽RHEL7系統(tǒng)中firewalld服務(wù)取代了iptables服務(wù),但依然可以使用iptables命令來管理內(nèi)核的netfilter。
iptables命令中則常見的控制類型有:
規(guī)則鏈則依據(jù)處理數(shù)據(jù)包的位置不同而進(jìn)行分類:
PREROUTING:在進(jìn)行路由選擇前處理數(shù)據(jù)包
INPUT:處理入站的數(shù)據(jù)包
OUTPUT:處理出站的數(shù)據(jù)包
FORWARD:處理轉(zhuǎn)發(fā)的數(shù)據(jù)包
POSTROUTING:在進(jìn)行路由選擇后處理數(shù)據(jù)包
Iptables中的規(guī)則表:
規(guī)則表的先后順序:raw→mangle→nat→filter
規(guī)則鏈的先后順序:
入站順序:PREROUTING→INPUT
出站順序:OUTPUT→POSTROUTING
轉(zhuǎn)發(fā)順序:PREROUTING→FORWARD→POSTROUTING
iptables的基本參數(shù):
參數(shù) | 作用 |
-P | 設(shè)置默認(rèn)策略:iptables -P INPUT (DROP|ACCEPT) |
-F | 清空規(guī)則鏈 |
-L | 查看規(guī)則鏈 |
-A | 在規(guī)則鏈的末尾加入新規(guī)則 |
-I num | 在規(guī)則鏈的頭部加入新規(guī)則 |
-D num | 刪除某一條規(guī)則 |
-s | 匹配來源地址IP/MASK,加嘆號"!"表示除這個IP外。 |
-d | 匹配目標(biāo)地址 |
-i 網(wǎng)卡名稱 | 匹配從這塊網(wǎng)卡流入的數(shù)據(jù) |
-o 網(wǎng)卡名稱 | 匹配從這塊網(wǎng)卡流出的數(shù)據(jù) |
-p | 匹配協(xié)議,如tcp,udp,icmp |
--dport num | 匹配目標(biāo)端口號 |
--sport num | 匹配來源端口號 |
實例:iptables的filter的配置:
--關(guān)閉firewall:
[root@localhost ~]# systemctl stop firewalld.service #停止firewall
[root@localhost ~]# systemctl disable firewalld.service #禁止firewall開機(jī)啟動
--安裝安裝iptables防火墻
[root@localhost ~]# yum install iptables-services #安裝
--清空已有的規(guī)則:
iptables -F iptables -X iptables -Z
--配置允許SSH登陸端口進(jìn)入
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
--允許本機(jī)lo通信
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
--設(shè)置默認(rèn)的訪問規(guī)則
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
--允許關(guān)聯(lián)的狀態(tài)包通過
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
--設(shè)置開機(jī)自啟動
systemctl enable iptables.service
![]() | ![]() .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |
![]() | ![]() .. 定價:¥124 優(yōu)惠價:¥124.0 更多書籍 |