一、iptables是什麼類型的防火牆
是包過濾型,需要在input和output方向都做包過濾政策,預設情況下iptables更像ACL。
通過-m state選項,可以讓iptables的功能得到更多的擴充,比如,實作FTP協定的端口放開等類似ALG功能
二、 iptables在CentOS7上的開啟和關閉方法
1. 停止并禁用 firewalld
sudo systemctl stop firewald.service && sudo systemctl disable firewald.service
2.安裝iptables-services、iptables-devel
sudo yum install iptables-services iptables-devel
3.啟用并啟動iptables
sudo systemctl enable iptables.service && sudo systemctl start iptables.service
1. 立即生效
systemctl stop iptables.service
2. 永久生效
systemctl enable iptables.service
三、 iptables的配置檔案
vim /etc/sysconfig/iptables
在沒有安裝iptables.services和iptables-devel前,系統(CentOS7)上并沒有這個檔案
四、iptables有區域的概念嗎?
沒有,但firewalld有
五、iptables能做什麼?
1. 單機防火牆:針對發往本主機的資料包進行過濾
2. 網絡防火牆:針對通過本機進行轉發的資料進行NAT和過濾
六、 四表五鍊
常用的表其實就nat和filter
nat的常見用法是:在PREROUTING端做DNAT,在POSTROUTING端做SNAT
filter包括兩部分:針對本機的資料包,在INPUT和OUTPUT做過濾;針對轉發的資料包在FORWARD的雙向做過濾
四表: 實作不同的功能
1. raw: 用于關閉NAT表上啟用的連接配接追蹤
2. mangle: 拆解封包,做出修改,并重新進行封裝
3. nat: 網絡位址轉換
4. filter: 負責資料包的過濾功能
5. security: 在CentOS7中新加的一個表
五鍊: 規則清單,對對應的包進行比對并進行動作處理。也可以了解為規則作用的點。
1. PREROUTING: 流入的資料包路由之前
2. INPUT: 資料包入口,作用于目的地是本機的流量
3. FORWARDING: 轉發,作用于目的地不是本機的流量
4. OUTPUT: 資料包出口,由本機發出的流量
5. POSTROUTING: 路由之後
功能<--鍊:
raw:PREROUTING, OUTPUT
mangle:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
nat:PREROUTING,[INPUT,]OUTPUT,POSTROUTING
filter:INPUT,FORWARD,OUTPUT
七、iptables的預設規則
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#針對已經建立了連接配接的資料包,允許流入;也可以了解為允許回包進入本機
-A INPUT -p icmp -j ACCEPT
#允許ICMP協定的進入
-A INPUT -i lo -j ACCEPT
#允許本機回環回入方向的流量
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#允許所有主機到本機TCP22端口的通路
-A INPUT -j REJECT --reject-with icmp-host-prohibited
#拒絕所有到本機的流量