我有一台带有 2 个公共静态地址的 Ubuntu 10.04 服务器。已安装并正在运行 KVM 客户机(也是 Ubuntu)。我想要为客户机提供主机的 IP,以便两台机器都具有公共 IP。
当我为客户机创建网桥并向网桥添加接口时,主机会失去连接,但客户机可以开始从外部 ping 连接。
我应该怎么做才能使主人和客人建立连接?
这是网络配置:
# ifconfig -a
br0 Link encap:Ethernet Hardware Adresse ee:29:4b:xx:xx:xx
BROADCAST MULTICAST MTU:1500 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet Hardware Adresse 00:1a:4b:xx:xx:xx
inet Adresse:abc.def.xyz.100 Bcast:129.206.218.255 Maske:255.255.255.0
inet6-Adresse: fe80::21a:4bff:fe46:eca4/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:16101 errors:0 dropped:0 overruns:0 frame:0
TX packets:13577 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:6470077 (6.4 MB) TX bytes:2058971 (2.0 MB)
Interrupt:19
eth0:0 Link encap:Ethernet Hardware Adresse 00:1a:4b:46:ec:a4
inet Adresse:abc.def.xyz.101 Bcast:129.206.218.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
Interrupt:19
# route
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
abc.def.xyz.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
default abc.def.xyz.1 0.0.0.0 UG 100 0 0 eth0
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no eth0
vnet0
没有启用防火墙并且 DNS 配置正确。
我想要实现的目标:
| |
+----+-------------------------+--------+
| | Host | |
| | | |
| | +------------+------+ |
| eth0 | eth0:0 | |
| x.x.x.100 | | |
| | | |
| | br0 vnet0 | |
| +------------+------+ |
| | |
| | |
| +------------+------+ |
| | | | |
| | eth0-+ | |
| | x.x.x.101 | |
| | | |
| | Guest | |
| +-------------------+ |
+---------------------------------------+
答案1
我不确定是否需要它,但这对我有用:
- eth0-on-the-host:主机上没有 ip,已添加到网桥
- vnet0:主机上没有 IP,已添加到网桥
- bridge:主机的ip
- eth0-in-the-guest:来宾的 ip
请注意,大多数文档建议将物理接口连接到网桥后使用 ip 0.0.0.0 启动它。