我正在尝试配置静态 IP,但当我尝试执行更改时,始终出现此错误:
Invalid YAML: mapping values are not allowed in this context:
network:
^
我已将我的编辑/etc/netplan/00-installer-config.yaml
为:
network:
version: 2
ethernets:
eno1:
dhcp4: false
addresses: [192.168.20.6/24]
gateway4: 192.168.20.2
nameservers:
addresses: [8.8.8.8,8.8.4.4,192.168.20.2]
我使用本指南对于此配置,但我还遵循了许多其他指南,每次都得到相同的结果。
全部这我读过的其他与此问题相关的问题与不正确的缩进或间距有关,但我看不出我哪里做错了。我遵循了几个不同的示例,并多次重写了文件,以确保我没有遗漏任何空格,但每次我得到的结果都相同。
答案1
您的内容/etc/netplan/00-installer-config.yaml
应该看起来像这样。Netplan 对格式非常挑剔。请完全按照我展示的方式使用我的 .yaml。
- 2 个空格缩进
- 没有标签
- 添加了“渲染器:网络化”
- “dhcp4: false” 不是必需的,因为 false 是默认值
- [192.168.20.6/24] 括起来
- 名称服务器地址中的逗号后有空格
network:
version: 2
renderer: networkd
ethernets:
eno1:
addresses: [192.168.20.6/24]
gateway4: 192.168.20.2
nameservers:
addresses: [8.8.8.8, 8.8.4.4, 192.168.20.2]
sudo netplan --debug generate
sudo netplan apply
reboot
答案2
我认为您的 yaml 文件无效,原因正是您怀疑的:缩进和空格。您的文件部分内容如下:
network:
version: 2
ethernets:
eno1:
请注意,缩进是下面一个空格网络:. 比较提供的模板:
cat /usr/share/doc/netplan/examples/static.yaml
其中部分内容如下:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
请注意,在任何情况下,缩进都是(除了域名服务器),两个空格。我建议您将文件修改为:
network:
version: 2
renderer: networkd
ethernets:
eno1:
addresses:
- 192.168.20.6/24
gateway4: 192.168.20.2
nameservers:
addresses: [8.8.8.8,8.8.4.4,192.168.20.2]
Netplan 还非常具体,它允许文件中有空格,但不允许有制表符。请按照以下步骤操作:
sudo netplan generate
sudo netplan apply