我们有一个运行CentOS 4的Linux虚拟服务器。虚拟网卡上有两个物理网卡,12个虚拟网卡和12个IP地址。 到虚拟网卡上的IP的stream量被路由到与物理网卡关联的单个IP。 因此,我们的Apachenetworking服务器将不会响应虚拟网卡上其他IP的虚拟主机configuration。 我们都不是Unixpipe理员。 但是,我们猜测IPTables中有些东西是造成这种情况的原因。 以下是我们认为是罪魁祸首的IPTables的内容:
-A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT - 到端口xxxx -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT - 到端口xxxx
我们在这个假设中是否正确?
这是完整的表格:
* NAT :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT - 到端口8011 -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT - 到端口8001 承诺 *过滤 :input接受 :FORWARD ACCEPT :输出接受 :RH-Firewall-1-INPUT - [0:0] -Ainput-j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -HR-Firewall-1-INPUT -i lo -j ACCEPT #禁用时间戳请求 -A RH-Firewall-1-INPUT -p icmp -icmp-type 13 DROP #结束时间戳请求 #禁用坏包 -A RH-Firewall-1-INPUT -tcp -tcp-flags SYN,FIN SYN,FIN -j DROP #结束坏分组 -A RH-Firewall-1-INPUT -p icmp -icmp -type any -j ACCEPT -A RH-Firewall-1-INPUT -m状态 - 状态ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m状态 - 状态新-m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m状态 - 状态新-m tcp -p tcp --dport 8011 -j ACCEPT -A RH-Firewall-1-INPUT -m状态 - 状态新-m tcp -p tcp --dport 8001 -j ACCEPT #开始TSM客户端端口(1501) -A RH-Firewall-1-INPUT -m状态 - 状态NEW -p tcp --dport 1501 -j ACCEPT #结束TSM客户端端口(1501) -A RH-Firewall-1 -INPUT -m状态--state新-m tcp -p tcp -dport 1512 -j ACCEPT -A RH-Firewall-1-INPUT -m状态-state新-m tcp -p tcp -dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -m状态--state新-m tcp -p tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -m状态 - 状态新-m tcp -p tcp --dport 9494 -j ACCEPT -A RH-Firewall-1-INPUT -m状态--state新-m tcp -p tcp --dport 9495 -j ACCEPT -A RH-Firewall-1-INPUT -m状态 - 状态新-m tcp -p tcp --dport 4750 -j ACCEPT -A RH-Firewall-1-INPUT -m状态 - 状态新-m tcp -p tcp --dport 1920 -j ACCEPT -A RH-Firewall-1-INPUT -m状态--state新-m tcp -p tcp -dport 1922 -j ACCEPT -A RH-Firewall-1-INPUT -m状态--state新-m tcp -p tcp -dport 8200:8299 -j ACCEPT -A RH-Firewall-1-INPUT -m状态--state新-m tcp -p tcp --dport 8300:8399 -j ACCEPT -A RH-Firewall-1-INPUT -m状态--state新-m tcp -p tcp --dport 63335 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -dport 137:139 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -dport 137:139 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 承诺
我有点困惑你的问题,但我可以告诉的是iptables语句正在做什么:每个数据包端口80/443(HTTP / HTTPS)被redirect到另一个端口。
所以Apache必须监听该端口,否则数据包将不能访问Apache。
数据包的IP地址保持不变。
我build议你跟那些做设置的人聊聊,问他们为什么要做端口redirect。
REDIRECT目标将修改数据包的目的地址为分配给它的接口的地址(即将数据包redirect到自己)
这显然意味着真正的目的地是被掩盖的,无论它实际上被绑定什么都不会看到。
当然,这并不能保证它是你的问题的根源,可以考虑提供完整的iptables保存信息。