使用UFW防火墻攔截特定IP地址
UFW(Uncomplicated Firewall)是一個(gè)iptables的前端應(yīng)用程序,尤其適合作為單臺(tái)服務(wù)器或主機(jī)的防火墻。它已成為Ubuntu Linux系統(tǒng)默認(rèn)的防火墻配置工具。對(duì)于系統(tǒng)管理員來(lái)講,UFW工具真是簡(jiǎn)單易用。它是一種創(chuàng)建基于IPv4或IPv6防火墻的快捷方法。
一、攔截特定IP地址
語(yǔ)法:
sudo ufw deny from {ip-address-here} to any
為攔截或拒絕來(lái)自192.168.1.5的所有數(shù)據(jù)包,可以輸入:
sudo ufw deny from 192.168.1.5 to any
顯示包含已設(shè)規(guī)則的防火墻狀態(tài)
為驗(yàn)證新添加的規(guī)則,輸入:
sudo ufw status numbered
或
sudo ufw status
二、攔截特定IP及端口
語(yǔ)法是:
ufw deny from {ip-address-here} to any port {port-number-here}
為阻斷或拒絕IP地址202.54.1.5訪(fǎng)問(wèn)80端口的請(qǐng)求
sudo ufw deny from 202.54.1.5 to any port 80
再次使用如下命令進(jìn)行驗(yàn)證:
sudo ufw status numbered
輸出示例:
Status: active To Action From -- ------ ---- [ 1] 192.168.1.10 80/tcp ALLOW Anywhere [ 2] 192.168.1.10 22/tcp ALLOW Anywhere [ 3] Anywhere DENY 192.168.1.5 [ 4] 80 DENY IN 202.54.1.5
三、攔截特定IP、端口以及協(xié)議
語(yǔ)法是:
sudo ufw deny proto {tcp|udp} from {ip-address-here} to any port {port-number-here}
例如,阻斷黑客IP地址202.54.1.1訪(fǎng)問(wèn)tcp 22端口(FTP協(xié)議),可以輸入:
sudo ufw deny proto tcp from 202.54.1.1 to any port 22 sudo ufw status numbered
UFW攔截子網(wǎng)
語(yǔ)法是類(lèi)似的:
sudo ufw deny proto tcp from sub/net to any port 22 sudo ufw deny proto tcp from 202.54.1.0/24 to any port 22
四、如何刪除被攔截的IP地址或再次放行特定P地址
語(yǔ)法是:
sudo ufw status numbered sudo ufw delete NUM
刪除編號(hào)為4的規(guī)則,輸入:
sudo ufw delete 4
輸出示例:
Deleting: deny from 202.54.1.5 to any port 80 Proceed with operation (y|n)? yRule deleted
五、技巧:UFW放行某個(gè)IP
UFW(iptables)規(guī)則的匹配基于規(guī)則出現(xiàn)的順序,一旦匹配某個(gè)規(guī)則,檢查便會(huì)停止。因此,如果某個(gè)規(guī)則允許訪(fǎng)問(wèn)TCP端口22(如使用udo ufw allow 22),后面另一個(gè)規(guī)則指示攔截某個(gè)IP地址(如使用 ufw deny proto tcp from 202.54.1.1 to any port 22)。最終,允許訪(fǎng)問(wèn)TCP端口22的規(guī)則會(huì)被使用,而后一個(gè)攔截黑客IP地址 202.54.1.1 卻沒(méi)有被使用。這都是由于規(guī)則的順序造成的。為避免這類(lèi)問(wèn)題,你需要編輯 /etc/ufw/before.rules文件,在“# End required lines”之后"Block an IP Address"添加規(guī)則。
sudo vi /etc/ufw/before.rules
查找如下所示的行:
# End required lines
添加規(guī)則來(lái)攔截黑客或垃圾信息傳播者:
# Block spammers
-A ufw-before-input -s 178.137.80.191 -j DROP
# Block ip/net (subnet)
-A ufw-before-input -s 202.54.1.0/24 -j DROP
保存并關(guān)閉文件。***,讓防火墻重新加載配置信息:
sudo ufw reload






















