我想用网络运行我的 UML istance 在主机中我创建脚本
USER=myname
BRIDGENAME=br0
tunctl -t tap0 -u $USER
ip link set tap0 up
/usr/sbin/brctl addif $BRIDGENAME tap0
ip addr add 10.2.0.5/24 dev tap0
tap0 创建完成,没有报错。在此之后,我启动了 uml istance
/usr/bin/linux ubda=fsroot mem=1024M con0=fd:0,fd:1 con=pts eth0=ethertap,tap0,10.2.0.5
然后我用 minicom 进入 uml istance 并尝试配置网络
ip addr add 10.2.0.6/24 dev eth0
ip route add default via 10.2.0.5
Error: Nexthop has invalid gateway.
我想念什么?为什么不沟通?我也尝试过使用经典的 iptables 规则进行 natting
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i tap0 -o br0 -j ACCEPT
iptables -A FORWARD -i br0 -o tap0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
但没有任何改变。
找到解决方案,在 UML 的配置中我忘记了这一行
在路线线之前
我也改变了方法,使用 enp1s0 代替桥接,用 ethertune 代替 ethertap
a)首先我创建tap0
b)然后我应用 iptables 规则
c) 最后运行实例
d) 刚才我配置了网络
工作正常