新聞中心
iptables是組成Linux平臺(tái)下的包過(guò)濾防火墻,與大多數(shù)的Linux軟件一樣,這個(gè)包過(guò)濾防火墻是免費(fèi)的,它可以代替昂貴的商業(yè)防火墻解決方案,完成封包過(guò)濾、封包重定向和網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等功能。在日常Linux運(yùn)維工作中,經(jīng)常會(huì)設(shè)置iptables防火墻規(guī)則,用來(lái)加固服務(wù)安全

10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有周村免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、啟動(dòng)、停止和重啟IPTables
雖然 IPTables 并不是一項(xiàng)服務(wù),但在 Linux 中還是可以像服務(wù)一樣對(duì)其狀態(tài)進(jìn)行管理。
基于SystemD的系統(tǒng)
systemctl start iptables
systemctl stop iptables
systemctl restart iptables
基于SysVinit的系統(tǒng)
/etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart
2、查看IPtables防火墻策略
你可以使用如下命令來(lái)查看 IPtables 防火墻策略:
iptables -L -n -v
以上命令應(yīng)該返回?cái)?shù)據(jù)下圖的輸出:
以上命令是查看默認(rèn)的 FILTER 表,如果你只希望查看特定的表,可以在 -t 參數(shù)后跟上要單獨(dú)查看的表名。例如只查看 NAT 表中的規(guī)則,可以使用如下命令:
iptables -t nat -L -v –n
3、屏蔽某個(gè)IP地址
如果你發(fā)布有某個(gè) IP 向服務(wù)器導(dǎo)入攻擊或非正常流量,可以使用如下規(guī)則屏蔽其 IP 地址:
iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
注意需要將上述的 XXX 改成要屏蔽的實(shí)際 IP 地址,其中的 -A 參數(shù)表示在 INPUT 鏈的最后追加本條規(guī)則。(IPTables 中的規(guī)則是從上到下匹配的,一旦匹配成功就不再繼續(xù)往下匹配)
如果你只想屏蔽 TCP 流量,可以使用 -p 參數(shù)的指定協(xié)議,例如:
iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP
4、解封某個(gè)IP地址
要解封對(duì) IP 地址的屏蔽,可以使用如下命令進(jìn)行刪除:
iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
其中 -D 參數(shù)表示從鏈中刪除一條或多條規(guī)則。
5、使用IPtables關(guān)閉特定端口
很多時(shí)候,我們需要阻止某個(gè)特定端口的網(wǎng)絡(luò)連接,可以使用 IPtables 關(guān)閉特定端口。
阻止特定的傳出連接:
iptables -A OUTPUT -p tcp --dport xxx -j DROP
阻止特定的傳入連接:
iptables -A INPUT -p tcp --dport xxx -j ACCEPT
6、使用Multiport控制多端口
使用 multiport 我們可以一次性在單條規(guī)則中寫入多個(gè)端口,例如:
iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -j ACCEPT
7、在規(guī)則中使用 IP 地址范圍
在 IPtables 中 IP 地址范圍是可以直接使用 CIDR 進(jìn)行表示的,例如:
iptables -A OUTPUT -p tcp -d 192.168.100.0/24 --dport 22 -j ACCEPT
8、配置端口轉(zhuǎn)發(fā)
有時(shí)我們需要將 Linux 服務(wù)器的某個(gè)服務(wù)流量轉(zhuǎn)發(fā)到另一端口,此時(shí)可以使用如下命令:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
上述命令會(huì)將所有到達(dá) eth0 網(wǎng)卡 25 端口的流量重定向轉(zhuǎn)發(fā)到 2525 端口。
9、屏蔽HTTP服務(wù)Flood攻擊
有時(shí)會(huì)有用戶在某個(gè)服務(wù),例如 HTTP 80 上發(fā)起大量連接請(qǐng)求,此時(shí)我們可以啟用如下規(guī)則:
iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT
上述命令會(huì)將連接限制到每分鐘 100 個(gè),上限設(shè)定為 200。
10、禁止PING
對(duì) Linux 禁 PING 可以使用如下規(guī)則屏蔽 ICMP 傳入連接:
iptables -A INPUT -p icmp -i eth0 -j DROP
11、允許訪問(wèn)回環(huán)網(wǎng)卡
環(huán)回訪問(wèn)(127.0.0.1)是比較重要的,建議大家都開放:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
12、屏蔽指定MAC地址
使用如下規(guī)則可以屏蔽指定的 MAC 地址:
iptables -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP
13、限制并發(fā)連接數(shù)
如果你不希望來(lái)自特定端口的過(guò)多并發(fā)連接,可以使用如下規(guī)則:
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
以上規(guī)則限制每客戶端不超過(guò) 3 個(gè)連接。
14、清空IPtables規(guī)則
要清空 IPtables 鏈可以使用如下命令:
iptables -F
要清空特定的表可以使用 -t 參數(shù)進(jìn)行指定,例如:
iptables -t nat –F
15、保存IPtables規(guī)則
默認(rèn)情況下,管理員對(duì) IPtables 規(guī)則的操作會(huì)立即生效。但由于規(guī)則都是保存在內(nèi)存當(dāng)中的,所以重啟系統(tǒng)會(huì)造成配置丟失,要永久保存 IPtables 規(guī)則可以使用 iptables-save 命令:
iptables-save > ~/iptables.rules
保存的名稱大家可以自己改。
16、還原IPtables規(guī)則
有保存自然就對(duì)應(yīng)有還原,大家可以使用 iptables-restore 命令還原已保存的規(guī)則:
iptables-restore
17、允許建立相關(guān)連接
隨著網(wǎng)絡(luò)流量的進(jìn)出分離,要允許建立傳入相關(guān)連接,可以使用如下規(guī)則:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
允許建立傳出相關(guān)連接的規(guī)則:
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
18、丟棄無(wú)效數(shù)據(jù)包
很多網(wǎng)絡(luò)攻擊都會(huì)嘗試用黑客自定義的非法數(shù)據(jù)包進(jìn)行嘗試,我們可以使用如下命令來(lái)丟棄無(wú)效數(shù)據(jù)包:
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
19、IPtables屏蔽郵件發(fā)送規(guī)則
如果你的系統(tǒng)不會(huì)用于郵件發(fā)送,我們可以在規(guī)則中屏蔽 SMTP 傳出端口:
iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT
20、阻止連接到某塊網(wǎng)卡
如果你的系統(tǒng)有多塊網(wǎng)卡,我們可以限制 IP 范圍訪問(wèn)某塊網(wǎng)卡:
iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j DROP
源地址可以是 IP 或 CIDR。
分享文章:詳解IPTables防火墻使用實(shí)例
文章起源:http://m.5511xx.com/article/cccdhog.html


咨詢
建站咨詢
