0

我正在使用 User-Mode-Linux 开发内核功能。我从源代码编译了 3.12.38 并下载了一个 Debian fs。
但是,我无法在此处使用以下选项建立网络。
是否有任何好的来源或信息可以与此相关。
我在 wlan0 上有互联网。

编辑:
我从eth0=tuntap,,,192.168.0.254

然后在 UMLUML# ifconfig eth0 192.168.0.253 up 中我只得到输出:
modprobe tun
ifconfig tap0 192.168.0.252 netmask 255.255.255.255 up
route add -host 192.168.0.253 dev tap0

如前所述,在ping192.168.0.254时,输出有点少,而且 100% 丢包似乎不起作用。

4

1 回答 1

0

让我们按照步骤建立以下拓扑:

VM-tap0(192.168.6.6)-------------(192.168.6.8)eth0-UML1-eth1(192.168.20.1)----------------eth1-(192.168.20.2)UML2

这里,UML1 和 UML2 是作为主机运行在 VM 上的两个 UML 实例。所有uml_console命令都假设在 VM 主机上运行。

Tun/Tap config:

VM <----->UML1(我们首先建立VM主机和UML1之间的连接)

@host 作为根:

chmod 777 /dev/net/tun

tunctl -u vm -t tap0 (这里vm是虚拟机用户名)

回声 1 > /proc/sys/net/ipv4/ip_forward

回声 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp

ifconfig tap0 192.168.6.6 向上

./linux ubda=CentOS6.x-x86-root_fs umid=debian1 [单独终端]

uml_mconsole debian1 配置 eth0=tuntap,tap0

route add -host 192.168.6.8 dev tap0

route add -net 192.168.20.0 网络掩码 255.255.255.0 gw 1​​92.168.6.8 dev tap0

@uml1

eth0=tuntap,tap0

ifconfig eth0 192.168.6.8 向上

回声 1 > /proc/sys/net/ipv4/ip_forward

回声 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

现在 UML1<------------->UML2

./linux ubda=CentOS6.x-x86-root_fs2 umid=debian2 [单独终端]

uml_mconsole debian1 config eth1=mcast (如果这些命令失败,这意味着你没有编译 UML 内核并在 中启用了多播接口)

uml_mconsole debian2 配置 eth1=mcast

再次@uml1

ifconfig eth1 192.168.20.1 向上

@uml2

ifconfig eth1 192.168.20.2 向上

路由添加 -net 192.168.6.0 网络掩码 255.255.255.0 gw 1​​92.168.20.1 dev eth1

回声 1 > /proc/sys/net/ipv4/ip_forward

回声 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp

尝试从 VM ping UML2,反之亦然。您应该能够在两个方向上 ping 通。

于 2016-07-06T09:50:44.983 回答