pto*_*tor 1 networking netplan
我对 Netplan 配置有一些疑问,但找不到任何相关信息:
我发现为了表示 IP 地址,您必须使用关键字addresses。
配置接口 ( enp3s0) 或 DNS 服务器 ( nameservers) 的 IP 地址时会发生这种情况,但配置网关 ( gateway4) 时不会发生这种情况:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 10.10.10.2/24
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
gateway4: 10.10.10.1
Run Code Online (Sandbox Code Playgroud)
我见过三种不同的 IP 表示法
:,例如gateway4: 10.10.10.1
Run Code Online (Sandbox Code Playgroud)
-, 例如enp3s0:
addresses:
- 10.10.10.2/24
Run Code Online (Sandbox Code Playgroud)
[], 就像在nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Run Code Online (Sandbox Code Playgroud)
我对何时使用它们有点困惑。
小智 5
答案在于对 YAML 语法的理解。
YAML 使用键/值对。一组键/值对就是一个“映射”。值(在键/值对中)可以是单个标量、列表或映射。列表可以是标量列表、列表或映射。列表可以放在一行中,用方括号 [] 括起来并用逗号分隔,也可以将列表放在单独的行中,并在每个列表元素的开头使用连字符。如果我们不考虑多文档功能,YAML 文件的顶层是一个映射。
这里的 ip 地址是一个标量列表,列表中只有一个元素。
addresses:
- 10.10.10.2/24
Run Code Online (Sandbox Code Playgroud)
这里的 IP 地址是两个标量的列表,但所有元素都在一行上。
addresses: [8.8.8.8, 1.1.1.1]
Run Code Online (Sandbox Code Playgroud)
这里的 IP 地址是一个标量。
gateway4: 10.10.10.1
Run Code Online (Sandbox Code Playgroud)
正如您可能猜到的,如果您愿意,可以像这样重写前两个。
addresses: [10.10.10.2/24]
addresses:
- 8.8.8.8
- 1.1.1.1
Run Code Online (Sandbox Code Playgroud)
因此,看起来只能有一个网关(标量),但可以有多个名称服务器地址以及分配给一个接口的多个地址。
| 归档时间: |
|
| 查看次数: |
645 次 |
| 最近记录: |