2014-10-30 61 views
-1

我是网络领域的新手。我的网络服务器网络配置有问题(操作系统是Centos)。 我有2个网卡(eth0 + eth2 - physical)运行2个公网IP,它们具有相同的子网,相同的网关。 当我配置nginx监听这2个网卡时,一切正常。但是当我监控流量时,所有流量都只在eth0上,eth2上没有任何流量。 我的问题是:我如何进行配置,以便通信进入NIC,然后在NIC上出去? 这是我的以太网卡配置:如何在同一网关的同一子网上使用2个公网IP路由2个Nios

DEVICE="eth0" 
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=x.x.x.38 
PREFIX=27 
GATEWAY=x.x.x.x.33 
DNS1=8.8.8.8 
DNS2=8.8.4.4 
NAME="System eth0" 

DEVICE="eth2" 
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=x.x.x.39 
PREFIX=27 
GATEWAY=x.x.x.33 
DNS1=8.8.8.8 
DNS2=8.8.4.4 
NAME="System eth2" 

这是我的路线-n结果

Kernel IP routing table 
Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
10.14.8.0  0.0.0.0   255.255.255.0 U  0  0  0 eth1 
y.z.0.0   0.0.0.0   255.255.0.0  U  1002 0  0 eth0 
y.z.0.0   0.0.0.0   255.255.0.0  U  1003 0  0 eth1 
y.z.0.0   0.0.0.0   255.255.0.0  U  1004 0  0 eth2 
0.0.0.0   x.x.x.33  0.0.0.0   UG 0  0  0 eth0 

希望能对你有所帮助,在先进的感谢!

回答

1

在Linux中,路由通过查看目的地址进行而已,所以数据包将遵循哪条路可以用来实现数据包的目的地,没有考虑到的源地址。

你想要的行为需要选择不仅取决于目的地址,同时也对源地址的路由 - 这有时被称为源敏感的路由萨德尔(源地址相关路由)。在Linux下实现源敏感路由的最便携方式是使用ip ruleip route ... table ...命令在多个路由表中定义路由规则。

这在详细的Linux Advanced Routing and Traffic Control HOWTO

+0

感谢JCH,让我看到了这个文档 – TuNH 2014-10-30 07:17:16

+0

我发现这篇文章,这正是我需要的。 http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting – TuNH 2014-10-30 07:29:01

0

也许,问题甚至可以NAT可以解决第4节中描述。
IP tuntap增加开发tap0中模式自来水
IP tuntap增加开发TAP1模式自来水
然后,您可以分配不同的IP地址,这些设备:
使用ifconfig tap0中10.10.10.1掩码是255.255.255.255
使用ifconfig TAP1 10.10.10.2网络掩码255.255.255.255
最后 - 重定向进入的流量,特定的虚拟设备
的iptables -t NAT -A PREROUTING -i eth0的-j DNAT --to目的地10.10.10.1
的iptables -t NAT -A PREROUTING -i ETH2 -j DNAT - 到目的地10.10.10.2
在这种情况下,所有的流量将被定义为它来自的接口。

相关问题