温馨提示×

ubuntu防火墙怎么限ip

小樊
52
2026-10-07 13:51:08
栏目: 智能运维

在 Ubuntu 上限制 IP(只允许/拒绝某些 IP 访问),常见有 UFW(推荐) 和 iptables 两种方式。下面按常用场景说明。


一、使用 UFW(最简单,Ubuntu 默认自带)

1. 开启 UFW

sudo ufw enable

2. 允许指定 IP 访问所有端口

sudo ufw allow from 192.168.1.100

3. 只允许某 IP 访问某端口(如 22)

sudo ufw allow from 192.168.1.100 to any port 22

4. 拒绝某 IP

sudo ufw deny from 192.168.1.200

5. 只允许某网段

sudo ufw allow from 192.168.1.0/24

6. 查看规则

sudo ufw status numbered

7. 删除规则

sudo ufw delete [编号]

✅ 推荐做法:
先 allow from 信任IP,再 deny from 其他IP 或默认拒绝:

sudo ufw default deny incoming

二、使用 iptables(更底层、更灵活)

1. 只允许某 IP 访问 22 端口

sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

2. 封禁某 IP

sudo iptables -A INPUT -s 192.168.1.200 -j DROP

3. 保存规则(Ubuntu)

sudo apt install iptables-persistent
sudo netfilter-persistent save

三、只限制某个服务(如 Nginx / SSH)

SSH(/etc/ssh/sshd_config)

AllowUsers root@192.168.1.100

然后:

sudo systemctl restart ssh

Nginx

location / {
    allow 192.168.1.100;
    deny all;
}

四、常见建议

  • 服务器建议:默认拒绝 + 白名单 IP
  • 云服务器注意:安全组 + UFW 双重限制
  • 改 SSH 端口 + 限 IP 更安全

如果你告诉我:

  • Ubuntu 版本
  • 要限制 哪个端口 / 哪个服务
  • 是 允许白名单 还是 封禁黑名单

我可以直接帮你写完整命令。

0 踩