1、安裝iptables
centos7默認防火牆是firewalle,要想使用iptables,須要安裝。vim
````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 ````
2、iptables工做原理
一、介紹
iptables又能夠稱做爲netfilter,是Linux/Unix自帶的一款優秀的且開放源代碼的徹底自由的基於包過濾的防火牆工具,他的功能十分的強大,使用很是的靈活,能夠對流入和流出的數據包進行很精細的控制。特別它能夠在一臺硬件很低的機器上跑的很好,提供近400人的上網讀取,好不遜色企業級專業路由器防火牆。iptables主要工做在OSI七層的二三層和四層(數據鏈路層,網絡層,傳輸層),若是從新編譯內核iptables也能夠支持7層控制。
二、工做流程
防火牆是一層層過濾的,實際是按照配置規則自上而下進行的,從前到後進行過濾的。centos
若是匹配上規則,即明確表示是阻止仍是經過,此時的數據包就不在進行下面的匹配了。
若是全部規則中沒有明確是阻止仍是經過這個數據包,也就是沒有匹配上規則,向下進行匹配,直到到匹配到默認規則(默認規則會明確代表是經過仍是阻止)。
防火牆的默認規則是對應鏈的全部的規則 執行完纔會執行的。服務器
3、iptables表和鏈網絡
iptables有4表5鏈。ide
表
filter: 顧名思義,用於過濾的時候
nat: 顧名思義,用於作 NAT 的時候,NAT:Network Address Translator
mangle:不經常使用,路由包的改寫
raw:不經常使用工具
鏈
INPUT: 位於 filter 表,匹配目的 IP 是本機的數據包
FORWARD: 位於 filter 表,匹配穿過本機的數據包,
PREROUTING: 位於 nat 表,用於修改目的地址(DNAT)
POSTROUTING:位於 nat 表,用於修改源地址 (SNAT)
OUTPUT:處理全部源地址就是本機地址的數據包,通俗的講,就是處理從主機發出去的數據包,存在全部表中centos7
一、filter表介紹
主要和主機自身有關,真正負責主機防火牆功能(過濾流入,流出,流經主機的數據包)。filter是主機默認使用的表。這表定義了三個鏈。生產場景單臺,服務器的防火牆功能全靠這張表
INPUT:負責過濾進入主機的數據包
FORWARD:負責轉發流進主機的數據包,起轉發的做用,和NAT關係很大,後面會詳細介紹,LVS NAT模式。路過 net.ipv4.ip_forward=0 內核模塊
OUTPUT : 處理全部源地址就是本機地址的數據包,通俗的講,就是處理從主機發出去的數據包
對filter表的控制是咱們實現主機防火強的重要功能,特別是對INPUT鏈的控制。
二、nat表介紹
負責網絡地址轉換,即來源與目的ip地址和port的轉換。開放源代碼
應用:和主機自己無關,防火牆通常不用nat,通常用於局域網共享上網或者特殊的端口和ip的轉換服務相關rest