Linux--防火牆策略 iptables(續)
***************************************************************************************************************************************************************************************
昨天寫到如何使用iptables檢視和修改其訪問策略,現在再來具體看一下如何使用iptables實現防火牆策略的新增和刪除。
下面展示的是防火牆策略的查詢:
可以看到,防火牆提供了INPUT、FORWARD、OUTPUT三種策略,INPUT指的是從外面(可以是網際網路、其他主機)進到自己電腦的資訊,都從INPUT策略經過,OUTPUT正相反,指從自己主機出去,訪問(網際網路、其他主機)的資訊,從這條策略經過;FORWARD轉向策略,假如A電腦想要訪問C電腦,必須要經過B電腦,那在FORWARD中加入一條轉向策略,將訪問的方向轉向C。
括號中policy的預設策略全部都是默認同意的,如果將ACCEPT改為DROP,則不管是進來的資訊,還是想要出去訪問的資訊,都將會被拒絕掉。
追加規則,即為將一條規則新增到防火牆策略中,通過tcp協議,在任何地方進行連線SSH,只要是可以連線進來,則防火牆都會預設通過:
下面進行檢視:
再來看FORAWRD中的source 和destination,預設都是anywhere,可以從任意地方來,到任意地方去,即來源和目的地都沒有限制,我們將來源修改一下,將來源修改為具體ip,表示只有這個ip可以連線到自己主機,再來看:
使用iptables -L 進行檢視:
以上寫了iptables的新增、修改、檢視規則了,當然也可以對其進行刪除操作,刪除規則是iptables -D + 策略 + 策略序號 ,上面添加了FORWARD策略,下面使用刪除策略將其刪除:
還有一個iptables -F 清空規則,使用這個規則表示你要將所有的防火牆策略清空,如果想要單獨清空某一個鏈的話,後面加鏈的名稱:
接著看防火牆的匹配條件:
出、入介面(-o、-i) 網絡卡 網絡卡是上網的必備品,沒有網絡卡就無法上網。當前主機有一臺Linux伺服器,想要訪問某個網站的時候,是資訊出去的過程,用到出介面,通過網路下載資訊到本地,就要通過入介面,對於網絡卡就是INPUT、OUTPUT鏈,如果設定ACCEPT或者DROP,那有的策略就會通過,有的策略將不能通過。
源、目的地址(-s、-d) IP或者IP段 -s允許或者不允許某個IP地址、IP段,訪問自己主機 -p 允許或者不允許某個IP地址、IP段訪問某個網站,和之前將anywhere修改為具體ip的作用是一樣的。
協議型別(-p) TCP,UDP
源、目的埠(-sport、-dport) 應用軟體在啟動的時候 ,會佔用一個埠,ip + 埠可以設定相關的策略資訊
按照網路介面匹配:
-0 匹配資料流出的網路介面 iptables -A OUTPUT eht0 -j DROP
備註:將介面eth0流出的資料drop掉
-i 匹配資料流入的網路介面 iptables -A INPUT -i eth0 -j DROP
備註:將流入到介面eth0的資料DROP掉;
使用這個命令,會將所有的資料drop掉,xshell沒有網路資料流,也就不能繼續使用,這時,必須要重啟CentOS服務端才可以。
按地址匹配:
-s 匹配源地址:
iptables -A INPUT -s 192.168.1.56 -j DROP 將來自 192.168.1.56的任何請求DROP掉
-d 匹配目的地址
iptables -A OUTPUT -d 192.168.1.45 -j DROP 將本機發往192.168.1.45的任何請求DROP掉
***************************************************************************************************************************************************************************************