温馨提示×

ubuntu iptables怎样限制端口

小樊
39
2026-09-22 03:15:18
栏目: 智能运维

在 Ubuntu 里用 iptables 限制(开放/封锁)端口,常见做法如下:


一、基本语法

iptables -A <链> -p <协议> --dport <端口> -j <动作>

常用参数说明:

  • -A:追加规则(也可以用 -I 插入到最前面)
  • <链>:常用 INPUT(入站)、OUTPUT(出站)
  • -p:协议,如 tcp、udp
  • --dport:目标端口
  • -j:动作
    • ACCEPT:允许
    • DROP:直接丢弃(无回应)
    • REJECT:拒绝并回包

二、常见示例

1️⃣ 禁止外部访问某端口(如 8080)

iptables -A INPUT -p tcp --dport 8080 -j DROP

2️⃣ 只允许某 IP 访问 22 端口(SSH)

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

3️⃣ 开放某端口(如 80)

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

4️⃣ 限制 UDP 端口

iptables -A INPUT -p udp --dport 53 -j DROP

5️⃣ 限制端口连接频率(防爆破)

iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

三、查看与清理规则

查看规则

iptables -L -n -v

删除某条规则(按编号)

iptables -L --line-numbers
iptables -D INPUT 2

清空所有规则(慎用)

iptables -F

四、Ubuntu 重要提醒(必看)

✅ 使用 ufw 更方便(Ubuntu 推荐)

ufw deny 8080
ufw allow 22

✅ 保存 iptables(否则重启失效)

Ubuntu 20.04+:

apt install iptables-persistent
netfilter-persistent save

如果你有具体需求(比如:

  • 只允许内网
  • 限制并发数
  • Docker 环境
  • 云服务器安全组冲突)

可以告诉我,我给你精确规则。

0 踩