我的Ubuntu有一个物理接口eth0。我想给服务器分配3个ip(不同的子网)。我不能使用默认的虚拟接口创建工具,比如ifconfig或ip addr add (例如eth0:0),因为对于这3个ip中的每一个,我都需要指定一个默认网关。因此,是否可能有一个桥,我可以将eth0 (以及我想要的多个tap或tun接口与ips连接),但是每个虚拟设备都可以通过eth0连接到子网访问。
EDIT1:
想象一下,我想要5个以太网接口连接到5个不同的网络。但我负担不起有5个接口。因此我购买了一个非托管交换机,并将所有5个网络的cat5电缆连接到该交换机,并将该交换机的一个端口连接到Ubuntu服务器的eth0。为了处理Ubuntu服务器上的所有5个网络,我创建了5个虚拟接口,它们的行为类似于物理接口(eth1、eth2等.),它们穿越eth0并在交换机结束。我不介意所有这些独立的网络通过一个非托管的交换机。但我希望我的Ubuntu服务器将这些网络当作连接到5个物理接口上。
发布于 2011-12-11 10:25:07
系统上只能有一条默认路由。
您可以添加静态路由以强制某些流量通过另一个路由器:
route add 172.16.1.0/24 172.26.1.250或
ip route add 172.16.1.0/24 via 172.26.1.250 dev eth0:1这些命令可以添加到/etc/网络/接口中。
发布于 2011-12-12 01:40:15
您需要的是影响内核中的路由决策。这通常称为策略路由:在您的示例中,我假设您希望有一个对源地址起作用的策略来路由回该接口。到达一个接口的净通信量应该在该接口上退出,而某个接口上的数据包应该使用为该接口指定的规则,而不是默认表。您想要的命令是ip rule。
话虽如此,OP中没有足够的信息可以肯定地说,需要策略路由。
发布于 2011-12-11 15:21:36
在谷歌搜索了几个月之后,我想我找到了答案。它可以使用vde工具来完成,该工具用于为KVM中的来宾操作系统创建接口。以下是几个步骤:
安装软件:
sudo apt-get install vde2创建虚拟开关:
sudo vde_switch -s /tmp/switch1 -daemon创建一个抽头设备:
sudo vde_switch -tap tap0 -daemon创建另一个抽头设备(需要指定新的套接字文件):
sudo vde_switch -tap tap1 -sock /var/run/vde.ctl/ctl1 -daemon只要每个设备都获得一个新的套接字文件,就可以创建任意数量的tap设备。
将您的虚拟设备连接到vde开关:
sudo vde_pcapplug -d eth0为两个抽头设备分配ip地址(我的eth0在192.168.1.10/24上):
sudo ifconfig tap0 192.168.1.80 netmask 255.255.255.0
sudo ifconfig tap1 192.168.1.90 netmask 255.255.255.0我已经把所有的接口放在同一个网络上,这样我就可以互相切换并测试设置是否正常。
现在,将ip的192.168.1.80和192.168.1.90从位于同一网络上的另一台主机(可能与您的windows机器一起)进行ping。
在Ubuntu上,网络上的其他主机可以从新的tap设备上点击,如下所示:
ping -I tap0 192.168.1.1现在,ifconfig可以用于重新分配属于不同网络的ip地址,以访问设备。
就这样。分离作用类似于独立接口的虚拟接口。
我没有找到任何说明这个过程的指南/教程。可能有人可以在各种情况下测试它,看看它是否是在生产环境中实现的可行解决方案。
https://serverfault.com/questions/339851
复制相似问题