我在理解来宾操作系统(Ubuntu)中的 Qemu 和网络如何工作方面遇到了问题。我已经阅读了本手册和其他内容。如果我理解的话,如果你想在来宾操作系统中连接互联网,你需要在主机操作系统中创建点击接口。然后链接eth0和tap0接口:
- 通过使用 NAT 路由
- 通过使用网桥(链接tap0和eth0-host)
现在我在主机中有这些接口(ppp0 - 3G-modem - Internet,lo):
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.245.146.78 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:49635 errors:0 dropped:0 overruns:0 frame:0
TX packets:42745 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:52405401 (52.4 MB) TX bytes:5988643 (5.9 MB)
在阵风操作系统(eth0,lo)中:
eth0 Link encap:Ethernet HWaddr:52:54:00:12:34:56
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
...
互联网在阵风操作系统工作!如果我在真正的 ppp0 和来宾界面之间没有链接,那么来宾操作系统中的工作网络如何以及为什么?我什至没有任何人在主机中为来宾操作系统提供接口。
如果我理解那是因为来宾通过默认主机接口转发数据。但为什么?
Qemu 选项:
qemu -hda ~/virt.disk -cdrom /dev/cdrom -boot once=dc -m 1024M -usb -smp 2 -enable-kvm
主机路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.64.64.64 * 255.255.255.255 UH 0 0 0 ppp0
default 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
访客路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.2.0 * 255.255.255.0 U 1 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0