除IP地址外,iptables阻止对端口8000的访问
我从来没有使用iptables,在线文档似乎有点不透明。
我想阻止所有请求到我的服务器端口8000,除了那些来自特定的IP地址。 我如何使用iptables做到这一点?
这个问题应该在服务器故障 。 尽pipe如此,下面应该做的伎俩,假设你在谈论TCP和你想要允许的IP是1.2.3.4:
iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT iptables -A INPUT -p tcp --dport 8000 -j DROP
另一种select是;
sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP
我有类似的问题,3桥式虚拟机只需要访问不同组合的海誓山盟,所以我testing了这个命令,它运作良好。
编辑**
根据费尔南多评论和这个链接感叹号(
!
)将被放置之前比-s
参数:
sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
你总是可以使用iptables来删除规则。 如果您有很多规则,请使用以下命令输出它们。
iptables-save > myfile
vi
从标记行编辑它们。 只需使用“dd”删除不再需要的行。
iptables-load < myfile and you're good to go.
请记住,如果您没有configuration您的操作系统来保存规则到一个文件,然后加载文件,在您的规则将失去的文件。