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

相关推荐
liulilittle33 分钟前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
tan77º1 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
czhc11400756631 小时前
Linux 76 rsync
linux·运维·python
小白爱电脑2 小时前
光纤的最小弯曲半径是多少?
网络
蓝易云2 小时前
Qt框架中connect()方法的ConnectionType参数使用说明 点击改变文章字体大小
linux·前端·后端
花落已飘3 小时前
多线程 vs 异步
linux·网络·系统架构
PanZonghui3 小时前
Centos项目部署之Nginx部署项目
linux·nginx
码出钞能力4 小时前
linux内核模块的查看
linux·运维·服务器
星辰云-4 小时前
# Linux Centos系统硬盘分区扩容
linux·运维·centos·磁盘扩容
聽雨2375 小时前
02每日简报20250704
linux·科技·金融·生活·社交电子·娱乐·媒体