一、 Linux 22端口设置ip白名单
在Linux系统中,如果您想要限制只有特定的IP地址能够访问端口22(通常是SSH服务的端口),您可以使用iptables
防火墙来实现。以下是一个基本的示例,展示了如何设置端口22的IP白名单:
- 首先,确保您已经安装了
iptables
。在大多数Linux发行版中,iptables
通常会作为默认防火墙软件随系统一起安装。 - 打开终端,并使用
sudo
来运行iptables
命令。 - 添加一个规则,允许特定的IP地址访问端口22。例如,如果您想要允许IP地址192.168.1.100访问端口22,您可以使用以下命令:
sh
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,如果尚未安装,可以使用以下命令安装:
bash
sudo apt update
sudo apt install iptables
清除当前的iptables规则(可选,但建议在进行规则更改前这么做):
bash
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端口:
bash
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规则,使其在重启后生效:
bash
sudo netfilter-persistent save
sudo netfilter-persistent reload
请注意,这些命令需要以root权限或使用sudo执行。如果您不希望在系统重启后丢失规则,应确保iptables-persistent服务已安装并设置为在启动时运行。
三、Linux解除22端口黑名单操作
sudo iptables -A INPUT -p tcp --dport 22 -j DROP,如何解除这个操作?
如果您不小心添加了以下规则:
sh
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
这会阻止所有到端口22(SSH)的TCP连接。要解除这个操作,您需要删除这个规则。可以使用以下命令:
sh
sudo iptables -D INPUT -p tcp --dport 22 -j DROP
这条命令会从INPUT
链中删除之前添加的规则。记得在删除规则后检查iptables
规则以确保您的设置正确。可以使用以下命令来检查iptables
规则:
sh
sudo iptables -L -n -v
确保DROP
规则已经被移除,并且没有其他阻止端口22的规则。如果您的目标是允许SSH连接,您可能还需要添加一个接受到端口22的TCP连接的规则:
sh
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
添加这个规则后,SSH连接应该会被允许。记得应用更改:
sh
sudo iptables-save
sudo systemctl restart netfilter-persistent
这将保存更改并重启netfilter-persistent
服务,以确保iptables
规则生效。