2016 - 2024

感恩一路有你

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

浏览量:3329 时间:2024-03-14 22:57:51 作者:采采

测试环境介绍

在本示例中,我们有一台名为S的服务器,其IP地址为192.168.3.3,SSH服务端口为22。另外,还有外部网络客户机A,IP地址为192.168.3.2,以及内部网络客户机B,IP地址为192.168.3.5。最初,A和B两台机器都可以通过SSH登录服务器S。

添加iptables规则限制所有客户机访问

首先,在服务器S上添加iptables规则,禁止所有客户机访问SSH服务端口22。

```bash

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

```

此时,无论是客户机A还是B,都无法访问SSH服务,说明所有IP都不能连接到SSH服务的22端口。

指定允许访问的IP地址

接着,我们再添加iptables规则,指定允许访问的IP地址。在这里,我们指定允许内部网络的B客户机(IP: 192.168.3.5)访问。

```bash

iptables -I INPUT -s 192.168.3.5 -p tcp --dport 22 -j ACCEPT

```

现在,用A和B两台机器访问服务器S,会发现外部网络的A机器依然无法访问,而内部网络的B机器可以正常访问。同时,我们也可以查询到当前的iptables规则。

保存并生效设置

设置成功后,需要保存iptables规则。

```bash

service iptables save

```

最后,重新启动iptables服务,使设置永久生效。

```bash

service iptables restart

```

通过以上步骤,我们成功地使用iptables限制了外部网络对SSH服务端口的访问,只允许内部网络的特定IP访问。这样可以提高服务器的安全性,防止未经授权的访问和攻击。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。