您好,登錄后才能下訂單哦!
iptables中怎么配置防火墻,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
iptables簡介
iptables是基于內核的防火墻,功能非常強大,iptables內置了filter,nat和mangle三張表。
filter負責過濾數據包,包括的規則鏈有,input,output和forward;
nat則涉及到網絡地址轉換,包括的規則鏈有,prerouting,postrouting和output;
mangle表則主要應用在修改數據包內容上,用來做流量×××的,默認的規則鏈有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;
input匹配目的IP是本機的數據包,forward匹配流經本機的數據包,prerouting用來修改目的地址用來做DNAT,postrouting用來修改源地址用來做SNAT。
iptables主要參數
-A 向規則鏈中添加一條規則,默認被添加到末尾
-T指定要操作的表,默認是filter
-D從規則鏈中刪除規則,可以指定序號或者匹配的規則來刪除
-R進行規則替換
-I插入一條規則,默認被插入到首部
-F清空所選的鏈,重啟后恢復
-N新建用戶自定義的規則鏈
-X刪除用戶自定義的規則鏈
-p用來指定協議可以是tcp,udp,icmp等也可以是數字的協議號,
-s指定源地址
-d指定目的地址
-i進入接口
-o流出接口
-j采取的動作,accept,drop,snat,dnat,masquerade
--sport源端口
--dport目的端口,端口必須和協議一起來配合使用
注意:所有鏈名必須大寫,表明必須小寫,動作必須大寫,匹配必須小寫
iptable配置實例
iptable基本操作
iptables -L 列出iptables規則
iptables -F 清除iptables內置規則
iptables -X 清除iptables自定義規則
設定默認規則
在iptables規則中沒有匹配到規則則使用默認規則進行處理
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
配置SSH規則
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT 如果你把OUTPUT 設置成DROP,就需要加上這個規則,否則SSH還是不能登錄,因為SSH服務只能進不能出。
只允許192.168.0.3的機器進行SSH連接
iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
如果要允許,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.
允許loopback回環通信
IPTABLES -A INPUT -i lo -p all -j ACCEPT
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT
目的地址轉換,映射內部地址
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dprot 81 -j DNAT --to 192.168.0.2:80
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dprot 81 -j DNAT --to 192.168.0.1-192.168.0.10
源地址轉換,隱藏內部地址
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1-1.1.1.10
地址偽裝,動態ip的NAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
masquerade和snat的主要區別在于,snat是把源地址轉換為固定的IP地址或者是地址池,而masquerade在adsl等方式撥號上網時候非常有用,因為是撥號上網所以網卡的外網IP經常變化,這樣在進行地址轉換的時候就要在每次都要修改轉換策略里面的ip,使用masquerade就很好的解決了這個問題,他會自己去探測外網卡獲得的ip地址然后自動進行地址轉換,這樣就算外網獲得的ip經常變化也不用人工干預了。
開啟轉發功能
iptables -A FORWARD -i eth0 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT 只允許已建連接及相關鏈接對內轉發
ptables -A FORWARD -i eth2 -o eh0 -j ACCEPT 允許對外轉發
過濾某個MAC
iptables -A FORWARD -m mac --mac -source MAC地址 -j DROP
報文經過路由后,數據包中原有的MAC信息會被替換,所以在路由后的iptables中使用mac匹配沒有意義。
數據包整流
iptables -A FORWARD -d 192.168.0.1 -m limit --limit 50/s -j ACCEPT
iptables -A FORWARD -d 192.168.0.1 -j DROP
多端口匹配
用以一次匹配多個端口
iptables -A INPUT -p tcp -m muliport --dport s 21,22,25,80,110 -j ACCEPT
丟棄非法連接
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables-A FORWARD -m state --state INVALID -j DROP
存儲于恢復iptables規則
iptables-save > somefile
iptables-restore < somefile
看完上述內容,你們掌握iptables中怎么配置防火墻的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。