有臺ubuntu服務器需要禁止一些IP來訪問,本想使用/etc/hosts.allow和/etc/hosts.deny來做限制,後來還是使用utw搞定了
vi /etc/hosts.allow
ALL:10.0.0.163,10.0.0.162,10.0.0.161
vi /etc/hosts.deny
ALL:ALL
設置好後
/etc/init.d/networking restart
使用一臺10.0.0.151來做測試,telnet ubuntu 22 連不上,telnet ubuntu 80也連不上,使用瀏覽器ubuntu服務器居然可以訪問,各種檢查,沒解決,後來想解決這個需求也有其他辦法,使用utw搞定了
安裝ufw
sudo apt-get install ufw
啓用ufw
sudo ufw enable
阻止所有外部對本機的訪問
sudo ufw default deny
允許所有的外部IP訪問本機的22/tcp (ssh)端口
sudo ufw allow 22/tcp
允許此IP訪問所有的本機端口
sudo ufw allow from 10.0.0.163
sudo ufw allow from 10.0.0.162
sudo ufw allow from 10.0.0.161
查看防火牆狀態
sudo ufw status
刪除上面建立的某條規則
sudo ufw delete allow smtp
防火牆規則文件路徑
/lib/ufw/user.rules
關閉防火牆
sudo ufw disable