1. 程式人生 > >Centos7防火墻之iptables

Centos7防火墻之iptables

onf linux save tor ipv 技術分享 oss man 關閉

一、安裝iptables
centos7默認防火墻是firewalle,要想使用iptables,需要安裝。

               ````yum install -y iptables iptables.services
                    啟動:service iptables start
                    狀態:service iptables status
                    關閉:service iptables stop
                    重啟:service iptables restart
                    保存新建規則:service iptables save
                    配置文件:vim /etc/sysconfig/iptables
                    ````

二、iptables工作原理
1、介紹
iptables又可以稱作為netfilter,是Linux/Unix自帶的一款優秀的且開放源代碼的完全自由的基於包過濾的防火墻工具,他的功能十分的強大,使用非常的靈活,可以對流入和流出的數據包進行很精細的控制。特別它可以在一臺硬件很低的機器上跑的很好,提供近400人的上網讀取,好不遜色企業級專業路由器防火墻。iptables主要工作在OSI七層的二三層和四層(數據鏈路層,網絡層,傳輸層),如果重新編譯內核iptables也可以支持7層控制。
2、工作流程
技術分享圖片
防火墻是一層層過濾的,實際是按照配置規則自上而下進行的,從前到後進行過濾的。

如果匹配上規則,即明確表示是阻止還是通過,此時的數據包就不在進行下面的匹配了。

如果所有規則中沒有明確是阻止還是通過這個數據包,也就是沒有匹配上規則,向下進行匹配,直到到匹配到默認規則(默認規則會明確表明是通過還是阻止)。
防火墻的默認規則是對應鏈的所有的規則 執行完才會執行的。

三、iptables表和鏈

iptables有4表5鏈。


filter: 顧名思義,用於過濾的時候
nat: 顧名思義,用於做 NAT 的時候,NAT:Network Address Translator
mangle:不常用,路由包的改寫
raw:不常用


INPUT: 位於 filter 表,匹配目的 IP 是本機的數據包
FORWARD: 位於 filter 表,匹配穿過本機的數據包,

PREROUTING: 位於 nat 表,用於修改目的地址(DNAT)
POSTROUTING:位於 nat 表,用於修改源地址 (SNAT)
OUTPUT:處理所有源地址就是本機地址的數據包,通俗的講,就是處理從主機發出去的數據包,存在所有表中

1、filter表介紹
主要和主機自身有關,真正負責主機防火墻功能(過濾流入,流出,流經主機的數據包)。filter是主機默認使用的表。這表定義了三個鏈。生產場景單臺,服務器的防火墻功能全靠這張表
INPUT:負責過濾進入主機的數據包
FORWARD:負責轉發流進主機的數據包,起轉發的作用,和NAT關系很大,後面會詳細介紹,LVS NAT模式。路過 net.ipv4.ip_forward=0 內核模塊
OUTPUT : 處理所有源地址就是本機地址的數據包,通俗的講,就是處理從主機發出去的數據包
對filter表的控制是我們實現主機防火強的重要功能,特別是對INPUT鏈的控制。
2、nat表介紹
負責網絡地址轉換,即來源與目的ip地址和port的轉換。

應用:和主機本身無關,防火墻一般不用nat,一般用於局域網共享上網或者特殊的端口和ip的轉換服務相關

Centos7防火墻之iptables