我正在使用User-Mode-Linux开发内核功能。
我从源代码编译了3.12.38并下载了Debian fs
但是,我无法使用以下选项here来建立网络
是否有任何好的来源或信息与此相关。
我在wlan0上有互联网。
修改
我从eth0=tuntap,,,192.168.0.254
然后在UML UML# 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
如上所述,输出缺少一点,而 ping 更多 192.168.0.254 似乎不起作用,100%丢包。
答案 0 :(得分: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 as root:
chmod 777 / dev / net / tun
tunctl -u vm -t tap0(此处vm
是VM用户名)
echo 1>的/ proc / SYS /净/的IPv4 / IP_FORWARD
echo 1>的/ proc / SYS /净/的IPv4 / CONF / tap0中/ proxy_arp
ifconfig tap0 192.168.6.6 up
./ linux ubda = CentOS6.x-x86-root_fs umid = debian1 [单独的终端]
uml_mconsole debian1 config eth0 = tuntap,tap0
route add -host 192.168.6.8 dev tap0
route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.6.8 dev tap0
<强> @ uml1 强>
的eth0 = tuntap,tap0中
ifconfig eth0 192.168.6.8 up
echo 1&gt;的/ proc / SYS /净/的IPv4 / IP_FORWARD
echo 1&gt;的/ proc / SYS /净/的IPv4 / CONF / eth0的/ proxy_arp
现在UML1&lt; --------------&gt; UML2
./ linux ubda = CentOS6.x-x86-root_fs2 umid = debian2 [单独终端]
uml_mconsole debian1 config eth1 = mcast(如果这些命令失败,则表示您没有在启用了多播ineterface的情况下编译UML内核)
uml_mconsole debian2 config eth1 = mcast
再次@ uml1
ifconfig eth1 192.168.20.1 up
<强> @ UML2 强>
ifconfig eth1 192.168.20.2 up
route add -net 192.168.6.0 netmask 255.255.255.0 gw 192.168.20.1 dev eth1
echo 1&gt;的/ proc / SYS /净/的IPv4 / IP_FORWARD
echo 1&gt;的/ proc / SYS /净/的IPv4 / CONF / ETH1 / proxy_arp
尝试从VM ping UML2,反之亦然。您应该能够双向ping。