温馨提示×

iptables如何开放端口

小樊
45
2026-07-11 21:55:39
栏目: 编程语言

iptables 中开放端口,通常是向 INPUT 链 添加允许规则。下面按常见场景说明。


一、开放 TCP 端口(最常见)

例如开放 8080 端口:

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

说明:

  • -I INPUT:插入到 INPUT 链(默认最前面)
  • -p tcp:TCP 协议
  • --dport 8080:目标端口
  • -j ACCEPT:允许通过

二、开放 UDP 端口

例如开放 53 端口(DNS):

iptables -I INPUT -p udp --dport 53 -j ACCEPT

三、同时指定 IP 开放端口(更安全)

只允许 192.168.1.100 访问 3306 端口:

iptables -I INPUT -s 192.168.1.100 -p tcp --dport 3306 -j ACCEPT

四、确认当前规则

iptables -L -n --line-numbers

五、保存规则(非常重要)

CentOS / RHEL

service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

Ubuntu(无 iptables-persistent 时)

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

或安装持久化工具:

apt install iptables-persistent

六、删除已开放的端口

先查看规则编号:

iptables -L INPUT --line-numbers

假设 8080 是第 3 条规则:

iptables -D INPUT 3

七、常见注意事项

  1. INPUT 链默认策略

    iptables -P INPUT DROP
    

    如果是 DROP,必须显式允许端口,否则会被拦截。

  2. 防火墙顺序很重要

    • -I 插入到最前
    • -A 追加到最后
  3. 云服务器

    • 除了 iptables,还要检查 安全组 / 防火墙规则

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

  • 系统版本(CentOS / Ubuntu / Debian)
  • 本机防火墙 还是 云服务器
  • 要开放的 端口和协议

我可以给你一整套最安全、最标准的配置示例。

0