我是 Ubuntu 18.04 上 netplan 的新手,今天才发现它存在。我有一个接口,我正尝试添加它以在 Google Cloud 上创建一个浮动 IP。它基于此示例: https://cloud.google.com/solutions/best-practices-floating-ip-addresses#implementing_option_4
我测试了这个示例,并且它可以工作,但是现在我尝试在 ubuntu 上执行同样的事情,但我不知道如何转换它:
cat << EOF >> /etc/network/interfaces
auto eth0:0
iface eth0:0 inet static
address 10.190.1.1
netmask 255.255.255.255
EOF
到 netplan。
的输出为ls /etc/netplan
“50-cloud-init.yaml”。 的输出为cat /etc/netplan/*.yaml
:
network:
version: 2
ethernets:
ens4:
dhcp4: true
match:
macaddress: 42:01:0a:8e:00:3e
set-name: ens4
我的ifconfig:
# ifconfig ens4
ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.142.0.62 netmask 255.255.255.255 broadcast 0.0.0.0
inet6 fe80::4001:aff:fe8e:3e prefixlen 64 scopeid 0x20<link>
ether 42:01:0a:8e:00:3e txqueuelen 1000 (Ethernet)
RX packets 9430 bytes 1635180 (1.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13383 bytes 1513428 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
对于 netplan 来说,他所说的放入文件中的内容相当于什么?
答案1
首先,您的说法/etc/network/interfaces
是错误的。您不能先请求“auth eth0”,然后再设置静态地址。
auto eth0:0
iface eth0:0 inet static
address 10.190.1.1
netmask 255.255.255.255
如果我明白您要做什么,那么这个 netplan .yaml 代码片段就是您所需的最少内容……
network:
version: 2
renderer: networkd
ethernets:
ens4:
dhcp4: false
dhcp6: false
addresses:
- 10.142.0.62/24 # server #1, 10.142.0.63/24 for server #2
- 10.190.1.1/24 # floating IP in keepalived.conf
gateway4: 10.142.0.1
假设:
- 只有一个以太网接口,ens4:
- 如果你有多端口以太网卡,我的 .yaml 需要额外的代码
- Ubuntu Server 环境
- 没有使用 NetworkManager
答案2
似乎你不能创建 eth0:0
看一下这个:https://netplan.io/examples
Multiple addresses on an interface
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 10.100.1.38/24
- 10.100.1.39/24
gateway4: 10.100.1.1
Multiple gateways and multiple ips
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 9.0.0.9/24
- 10.0.0.10/24
- 11.0.0.11/24
#gateway4: # unset, since we configure routes below
routes:
- to: 0.0.0.0/0
via: 9.0.0.1
metric: 100
- to: 0.0.0.0/0
via: 10.0.0.1
metric: 100
- to: 0.0.0.0/0
via: 11.0.0.1
metric: 100
答案3
在 netplan 0.100 版本之前,不支持此功能。但是,0.100 版本添加了寿命和标签属性地址值。
您可以使用以下命令检查已安装的 netplan 版本:dpkg -l | grep netplan
这个 .yaml 尚未测试,但应该接近您所追求的(或至少可以推动您朝着正确的方向发展):
network:
version: 2
renderer: networkd
ethernets:
ens4:
dhcp6: no
dhcp4: no
optional: false
addresses:
- 10.142.0.62/24
- 10.190.1.1/24:
lifetime: 0
label: "eth0:0"