我正在使用两块板,一块运行 ubuntu 桌面 18.04,另一块运行 ubuntu 服务器 18.04。在桌面板中,我通过编写/etc/network/interfaces
如下所述的文件设置了一个 vlan(我知道先设置自动然后设置静态地址是不正确的,但它无论如何都可以工作,这不是我的问题的主题) :
auto eno1
iface eno1 inet dhcp
auto eno1.1
iface eno1.1 inet static
address XX.XX.XX.91/23
netmask 255.255.254.0
gateway XX.XX.XX.1
vlan-raw-device eno1
auto lo
iface lo inet loopback
我需要做同样的设置:使用 vlan 的唯一物理端口上的两个地址,命名为 eno1 和 eno1.1,只有 eno1.1 定义为静态地址,用于加载 ubuntu 服务器的板。我已经看到/etc/network/interface
根本没有使用,网络必须使用/etc/netplan/50-cloud-init.yaml
. 仅按照netplan.io/examples进行 vlan 设置,我无法拥有一个工作板。因此,如果您能帮助我展示 NN-cloud-init.yaml 应该如何与我/etc/network/interfaces
的desktop
.
试试这个骨架。可能需要进行一些调整。填写适当的 MAC、IP 和 DNS。保留缩进、间距和无制表符。
sudo netplan --debug generate
# 生成配置文件sudo netplan apply
# 应用配置reboot
# 验证正确的操作我试图重写你的骨架以提供我需要的设置。50-cloud-init.yaml 文件如下所示:
该文件根据我的需要生成设备,但有一个问题:电路板仍然隔离。从板上,我可以 ping localhost、eno1 和 eno1.1,但不能 ping 网络中的另一个板,而且无论如何,网络中的另一个板无法 ping 那个。当时我决定使用 ifupdown 作为我的问题的捷径,但也许 50-cloud-init.yaml 中确实没有任何问题。我的猜测是数据包(很可能以正确的行为)因为缺少 VLAN 标记而被丢弃。为了让董事会与外部世界交流,我应该将 50-cloud-init.yaml 更改为如下:
我想那会奏效。不幸的是,我无法删除已安装的 ifupdown,因此我无法 100% 确定我的猜测。
补充一点信息:即使您使用的是 ifupdown,也不能删除标准的 50-cloud-init.yaml。事实上,如果你删除标准的 50-cloud-init.yaml,它看起来像:
dhcp4 将更改动态分配给电路板的 IP 地址。
再一次,让我感谢您的时间和宝贵的支持,并再次对迟到的答复表示歉意。
BR/卡洛