Ubuntu服务器(VM)有两个接口。 一次只能在一个或另一个接口上传递stream量

让我从一个粗糙的networking图开始。

内部第三层交换机(多个VLAN,包括172.16.220.0networking) – >内部networking(172.16.220.0/24) – > eth1(172.16.220.100) – Ubuntu 10.04 VM-eth0(192.168.1.100) – > NATnetworking(192.168.1.0/24) – > ASA – > ISP。

这是我在两台不同的服务器上遇到的问题。 我只用一个接口eth0构build了服务器,它连接到ASA的内部接口。 然后,我为内部172.16.220.0networking添加了另一个接口。 我在eth0上设置了一个网关,而不是在/ etc / network / interfaces中的eth1上。 我可以从外部访问服务器,但不能在内部访问。 如果我从eth0中删除网关,为eth1设置一个,我当然可以从内部访问它,但不能从外部访问。

我尝试设置一些基于策略的路由,以便来自内部networking(多个vlans – 172.16.0.0/16)的任何stream量都将被路由回eth1,但是它不起作用。 很明显,我错过了这个难题,并有可能错误configuration这些服务器。 有人可以帮助我做到这一点,以便我可以从外部和内部访问服务器。 我不得不使用3G连接到SSH到我的服务器configuration沮丧!

这是我的/ etc / network / interfacesconfiguration:

# This file describes the network interfaces available on your system auto loopback network interface iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 # gateway 192.168.1.1 auto eth1 iface eth1 inet static address 172.16.220.100 netmask 255.255.255.0 gateway 172.16.220.1 auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 

和我的内核路由表:

 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 172.16.220.0 * 255.255.255.0 U 0 0 0 eth1 default 172.16.220.1 0.0.0.0 UG 100 0 0 eth1 

我曾尝试在/etc/sysctl.conf中启用IPv4转发,但这也不起作用。

如果还有什么需要的话,让我知道。

谢谢你的帮助。

编辑 – 设置fakerbuild议的静态路由后添加内核路由表

 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 172.16.220.0 172.16.220.1 255.255.255.0 UG 0 0 0 eth1 172.16.220.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0 

如果我正确地理解了一切:

你显然只能有一个默认网关。
你想在eth0上有默认的网关(这是你的外部networking,对吗?)。

要访问内部networking,您需要设置一个静态路由,如:
route add -net 172.16.X.0 netmask 255.255.0.0 gw 172.16.220.1 dev eth1

testing它是否工作,并使其永久(不知道如何在Ubuntu中做到这一点)。

顺便说一句 eth0在/ etc / network / interfaces中设置了两次。

我认为采取与静态路由的右边线,然而他指定一个路由到服务器是不正确的子网。 我认为你需要做的是将网关设置为192.168.1.1,然后使用172路由器地址作为其网关为每个子网(vlans)创build一条静态路由。 如果你需要更详细的命令input,请列出你所有的子网,我会尽量在早上在我的电脑上为你创build一个路由表。

有点令人困惑,但这听起来像你需要从主机服务器到达你的虚拟机,反之亦然。

在虚拟机中添加静态路由

route add -net 172.16.220.0 netmask 255.255.255.0 172.16.220.100

在主机上:

路由add -net 192.168.1.0networking掩码255.255.255.0 192.168.1.100

不过,我可能是错的。