![当连接到两个网络接口时,centos 7 不允许在端口 80 上进行入站 tcp 连接](https://linux22.com/image/700696/%E5%BD%93%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%B8%A4%E4%B8%AA%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E6%97%B6%EF%BC%8Ccentos%207%20%E4%B8%8D%E5%85%81%E8%AE%B8%E5%9C%A8%E7%AB%AF%E5%8F%A3%2080%20%E4%B8%8A%E8%BF%9B%E8%A1%8C%E5%85%A5%E7%AB%99%20tcp%20%E8%BF%9E%E6%8E%A5.png)
我将两个网络接口连接到运行 centOS 7 的服务器,并配置公共区域以允许端口 80 和 443 上的入站 tcp 连接,然后将其中一个网络接口设置为公共区域。我进一步在防火墙上配置了一个公共 IP,以将端口 80 或 443 上的所有传入连接转发到服务器的 IP。
因此,我将另一个网络接口配置为内部区域
但问题是,只要两个网络接口都处于活动状态,我就无法连接到服务器上托管的网页。但是,当内部区域上配置的接口关闭时,网页就可以访问了。
答案1
正如@所暗示的那样哈立德,这听起来像是路由问题。
一个可能的原因是“内部”区域使用了 DHCP,如果DHCP 提供默认路由。
检查的第一步是运行ip r
,并查找以以下内容开头的行default
:
$ ip r
default via 10.0.253.1 dev wlp3s0 proto static metric 600
如果指向的是内部区域,那么这很可能就是导致问题的原因。如果您有两个默认路由,则度量值最低的路由将“获胜” - 如果这是您的内部区域,那么这很可能就是导致问题的原因。
静态配置此服务器上的内部 NIC 可能是最简单的方法,或者您可以通过添加DEFROUTE=no
内部接口的脚本(例如 /etc/sysconfig/network-scripts/ifcfg-INTERFACE)来忽略 DHCP 推送的任何默认路由