Linux 添加白名单(限制其他ip地址访问)

这里使用 iptables ,所以需要安装iptablesiptables-services,为了方便写了如下shell, 确保网络通畅,直接执行以下shell即可。

执行:add_iptable.sh 脚本:

#!/usr/bin/bash
echo "============ 请使用超级权限/sudo 执行 =============="
sleep 1
sudo yum -y install iptables iptables-services
cat > /etc/sysconfig/iptables <<"EOF"
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-N whitelist
-N whitelist -s 192.168.110.110 -j ACCEPT
-N whitelist -s 192.168.110.111 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j DROP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5050 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5050 -j DROP
-A INPUT -j ACCEPT
COMMIT
EOF
sudo iptables-save
sudo systemctl enable iptables
sudo systemctl start iptables
sudo service iptables status

效果:只允许192.168.110.110,192.168.110.111这两个IP地址 能访问5000,5050端口服务。

如上shell脚本命令详解:

-N whitelist              # 定义白名单变量名
-A whitelist -s 192.168.11.0.11 -j ACCEPT # 设置白名单ip段,ACCEPT(放行)

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5050 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5050 -j DROP
这两行,由于执行了第一行添加了白名单,故不会执行第二行删除。

其他实现 https://blog.csdn.net/u012954706/article/details/80806518

Logo

更多推荐