第一步:确认系统版本和默认防火墙
先执行以下命令查看系统类型,确定该用哪种防火墙工具:
# 查看系统版本 cat /etc/os-release # 查看是否安装 ufw(debian/ubuntu 标配) ufw status
第二步:不同系统的 ip 白名单配置方案
方案 1:debian/ubuntu 系统(使用 ufw 配置)
以仅允许你的 ip(如 123.123.123.123)访问 ssh 22 端口为例:
# 1. 先启用 ufw(首次启用会拒绝所有入站,先配置规则再启用更安全) ufw enable # 2. 拒绝所有默认入站流量(强化安全) ufw default deny incoming ufw default allow outgoing # 3. 添加 ip 白名单,允许指定 ip 访问 22 端口 ufw allow from 123.123.123.123/32 to any port 22 proto tcp # 4. (可选)若需开放 80/443 端口给指定 ip ufw allow from 123.123.123.123/32 to any port 80 proto tcp ufw allow from 123.123.123.123/32 to any port 443 proto tcp # 5. 查看规则是否生效 ufw status verbose
方案 2:所有 linux 通用(使用 iptables 配置)
如果你的系统既没有 firewalld 也没有 ufw,可以直接用 iptables(所有 linux 都预装)配置:
# 1. 先清空现有规则(避免冲突) iptables -f # 2. 设置默认策略:拒绝所有入站,允许出站 iptables -p input drop iptables -p output accept iptables -p forward drop # 3. 允许本地回环接口(必加,否则系统内部通信异常) iptables -a input -i lo -j accept # 4. 允许已建立的连接(如服务器主动发起的请求回应) iptables -a input -m state --state established,related -j accept # 5. 添加 ip 白名单,允许 123.123.123.123 访问 22 端口 iptables -a input -s 123.123.123.123/32 -p tcp --dport 22 -j accept # 6. (可选)保存规则(重启服务器不丢失) # debian/ubuntu iptables-save > /etc/iptables/rules.v4 # centos/rhel iptables-save > /etc/sysconfig/iptables # 7. 查看规则 iptables -l -n
第三步:验证配置是否生效
# ufw 验证 ufw status # iptables 验证 iptables -l input -n --line-numbers
注意事项(避免配置后无法登录)
- 操作前务必确认本地公网 ip 正确:如果配置后无法 ssh 登录,可通过云服务商控制台的「vnc 登录」进入服务器修改规则。
- 不要直接远程清空所有规则:先添加白名单,再设置默认拒绝,避免锁死自己。
- iptables 规则默认重启失效:需安装
iptables-persistent保存规则(debian/ubuntu):
apt install iptables-persistent -y
总结
firewalld未找到是因为系统版本适配问题:debian/ubuntu 用ufw,所有系统通用iptables。- 配置核心逻辑是「先允许指定 ip+端口,再拒绝所有未授权流量」,遵循最小权限原则。
- 云安全组 + 系统防火墙双重配置,能最大程度保障服务器端口访问安全。
到此这篇关于linux系统添加ip白名单的流程步骤的文章就介绍到这了,更多相关linux添加ip白名单内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论