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规则生效。

相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
崔小汤呀5 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应5 天前
vi编辑器使用
linux·后端·操作系统