Ubuntu使用iptables设置禁止某个IP访问,重启防火墙生效一直报下面的错误
iptables: unrecognized service
百度了下说Ubuntu不支持iptablses,可以使用简单的UFW防火墙来禁止ip访问
启用ufw
sudo ufw enable
如果没有安装,可以先安装
sudo apt-get install ufw
关闭防火墙
sudo ufw disable
一、拦截特定IP地址
语法:
sudo ufw deny from {ip-address-here} to any
为拦截或拒绝来自192.168.1.5的所有数据包,可以输入:
sudo ufw deny from 192.168.1.5 to any
显示包含已设规则的防火墙状态
为验证新添加的规则,输入:
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
这个编号,可以用来删除,解除某个ip的访问限制
或
sudo ufw status
二、如何删除被拦截的IP地址或再次放行特定P地址
语法是:
sudo ufw status numbered
sudo ufw delete NUM
删除编号为4的规则,输入:
sudo ufw delete 4
输出示例:
Deleting:
deny from 202.54.1.5 to any port 80
Proceed with operation (y|n)? yRule deleted
三、允许此IP访问所有的本机端口
sudo ufw allow from 192.168.1.1
保存并关闭文件。最后,让防火墙重新加载配置信息:
sudo ufw reload