掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
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ù)安全。

創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比肇慶網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式肇慶網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋肇慶地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。
使用下面幾個(gè)命令可以清空iptables表:
# 使用-t選項(xiàng)選擇哪個(gè)表,表有filter, nat , mangle三個(gè)表
iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z
-F清空所有鏈的規(guī)則,-X刪除自定義的鏈,-Z清空數(shù)據(jù)包流量。
默認(rèn)鏈策略是ACCEPT。對(duì)于所有INPUT,F(xiàn)ORWARD和OUTPUT鏈,將其更改為DROP,如下所示:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARDING DROP
將INPUT和OUTPUT鏈的默認(rèn)策略都設(shè)置為DROP時(shí),對(duì)每個(gè)防火墻規(guī)則要求,都應(yīng)定義兩個(gè)規(guī)則,一個(gè)用于INPUT,一個(gè)用于OUTPUT。
如果信任內(nèi)部用戶,則可以省略上面的OUTPUT。即默認(rèn)情況下不丟棄所有OUTPUT數(shù)據(jù)包。在這種情況下,對(duì)于擁有的每個(gè)防火墻規(guī)則要求,只需定義一個(gè)規(guī)則即可。即只為INPUT定義規(guī)則,因?yàn)樗袛?shù)據(jù)包的傳出都是ACCEPT。
BLOCK_THIS_IP="x.x.x.x" iptables -A INPUT -s "$BLOCK_THIS_IP" -j DROP
或者
iptables -A INPUT -i ens160 -s "$BLOCK_THIS_IP" -j DROP
或者 iptables -A INPUT -i ens160 -p tcp -s "$BLOCK_THIS_IP" -j DROP
定義一個(gè)變量,值寫(xiě)入要阻止的ip地址。上面第一條規(guī)則的意思是從某個(gè)ip進(jìn)入的流量拒絕掉。第二條規(guī)則是阻止某個(gè)ip地址從eth0進(jìn)入的流量。第三條規(guī)則指的是拒絕某個(gè)ip地址從eth0進(jìn)入訪問(wèn)tcp協(xié)議的流量。
以下規(guī)則允許ens160接口上的所有傳入的ssh連接。
iptables -A INPUT -i ens160 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ens160 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
下面是允許指定網(wǎng)段的ip地址連接本機(jī)的ssh服務(wù):
iptables -A INPUT -i ens160 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ens160 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
以下規(guī)則允許傳出ssh連接。當(dāng)從內(nèi)部ssh連接到外部服務(wù)器時(shí)可以使用:
iptables -A OUTPUT -o ens160 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ens160 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
下面使用multiport模塊,可以減少寫(xiě)入規(guī)則條數(shù)。下面實(shí)例允許外部訪問(wèn)本機(jī)的http,https服務(wù)。
iptables -A INPUT -i ens160 -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ens160 -p tcp -m multiport --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
下面命令允許本機(jī)訪問(wèn)外面的http,https服務(wù):
iptables -A OUTPUT -o ens160 -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ens160 -p tcp -m multiport --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
以下規(guī)則允許外部用戶能夠ping你的服務(wù)器:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
以下規(guī)則允許從內(nèi)部ping到任何外部服務(wù)器:
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
下面規(guī)則將幫助你預(yù)防Web服務(wù)器上的拒絕服務(wù)(DoS)攻擊:
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流