如何解除Ubuntu Server 22.04对我的IP的封禁?
如何解除Ubuntu Server 22.04对我的IP的封禁?
看起来你在删除iptables封禁规则时踩了个小坑——找错规则所在的链啦!先帮你梳理下问题:
从你提供的iptables -L -v输出能看到,封禁你IP的规则不在INPUT链里,而是在自定义的DENYIN链中,这就是你之前操作INPUT链一直失败的原因。
正确的删除方法有两种:
方法一:匹配完整规则参数删除
原规则的完整条件是:禁止来自sylnat-27.147.226.250.link3.net的流量(入站接口不是回环lo),所以删除命令要完全匹配这些参数:
iptables -D DENYIN -s sylnat-27.147.226.250.link3.net -i !lo -j DROP
如果用域名解析有问题(就是你之前遇到的“host/network not found”报错),也可以换成IP地址,命令改成:
iptables -D DENYIN -s 27.147.226.250 -i !lo -j DROP
方法二:通过规则编号删除(更省心)
如果记不住完整规则参数,可以先查看DENYIN链的规则编号:
iptables -nL DENYIN --line-numbers
执行后会输出类似这样的内容(比如那条DROP规则是第1条):
Chain DENYIN (1 references)
num pkts bytes target prot opt in out source destination
1 276 14576 DROP all -- !lo any 27.147.226.250 anywhere
然后直接用编号删除:
iptables -D DENYIN 1
为啥你之前的命令失败?
- 第一次用域名操作INPUT链:一是规则不在INPUT链,二是可能系统无法解析这个域名,导致报错“host/network not found”;
- 第二次用IP操作INPUT链:同样因为规则根本不在INPUT链里,所以iptables提示“Bad rule (does a matching rule exist in that chain?)”。
另外,如果你还需要解除出站的封禁(就是DENYOUT链里的规则),用同样的方法针对DENYOUT链操作就可以啦。
备注:内容来源于stack exchange,提问作者Tofazzal haque
相关产品推荐
相关产品推荐

