天天看點

iptables防火牆基礎知識

一、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

#拒絕所有到本機的流量

繼續閱讀