Linux端口设置ip白名单

立昂 2024-08-10 17:37:01 阅读 60

一、 Linux 22端口设置ip白名单

在Linux系统中,如果您想要限制只有特定的IP地址能够访问端口22(通常是SSH服务的端口),您可以使用<code>iptables防火墙来实现。以下是一个基本的示例,展示了如何设置端口22的IP白名单:

首先,确保您已经安装了iptables。在大多数Linux发行版中,iptables通常会作为默认防火墙软件随系统一起安装。打开终端,并使用sudo来运行iptables命令。添加一个规则,允许特定的IP地址访问端口22。例如,如果您想要允许IP地址192.168.1.100访问端口22,您可以使用以下命令:

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

这个命令的含义是:

sudo iptables:运行iptables命令,需要使用sudo以获得必要的权限。-A INPUT:向INPUT链添加一个规则。-s 192.168.1.100:指定源IP地址为192.168.1.100。-p tcp:指定协议为TCP。--dport 22:指定目标端口为22。-j ACCEPT:匹配到规则时,执行的动作是接受这个连接。

如果您想要允许多个IP地址,只需重复上述命令,为每个IP地址添加一个规则。保存iptables规则。在某些系统中,您可能需要运行iptables-save命令来保存规则,而在其他系统上,规则可能会在系统重启时自动保存。重启iptables服务,以确保规则生效。这可以通过运行systemctl restart iptables(如果iptables是由systemd管理的)或重新启动计算机来实现。

请注意,iptables是一个强大的工具,它可以进行复杂的网络配置。在实际应用中,您应该根据实际情况调整规则,并确保您理解每个命令的作用。此外,始终确保在允许任何连接之前,您已经考虑了安全性和可能的攻击风险。

二、ubuntu 22端口设置ip白名单

在Ubuntu系统中,您可以使用iptables来设置22端口的IP白名单。以下是设置步骤和示例代码:

首先,您需要安装iptables,如果尚未安装,可以使用以下命令安装:

sudo apt update

sudo apt install iptables

清除当前的iptables规则(可选,但建议在进行规则更改前这么做):

sudo iptables -F

sudo iptables -X

sudo iptables -t nat -F

sudo iptables -t nat -X

sudo iptables -t mangle -F

sudo iptables -t mangle -X

sudo iptables -P INPUT ACCEPT

sudo iptables -P FORWARD ACCEPT

sudo iptables -P OUTPUT ACCEPT

设置白名单规则,只允许指定IP访问22端口:

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

sudo iptables -A INPUT -p tcp --dport 22 -j DROP #将其他ip设置为黑名单

将YOUR_IP_ADDRESS替换为您希望允许访问22端口的IP地址。您可以添加多个IP地址,为每个IP地址重复执行第二条规则。

保存iptables规则,使其在重启后生效:

sudo netfilter-persistent save

sudo netfilter-persistent reload

请注意,这些命令需要以root权限或使用sudo执行。如果您不希望在系统重启后丢失规则,应确保iptables-persistent服务已安装并设置为在启动时运行。

三、Linux解除22端口黑名单操作

sudo iptables -A INPUT -p tcp --dport 22 -j DROP,如何解除这个操作?

如果您不小心添加了以下规则:

sudo iptables -A INPUT -p tcp --dport 22 -j DROP

这会阻止所有到端口22(SSH)的TCP连接。要解除这个操作,您需要删除这个规则。可以使用以下命令:

sudo iptables -D INPUT -p tcp --dport 22 -j DROP

这条命令会从INPUT链中删除之前添加的规则。记得在删除规则后检查iptables规则以确保您的设置正确。可以使用以下命令来检查iptables规则:

sudo iptables -L -n -v

确保DROP规则已经被移除,并且没有其他阻止端口22的规则。如果您的目标是允许SSH连接,您可能还需要添加一个接受到端口22的TCP连接的规则:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

添加这个规则后,SSH连接应该会被允许。记得应用更改:

sudo iptables-save

sudo systemctl restart netfilter-persistent

这将保存更改并重启netfilter-persistent服务,以确保iptables规则生效。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。