帮助IPTables:stream量强制到特定的网卡?

我们有一个运行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保存信息。