我需要编写一个 CoreOS Cloud Config 文件,在其中设置网络。但我遇到了一个问题,因为我的环境有点奇怪。我想实现的是;
我有一个 Sophos UTM,它充当路由器/FW,因为目前我没有足够的空间安装交换机,UTM 连接了很多 NIC,因此我需要在其上运行 CoreOS 的服务器可以直接连接到 UTM。UTM 上用于服务器连接的端口设置为 VLAN 接口。正如索福斯知识库(以太网 VLAN 部分)
UTM 连接的端口必须配置为中继端口,并且它必须是您希望 UTM 使用的每个 VLAN 的 TAGGED 成员。
所以我的问题来了。我该如何在 CoreOS 框上创建这样的界面?我希望通过云配置文件来完成,但如果这不可能的话,那么手动方式也是值得赞赏的。
我希望有人能帮忙。
答案1
在您的云配置文件中放入类似这样的内容(根据您的网卡进行调整):
- name: 00-vlan1.netdev
runtime: true
content: |
[NetDev]
Name=vlan1
Kind=vlan
[VLAN]
Id=1
- name: 00-vlan2.netdev
runtime: true
content: |
[NetDev]
Name=vlan2
Kind=vlan
[VLAN]
Id=2
- name: 30-ens192.network
runtime: true
content: |
[Match]
Name=ens192
[Network]
DHCP=yes
VLAN=vlan1
VLAN=vlan2
这些信息来自两个来源:systemd-networkd 的手册页和 coreos 博客https://coreos.com/blog/intro-to-systemd-networkd
由于我也很快会需要 VLAN,因此我在自己的一个系统上尝试了此方法。效果非常好。结果如下:
core@localhost ~ $ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:48:9e:49 brd ff:ff:ff:ff:ff:ff
inet 10.9.8.123/24 brd 10.9.8.255 scope global dynamic ens192
valid_lft 3200sec preferred_lft 3200sec
inet6 fe80::20c:29ff:fe48:9e49/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff
inet 172.17.42.1/16 scope global docker0
valid_lft forever preferred_lft forever
4: vlan1@ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 42:cf:24:c7:c6:bd brd ff:ff:ff:ff:ff:ff
inet6 fe80::40cf:24ff:fec7:c6bd/64 scope link
valid_lft forever preferred_lft forever
5: vlan2@ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether da:0d:c5:73:91:1d brd ff:ff:ff:ff:ff:ff
inet6 fe80::d80d:c5ff:fe73:911d/64 scope link
valid_lft forever preferred_lft forever
core@localhost ~ $