我有一个有点复杂的虚拟网络设置,其中包含多个虚拟机及其之间的链接。ip
设置它大概需要 40 个命令,这些命令(如果我没有看错文档的话)需要翻译成多个文件中的适当接口定义以及文件.netdev
中的其他详细信息。/etc/netplan/
虽然可以通过这种方式来完成,但最终(在我看来)会比对所有内容使用一个脚本文件清晰得多。
最佳做法是什么?我想采用标准设置方法,但我还想将所有相关的(虚拟)网络配置集中在一个地方。
根据评论进行编辑,我在下面给出了一个具体的例子:
ip link add veth_host_1 type veth peer name veth_host_2_b1
ip link add veth_host_2 type veth peer name veth_host_1_b1
...
ip link add veth_host_x type veth peer name veth_host_x_b2
ip link add veth_host_y type veth peer name veth_host_y_b2
...
#(several more like the above)
# Some direct links like this too:
ip link add veth_host_1_lnk1 type veth peer name veth_host_x_lnk1
# And the bridges
ip link add br_1 type bridge
ip link add br_2 type bridge
# Add the interfaces to the bridges
ip link set veth_host_1_b master br_1
ip link set veth_host_2_b master br_1
...
ip link set veth_host_x_b master br_2
ip link set veth_host_y_b master br_2
...
# Bring up the bridges
ip link set br_1 up
ip link set br_2 up
...
# The setup the interfaces
ip link set veth_host_1 address aa:bb:cc:dd:ee:f1 up
ip link set veth_host_2 address aa:bb:cc:dd:ee:f2 up
...
# (and so on for each interface)