centos7.5mini中Firewalld端口不通解决办法及想法
一、问题
接到客户消息,外网访问内网虚拟主机的部分端口不通。
端口:580、610
二、思路
根据网络架构找出存在影响端口连通性的原因
1.硬件防火墙
- NAT策略中服务端口的开启
- 访问控制列表中对端口的放行/阻断状态
2.系统防火墙
- 防火墙必须添加相应端口
- 网卡名称必须添加相应区域
- 端口必须为监听状态
三、处理过程
1.远程登录硬件防火墙查看策略信息,发现相应端口是开通状态
2.内网环境中,telnet目标端口,端口不通;
由于测试路径中,没有可以影响到端口连通性的设备及策略,随即将问题定位在目标主机系统防火墙上
telnet [ip] port
Centos7.0版本以上默认安装firewall
3.查看firewall-cmd的运行状态
firewall-cmd --state
4.将默认区域设置为trusted
firewall-cmd --get-default-zone=trusted-permanent
5.将相应端口添加到trusted
firewall-cmd --permanent --zone=trusted --add-port=580/tcp
将端口成功添加至区域后测试端口发现仍然不通,可能是网卡没有添加到相应区域
6.查看网卡文件并将网卡添加到trusted
firewall-cmd --permanent --zone=trusted --change-interface=eth0
经测试后仍然不通
7.使用ip addr 查询网卡信息,发现网卡名称与配置文件不同
ip addr
8.将br0与eth0同时添加到trusted区域中
(注意:如果该网卡已经存在一个区域时,必须添加后将firewall stop掉,再start才可以成功更改,不然即使重新加载firewall也无法生效)
经测试仍然不通
查询资料发现涉及到linux系统的端口连通性取决于3个方面
- 防火墙必须添加相应端口
- 网卡名称必须添加到相应区域
- 端口必须为监听状态
9.使用netstat -tlunp以后发现580并没有被监听
(TCP6意思为监听ipv6地址)
netstat -tlunp
10.联系客户调试软件,将软件监听端口改为580后测试,telnet端口通,问题解决
四.总结:
1.在虚拟化服务器上ip addr中显示的网卡名称为现使用的网卡名称
2.了解影响端口的3个前置条件。
3.监听为被动的,无法主动添加监听端口