三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何在命令行中修改端口规则?

美国、香港服务器

如何在命令行中修改端口规则?

02-12   来源:

 在命令行中修改宝塔面板对应的端口规则,核心思路是先删除旧规则,再添加新规则(iptables 不支持直接编辑现有规则),全程需精准定位旧规则、确保新规则优先级正确,以下是分场景、可直接复制的修改方法,适配所有主流 Linux 系统,且与宝塔面板规则完全同步。

一、核心前提
必须以root用户执行命令(宝塔终端默认是 root);
修改规则的本质是「删旧 + 加新」,无直接编辑的命令;
新规则添加后需保存配置,否则重启服务器后失效;
规则优先级:-I(插入到规则顶部)>-A(追加到规则末尾),白名单规则务必优先。
二、修改端口规则的完整步骤(通用流程)
步骤 1:查看旧规则,定位行号(关键)
先执行命令列出 INPUT 链规则(端口规则主要在 INPUT 链),并显示行号,找到要修改的旧规则:
bash
运行
# 查看所有INPUT链规则(带行号、端口、IP、策略)
iptables -L INPUT -n --line-numbers
# 精准筛选目标端口规则(如8888),快速定位
iptables -L INPUT -n --line-numbers | grep :8888
输出示例(8888 端口旧规则:仅允许 192.168.1.100 访问):
plaintext
num  target     prot opt source               destination
1    ACCEPT     tcp  --  192.168.1.100        0.0.0.0/0            tcp dpt:8888
2    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8888
步骤 2:删除旧规则(按行号)
根据步骤 1 的行号,删除要修改的旧规则(比如要修改 8888 端口的白名单 IP):
bash
运行
# 删除行号1的旧放行规则(192.168.1.100访问8888)
iptables -D INPUT 1
# 若有兜底拒绝规则,需先保留,修改完放行规则后无需删
# 示例:仅删除需要调整的规则,非目标规则保留
步骤 3:添加新规则(替换旧规则)
根据你的需求添加新规则,以下是最常用的修改场景:
场景 1:修改端口白名单 IP(如 8888 端口从 192.168.1.100 改为 10.0.0.50)
bash
运行
# 第一步:添加新的放行规则(插入到顶部,优先级最高)
iptables -I INPUT -s 10.0.0.50 -p tcp --dport 8888 -j ACCEPT
# 第二步:保留原兜底拒绝规则(无需修改,自动生效)
# 验证:仅10.0.0.50可访问8888,其他IP被拒绝
场景 2:修改放行的端口(如从 8080 改为 9090,允许所有 IP 访问)
bash
运行
# 1. 删除旧8080端口放行规则(假设行号3)
iptables -D INPUT 3
# 2. 添加新9090端口放行规则
iptables -A INPUT -p tcp --dport 9090 -j ACCEPT
场景 3:修改端口范围(如从 30000-40000 改为 20000-25000,仅允许 192.168.1.0/24 访问)
bash
运行
# 1. 删除旧端口范围规则(假设行号4、5)
iptables -D INPUT 4
iptables -D INPUT 5
# 2. 添加新端口范围放行规则
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 20000:25000 -j ACCEPT
# 3. 添加新兜底拒绝规则
iptables -A INPUT -p tcp --dport 20000:25000 -j DROP
场景 4:修改规则策略(如从拒绝某 IP 改为放行)
bash
运行
# 1. 删除旧拒绝规则(如封禁203.0.113.10访问22端口,行号6)
iptables -D INPUT 6
# 2. 添加新放行规则
iptables -I INPUT -s 203.0.113.10 -p tcp --dport 22 -j ACCEPT
步骤 4:保存新规则(关键,避免重启失效)
修改完成后必须保存配置,否则服务器重启后会恢复到旧规则:
bash
运行
# CentOS系统
service iptables save
systemctl restart iptables
 
# Ubuntu/Debian系统
iptables-save > /etc/iptables/rules.v4
systemctl restart netfilter-persistent
三、验证修改是否生效
执行以下命令,确认新规则已替换旧规则:
bash
运行
# 查看修改后的规则
iptables -L INPUT -n --line-numbers | grep 目标端口(如8888)
# 示例输出(8888端口新规则):
# 1    ACCEPT     tcp  --  10.0.0.50        0.0.0.0/0            tcp dpt:8888
# 2    DROP       tcp  --  0.0.0.0/0        0.0.0.0/0            tcp dpt:8888
同时,宝塔面板「安全→防火墙→端口规则」中会同步显示新规则,无需额外操作。
四、避坑注意事项
规则行号动态变化:删除旧规则后,后续规则行号会前移,若需删除多条规则,需重新查看行号再删;
白名单优先级:新的放行规则务必用-I插入到顶部,避免被拒绝规则拦截;
核心端口保护:修改 80/443/22/8888 等核心端口规则时,先确保 SSH 连接稳定,避免误删导致无法访问服务器;
云安全组同步:若云服务器安全组也配置了对应端口规则,需同步修改,否则 iptables 规则会被云安全组覆盖。
总结
命令行修改端口规则的核心是「删旧规则→加新规则→保存配置」,无直接编辑命令;
优先用iptables -L INPUT -n --line-numbers定位旧规则行号,确保精准删除;
新规则用-I插入到顶部(白名单)、-A追加到末尾(拒绝规则),保证优先级正确;
修改后必须保存规则,否则重启服务器会恢复旧配置。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何在命令行中修改端口? 下一篇:如何在命令行中删除端口规则?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器、香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)