如何使用iptables限制SSH端口被外部访问

2026-04-15 22:53:56

1、首先,说一下测试环境。

服务器S的ip地址:192.168.3.3 (ssh服务22端口开放),以下简称S

客户机A的ip地址:192.168.3.2 (代表外部网络的客户机),以下简称A

客户机B的ip地址:192.168.3.5 (代表内部网络的客户机),以下简称B

最初,A、B两台机子都可以ssh登录S服务器。

如何使用iptables限制SSH端口被外部访问

如何使用iptables限制SSH端口被外部访问

2、然后,在S服务器上添加iptables规则,禁止所有客户机访问。

iptables -I INPUT -p tcp --dport 22 -j DROP

如何使用iptables限制SSH端口被外部访问

3、此时,再用A、B两台客户机访问,已经不能访问了。说明所有ip都不能连接SSH服务的22端口了。

如何使用iptables限制SSH端口被外部访问

如何使用iptables限制SSH端口被外部访问

4、此时,再添加iptables规则,指定允许访问的ip地址即可。这里指定B客户机192.168.3.5来允许访问(代表内网可以访问)。

iptables -I INPUT -s 192.168.3.5 -ptcp --dport 22 -j ACCEPT

如何使用iptables限制SSH端口被外部访问

5、这时候,再次用A、B两台机器访问S服务器,就会发现(代表外部网络)A机器依然不能访问,B机器(代表内部网络)可以正常访问了。而且可以查询到现在的iptables规则。

如何使用iptables限制SSH端口被外部访问

6、这样就设置成功了,需要保存iptables规则

service iptables save

最后,重启一下iptables服务,就可以永久生效了。

service iptables restart

如何使用iptables限制SSH端口被外部访问

猜你喜欢