尝试在Ubuntu12下设置Multi-Homing,但只能得到2个IP中的1个来接受请求

我在一个新的服务器上遇到了一个问题,我们在Ubuntu 12下在一个运行在VMware下的虚拟机(VSphere I believe)下创build的。 这是在一个ISP不是我的桌面。 我认为我们的旧数据中心有同样的问题,但从来没有真正find解决的办法。 我们刚刚停止使用多宿主,只使用了一个或另一个IP地址(我们希望在DMZ中只有一个,只有一个在内部)。 我们想让数据库仅在INT子网上可用

问题(简短版本):在Ubuntu下尝试configurationMuli-homing,但只能得到一个IP响应。

更长的版本 – 我们希望有两个networking,一个是DMZ,可以访问外部互联网,INT是内部的,只能访问我们数据中心的其他服务器。 我可以定义它们,使它们能够在ifconfig,netstat -nr和IP路由显示中正确显示,但是如果我尝试访问服务器上的服务,则只能得到一个或另一个响应,其他时间。 哪一个响应在重新启动之间保持一致。

从我读过的所有东西中,我们已经定义了正确的东西,但也许我们错过了一些东西,或者有一些特殊的东西,因为我们在VMware之下。

如果我尝试SSH或PING'ing到DMZ地址,它工作正常。 如果我尝试INT地址,它只是超时。 没有迹象表明它被iptables或日志中的任何其他相关的错误消息阻止。

如果我单独尝试,他们将工作。 只有当我尝试多入口访问失败

背景:

VMware下的Ubuntu 12.04 LTS

名称已经更改,但一直保持一致。 A和B是不同的数字,并一直replace。 其他人和我们的configuration一样。

Local server name mapping DMZ_001 10.AB64/26 INT_002 10.AB128/27 DMZ - 10.AB71 (eth0) INT - 10.AB140 (eth1) 

下面我有ifconfig,netstat -nr,ip route show和interfaces文件。 如果有其他信息可以帮助我知道。

=====================

 username@servername:~$ cat /etc/network/interfaces iface lo inet loopback auto lo #DMZ auto eth0 iface eth0 inet static address 10.AB71 netmask 255.255.255.192 gateway 10.AB65 #up route add default gw 10.AB65 dns-nameservers 8.8.8.8 8.8.4.4 # INT auto eth1 iface eth1 inet static address 10.AB140 netmask 255.255.255.224 gateway 10.AB129 #up route add default gw 10.AB129 dns-nameservers 8.8.8.8 8.8.4.4 dns-search thinaire.net 

================================

 username@servername:~$ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.AB65 0.0.0.0 UG 0 0 0 eth0 10.AB64 0.0.0.0 255.255.255.192 U 0 0 0 eth0 10.AB128 0.0.0.0 255.255.255.224 U 0 0 0 eth1 

================================

 username@servername:~$ ip route show default via 10.AB65 dev eth0 metric 100 10.AB64/26 dev eth0 proto kernel scope link src 10.AB71 10.AB128/27 dev eth1 proto kernel scope link src 10.AB140 username@servername:~$ 

============================

 username@servername:~$ ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:ac:5e:1b inet addr:10.AB71 Bcast:10.AB127 Mask:255.255.255.192 inet6 addr: fe80::250:56ff:feac:5e1b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:26089 errors:0 dropped:9 overruns:0 frame:0 TX packets:18282 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3784760 (3.7 MB) TX bytes:2359060 (2.3 MB) eth1 Link encap:Ethernet HWaddr 00:50:56:ac:06:44 inet addr:10.AB140 Bcast:10.AB159 Mask:255.255.255.224 inet6 addr: fe80::250:56ff:feac:644/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4437 errors:0 dropped:8 overruns:0 frame:0 TX packets:726 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:295739 (295.7 KB) TX bytes:74047 (74.0 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

这种configuration的linux中,每个路由表不能有多个默认网关。

要拥有多个默认网关,您需要为每个源IPconfiguration单独的路由表。

类似的东西:

IP路由添加默认通过10.AB65 src 10.AB71表1

ip route add 10.AB64 / 26 dev eth0表1

ip route add 10.AB128 / 27 dev eth1表1

ip规则添加从10.AB71查找1

和第二个界面

IP路由添加默认通过10.AB129 src 10.AB140表2

ip route add 10.AB64 / 26 dev eth0 table 2

ip route add 10.AB128 / 27 dev eth1 table 2

ip规则添加从10.AB140查找2

您也可能需要添加其他路由到这些路由表

要在/ etc / network / interfaces中configuration它,你可以把这些命令放在一个脚本中,然后调用up指令(参见man 5 interfaces

auto eth0 iface eth0 inet static address 10.AB71 netmask 255.255.255.192 gateway 10.AB65 up /usr/local/bin/eth0-up.sh dns-nameservers 8.8.8.8 8.8.4.4

eth0-up.sh是一个文件:

#!/bin/bash

ip route add default via 10.AB65 src 10.AB71 table 1

ip route add 10.AB64/26 dev eth0 table 1

ip route add 10.AB128/27 dev eth1 table 1

ip rule add from 10.AB71 lookup 1

重复相同的eth1