网络内核命令行 (ip=) 不会在 Firecracker 上的 Ubuntu 18 中设置 ip 或路由

网络内核命令行 (ip=) 不会在 Firecracker 上的 Ubuntu 18 中设置 ip 或路由

我正在尝试使用 Ubuntu 启动 Firecracker 虚拟机并设置网络。如果我定期启动它(取自这个仓库):

./firectl --kernel=vmlinux  --root-drive=image.ext4 --firecracker-binary=./firecracker --tap-device=fc_tap0/aa:84:33:ef:da:60 --kernel-opts="init=/bin/systemd noapic reboot=k panic=1 pci=off nomodules console=ttyS0"

虚拟机启动,然后我运行:

ip addr add 192.168.100.2/24 dev eth0
ip link set eth0 up
ip route add default via 192.168.100.1 dev eth0
echo nameserver 8.8.8.8 > /etc/resolv.conf

我有互联网和名字解析。 ip地址显示:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether aa:84:33:ef:da:60 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.2/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a884:33ff:feef:da60/64 scope link 
       valid_lft forever preferred_lft forever

现在我正在尝试复制此内容,但无需在来宾上运行命令,这是有道理的。

内核中的文档,这应该有效:

 ./firectl --kernel=vmlinux  --root-drive=image.ext4 --firecracker-binary=./firecracker --tap-device=fc_tap0/aa:84:33:ef:da:60 --kernel-opts="init=/bin/systemd noapic reboot=k panic=1 pci=off nomodules console=ttyS0 ip=192.168.100.2::192.168.100.1:255.255.255.0:fc:eth0:off:8.8.8.8:8.8.4.4:"

重要的部分是:

ip=192.168.100.2::192.168.100.1:255.255.255.0:fc:eth0:off:8.8.8.8:8.8.4.4:

但是当它启动时,ip addr 显示:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether aa:84:33:ef:da:60 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a884:33ff:feef:da60/64 scope link 
       valid_lft forever preferred_lft forever

任何访问网络的尝试都会返回connect: Network is unreachable,并且无论如何我都必须运行该脚本,否则我没有网络。我究竟做错了什么?我读到的有关此命令的所有内容都说不支持 ipv6,但它似乎就是这样做的。

相关内容