CentOS 6系统下开放3位数与4位数端口的详细指南

admin
CentOS 6系统下开放端口主要依赖iptables防火墙,开放3位数(如8080)或4位数(如8888)端口时,需先通过iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT添加允许规则,再执行service iptables save保存配置,最后用service iptables restart重启防火墙生效,若系统开启SELinux,需使用semanage port -a -t http_port_t -p tcp 端口号添加端口策略,避免拦截,操作前建议备份现有规则,确保端口未被其他服务占用,完成后可通过iptables -L -n验证规则是否生效。

在CentOS 6系统中,无论是部署Web服务(如80、8080端口)、数据库服务(如3306、5432端口),还是自定义应用程序,开放指定端口是确保服务可访问的关键步骤,3位数端口(如100-999)和4位数端口(如1000-9999)是常见的服务端口,本文将详细介绍如何在CentOS 6系统中通过防火墙(iptables)开放这些端口,并确保配置持久生效。

CentOS 6防火墙基础:iptables简介

CentOS 6默认使用iptables作为防火墙管理工具,它通过定义规则链(如INPUT、OUTPUT、FORWARD)来控制数据包的流入与流出,默认情况下,iptables会阻止所有未明确允许的连接,因此需要手动开放特定端口才能让外部访问服务。

开放3位数与4位数端口的详细步骤

检查当前防火墙状态

在配置端口前,需确认防火墙是否运行中,通过以下命令查看iptables服务状态:

CentOS 6系统下开放3位数与4位数端口的详细指南

service iptables status

若显示“防火墙已停止”,需先启动防火墙:

service iptables start

并设置开机自启(可选):

chkconfig iptables on

开放指定端口(3位数/4位数)

假设需要开放3位数端口80(HTTP服务)和4位数端口8080(自定义Web服务),使用iptables-A(追加规则)和-I(插入规则)命令添加规则。注意-I会插入到规则链的顶部,优先级更高;-A追加到末尾。

(1)开放单个端口(以80端口为例)

# 开放TCP协议的80端口(3位数)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 开放UDP协议的80端口(若服务需要UDP)
iptables -A INPUT -p udp --dport 80 -j ACCEPT

参数说明:

  • -A INPUT:添加到INPUT链(控制流入数据包)
  • -p tcp/udp:指定协议类型(TCP或UDP)
  • --dport 80:目标端口(3位数)
  • -j ACCEPT:允许数据包通过

(2)开放多个端口(以80、8080端口为例)

若需同时开放3位数和4位数端口,可分别添加规则:

# 开放TCP 80端口(3位数)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 开放TCP 8080端口(4位数)
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

(3)开放端口范围(若需连续开放多个端口)

若需开放3位数端口1000-2000(注意:1000已属于4位数,此处仅为示例),可通过--dport范围指定:

# 开放TCP协议的1000-2000端口(含3位数和4位数)
iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT

保存防火墙规则(关键步骤)

CentOS 6中,iptables规则默认重启后会丢失,需手动保存到配置文件才能持久生效:

service iptables save

执行后,规则会保存到/etc/sysconfig/iptables文件中,可通过以下命令验证:

cat /etc/sysconfig/iptables

重启防火墙使规则生效

保存规则后,重启防火墙确保新规则加载:

service iptables restart

验证端口是否开放

(1)使用iptables -L查看规则

iptables -L -n --line-numbers

-n表示以数字形式显示IP和端口,--line-numbers显示规则序号,在INPUT链中应能看到类似以下规则:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080

序号1、2对应之前添加的80和8080端口规则。

(2)使用netstatss检查端口监听状态

# 使用netstat(CentOS 6默认安装)
netstat -tuln | grep -E "80|8080"
# 或使用ss(更快,若未安装可执行"yum install -y iproute")
ss -tuln | grep -E "80|8080"

若输出类似以下内容,说明端口已开放并正在监听:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN

SELinux对端口访问的影响(重要补充)

CentOS 6默认启用SELinux(安全增强型Linux),可能会阻止端口访问,即使iptables规则已开放,若端口开放后仍无法访问,需检查SELinux状态:

检查SELinux状态

getenforce

返回值为`En

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码