Netfilter/iptables是與最新的2.6.x版本Linux內核集成的ip信息包過濾系統。若是Linux系統鏈接到因特網或LAN、服務器或鏈接LAN和因特網的代理服務器,則該系統有理由在Linux系統上更好的控制IP信息包過濾和防火牆配置。centos
雖然Netfilter/iptablesIP信息包過濾系統被稱爲單個實體,但它實際上由兩個組件netfilter和iptables組成。netfilter組件也稱爲內核空間(kernelspace),是內核的一部分,由一些信息包過濾組成,這些表包含內核用來控制信息包過濾處理的規則集。iptables組件是一種工具,也稱爲用戶空間(userspace),它使插入、修改和除去信息包過濾表中的規則變得容易。服務器
Netfilter/iptablesIP信息包過濾系統是一種功能強大的工具,能夠用於添加、編輯和除去規則,這些規則是在作信息包過濾決定時,防火牆所遵循和組成的規則。這些規則存儲在專用的信息包過濾表中,而這些表集成在Linux內核中。在信息包過濾表中,規則被分組放在咱們所謂的鏈(chain)中。網絡
filter:表用來過濾數據ssh
nat:轉換包的源地址或目標地址工具
DNAT測試
SNATcentos7
MASQUERADEspa
mangle:使用mangle匹配來改變包的特性命令行
TOS代理
TTL
MARK
raw:能夠對收到的數據包在連接跟蹤前進行處理。
Netfilter/iptables的最大優勢是它能夠配置有狀態的防火牆。有狀態的防火牆可以制定並記住爲發送或接受信息包所創建的鏈接的狀態。防火牆能夠從信息包的連接跟蹤狀態得到該消息。在決定新的信息包過濾時,防火牆所使用的這些狀態信息能夠增長其效率和速度。
stata基於連接的狀態
這裏有四種有效狀態,名稱分別爲ESTABLISHED、INVALID、NEW和RELATED。
NEW意味着該信息包已經或將啓動新的連接,或者它與還沒有用於發送和接收信息包的鏈接相關聯。
RETABLISHED指出該信息包屬於已創建的鏈接,該連接一直用於發送和接收信息包而且徹底有效。
RELATED表示該信息包正在啓動新鏈接,以及它與已創建的連接相關聯。
INVALID狀態指出該信息包與任何已知的流或鏈接都不相關聯,它可能包含錯誤的數據或頭。
網絡地址轉換(NAT,Network Address Translation)屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化爲合法ip地址的轉換技術,它被普遍應用於各類類型Internet接入方式和各類類型的網絡中。緣由很簡單,NAT不只完美地解決了IP地址不足的問題,並且還可以有效地避免來自網絡外部的攻擊,隱藏並保護網絡內部的計算機。
firewalld是centos7的一大特性,最大的好處有兩個:支持動態更新,不用重啓服務;另外firewalled增長了「zone」的概念。
firewalld將全部incoming流量劃分紅zone,每一個zone都具備本身的一套規則。
firewalld在判斷incoming流量使用那一個zone,使用如下規則:
trusted
容許全部incoming/outgoing taiffic
home
除非與outgoing taiffic相關,或與ssh,mdns,ipp-client,samba-client,dhcpv6-client這些預約義服務匹配,不然拒絕incoming taiffic。
internal
除非與outgoing taiffic相關,或與ssh,mdns,ipp-client,samba-client,dhcpv6-client這些預約義的服務匹配,不然拒絕incoming taiffic。(開始時與home zone相同)
work
除非有outgoing taiffic相關,或與ssh,ipp-client,dhcpv6-client這些預約義服務相匹配,不然拒絕incoming taiffic
public
除非與outgoing taiffic相關,或與ssh,dhcpv6-client這些預約義服務相匹配,不然拒絕incoming taiffic。(新添加的網絡接口默認爲zone)
external
除非與outgoing taiffic相關,或與ssh預約義服務匹配,不然拒絕incoming taiffic。將經過此zone轉發的Ipv4 outgoing taiffic 的源地址假裝成outgoing網絡接口的IPV4地址。
dmz
除非與outgoing taiffic相關,或與ssh預約義服務匹配,不然拒絕incoming taiffic。
block
除非與outgoing taiffic先關,不然拒絕全部incoming taiffic。
drop
除非與outgoing taiffic相關,不然丟棄全部incoming taiffic。(不產生包含ICMP錯誤的響應)
使用三種方式來管理firewalld
使用firewalld-cmd,幾乎全部命令都對當前狀態生效(觸發指定---permanent),若是沒有使用----zone,使用默認zone。
配置防火牆時,一般會使用 --permanent配置全部更改,而後使用firewalld-充滿電 --reload激活這些更改。測試可能有危險的新規則時,能夠省略 -permanent並添加-題麼嘔吐=<TIME in SECONDS> 必定時間後自動刪除某個規則,來方式意外鎖定某個系統。
firewalld 的rich rule提供了一種表達性語言,經過這種語言能夠表達firewalld基本語法中未涵蓋的自定義防火牆規則。例如。僅容許某個特定ip(而非經過某個zone路由的全部IP地址)鏈接到服務。
。。。。。具體請百度。沒測試。等測試了以後會在博客補齊