温馨提示×

iptables怎么禁止端口

小樊
46
2026-07-11 21:57:45
栏目: 编程语言

在 Linux 中,使用 iptables 禁止(屏蔽)某个端口,常见做法如下。


一、禁止本机入站端口(最常用)

例如:禁止外部访问本机的 8080 端口(TCP)

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

含义:

  • -A INPUT:在 INPUT 链追加规则
  • -p tcp:TCP 协议
  • --dport 8080:目标端口 8080
  • -j DROP:直接丢弃数据包(不回应)

如果你希望明确拒绝并返回错误(客户端会知道端口不可达):

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

二、禁止 UDP 端口

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

三、禁止指定 IP 访问某个端口

例如:禁止 192.168.1.100 访问本机 22 端口

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

四、禁止本机访问外部端口(出站)

例如:禁止本机访问外部的 80 端口

iptables -A OUTPUT -p tcp --dport 80 -j DROP

五、禁止端口范围

例如:禁止 8000–9000 端口

iptables -A INPUT -p tcp --dport 8000:9000 -j DROP

六、查看当前规则

iptables -L -n -v

查看指定表(如 filter 表是默认):

iptables -L INPUT -n -v

七、删除规则

按编号删除(推荐)

  1. 查看规则编号:
iptables -L INPUT --line-numbers
  1. 删除第 N 条规则:
iptables -D INPUT N

按内容删除

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

八、保存规则(防止重启失效)

CentOS / RHEL:

service iptables save

或:

iptables-save > /etc/sysconfig/iptables

Ubuntu / Debian:

iptables-save > /etc/iptables/rules.v4

(可能需要安装 iptables-persistent


九、注意事项

  1. 规则顺序很重要
    iptables 是从上到下匹配,一旦匹配就执行动作。

  2. DROP vs REJECT

    • DROP:静默丢弃(更安全)
    • REJECT:明确拒绝(方便调试)
  3. 不要把自己关在外面
    禁止 SSH(22)端口前,确认你有其它方式登录服务器。


如果你愿意,可以告诉我:

  • 禁止入站还是出站
  • TCP 还是 UDP
  • 所有 IP 还是指定 IP

我可以帮你给出最合适的一条规则

0