跳到主要内容

请用Iptables写出只允许10.1.8.179 访问本服务器的22端口 ?

参考答案:

要使用iptables来允许特定IP地址(例如10.1.8.179)访问服务器的22端口(通常用于SSH),你可以使用以下命令:

sudo iptables -A INPUT -p tcp -s 10.1.8.179 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

解释:

  1. 第一条命令添加了一个规则到INPUT链,该规则允许来自IP地址10.1.8.179的TCP流量通过22端口。-p tcp指定了协议类型,-s 10.1.8.179指定了源IP地址,--dport 22指定了目标端口,-j ACCEPT表示接受该流量。
  2. 第二条命令添加了一个规则,用于拒绝所有其他尝试访问22端口的TCP流量。这确保了只有10.1.8.179能够访问该端口。

请注意,这些规则是临时的,并且会在系统重启后丢失。如果你希望规则在重启后仍然有效,你需要将它们保存到防火墙的配置文件中,这通常涉及到使用iptables-saveiptables-restore命令,或者根据你的Linux发行版使用相应的服务(如netfilter-persistentfirewalld)。

此外,你还应该确保iptables服务正在运行,并且已经设置为在系统启动时自动启动。你可以使用systemctl命令来管理该服务(例如sudo systemctl start iptables启动服务,sudo systemctl enable iptables设置为开机启动)。

最后,请注意,在配置防火墙规则时要小心,因为错误的规则可能会导致你无法远程访问服务器。在添加新规则之前,最好先备份当前的防火墙配置。