我有一台具有 root 访问权限的服务器,我为 ssh 打开了 4022 端口,之前它运行得很好,今天我尝试通过 ssh 连接到我的服务器,但什么也没发生,所以我通过 nmap 检查了一下,它显示 4022 已被过滤,那么我该如何再次打开它呢?
我测试了这个,
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 4022 -j ACCEPT
但它又不起作用了?!
答案1
通常情况下,INPUT 链中的最后一条规则是无条件拒绝或丢弃数据包的规则。当您使用-A
它时,规则会被添加到链的末尾。这通常意味着它会被忽略,因为有一个更早的规则与之匹配和具有终止目标 - 此时规则处理停止。
尝试将规则插入到链的开头
/sbin/iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 4022 -j ACCEPT