Linux端口设置ip白名单

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

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

  1. 首先,确保您已经安装了iptables。在大多数Linux发行版中,iptables通常会作为默认防火墙软件随系统一起安装。
  2. 打开终端,并使用sudo来运行iptables命令。
  3. 添加一个规则,允许特定的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:匹配到规则时,执行的动作是接受这个连接。
  1. 如果您想要允许多个IP地址,只需重复上述命令,为每个IP地址添加一个规则。
  2. 保存iptables规则。在某些系统中,您可能需要运行iptables-save命令来保存规则,而在其他系统上,规则可能会在系统重启时自动保存。
  3. 重启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规则生效。

相关推荐
倔强的石头1061 小时前
openGauss数据库:从CentOS 7.9部署到实战验证
linux·数据库·centos
梁正雄2 小时前
linux服务-Nginx+Tomcat+Redis之Session 共享 - 容器单机版
linux·nginx·tomcat
linchare4 小时前
linux debian上只装mysql的客户端步骤
linux·mysql·debian
卓小帅的博客6 小时前
关于实现远程服务器使用本地网络的清晰简洁的教程
服务器·网络·vscode·连接超时
阿珊和她的猫6 小时前
HTTP 状态码 404:深入解析与实践应对
网络·网络协议·http
百***75746 小时前
linux上redis升级
linux·运维·redis
半个西瓜.7 小时前
车联网NFC测试:NFC信号嗅探测试.
网络·安全·网络安全·车载系统
顾安r7 小时前
11.22 脚本打包APP 排错指南
linux·服务器·开发语言·前端·flask
Neur0toxin7 小时前
入侵排查_2025/11/23
linux·windows·应急响应
小小编程能手7 小时前
Linux文件编程
linux·运维·服务器