我已经研究这个问题 3 天了。仅供参考,我已阅读了有关此主题的所有帖子,但无果。问题始终相同。
我正在构建一个 18.04 LTS 服务器,使用 Unity 桌面作为媒体服务器,这是一个新安装。我正在尝试为我的媒体服务器设置一个静态 IP。从未遇到过“接口”问题。但是使用 NETPLAN 和 YAML (50-cloud-init.yaml) 很困难。NETPLAN 的配置 YAML 文件总是出现相同的重复错误。错误大多数时候返回缩进错误和似乎是其他解析。我已经编写并重写了文件数十次。三次检查缩进是否太多空格、空格不足、多余空格间距错误。我解决了部分问题,然后出现新的或重复的错误。复制了许多所谓的工作示例,将它们粘贴进去并正确替换我的数据;仍然出现这些错误。甚至在几个 YAML 验证器中检查了文件,它说文件没有问题。
尝试切换回 INTERFACES 和 IFUPDOWN,但现在出现 systemd 错误。能够切换回 NETPLAN,但使用 DHCP。我绝不是 Linux 专家,如果能用通俗易懂的英语提供清晰示例,我将不胜感激。
请注意,我是残疾人,并且患有严重的阅读障碍,每次迭代我都非常仔细地进行,以确保其正确。
Default 50-cloud-init.yaml -comments not included
network:
ethernets:
enp3s0:
dhcp4: true
version: 2
Desired config of 50-cloud-init.yaml
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcpv4: no
dhcpv6: no
addresses:.192.168.10.1/24
gateway4: 192.168.10.10
nameservers:
addresses: [8.8.8.8,8.8.4.4]
/etc/network$ cat interfaces file.
ifupdown is installed but nt in use at this time.
# ifupdown has been replaced by netplan(5) on this system. See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
# sudo apt install ifupdown
Generated errors. I recreated the file from scratch.
All using double spaces.
/etc/network$ sudo netplan --debug generate
DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:27358): DEBUG: 10:35:10.506: Processing input file /etc/netplan/50-cloud-init.yaml..
/etc/netplan/50-cloud-init.yaml:15:18: Invalid YAML: inconsistent indentation:
nameservers:
user@server:/etc/network$ sudo lshw -C network
*-network DISABLED
description: Wireless interface
product: AR9485 Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: 01
serial: e0:06:e6:25:8a:23
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list rom ethernet physical wireless
configuration: broadcast=yes driver=ath9k driverversion=4.15.0-91-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11
resources: irq:16 memory:f7100000-f717ffff memory:f7180000-f718ffff
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0
version: 07
serial: 5c:f9:dd:6c:fa:90
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=rtl8168e-3_0.0.4 03/27/12 ip=192.168.10.10 latency=0 link=yes multicast=yes port=MII speed=1Gbit/s
resources: irq:19 ioport:d000(size=256) memory:f2104000-f2104fff memory:f2100000-f2103fff
答案1
您的 .yaml 文件不正确。试试这个...确保保留空格、缩进,并且没有制表符...
笔记:我还反转了你的 IP 地址,因为我觉得你搞反了。检查一下。
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: [192.168.10.10/24]
gateway4: 192.168.10.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
sudo netplan --debug generate
# 生成配置文件
sudo netplan apply
# 应用新计划
reboot
# 重启计算机
笔记: 看https://netplan.io/examples了解更多信息
答案2
在 ubuntu 18.04 和 20.04 版本发布后,netplan
获取随机 IP 地址的方法就出现了。我尝试了很多方法,但只有一种方法对我有用。我不明白这里为什么会有这么多不同的方法。对我来说有效的是以下方法:网络:
ethernets:
enp0s25:
addresses:
- 192.168.1.19/24
gateway4: 192.168.1.2
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
不要使用制表符来缩进,请使用空格。必须编辑 IP 地址和网络名称以供您使用。