Ubuntu 20.04.5网络配置恢复及静态IP设置技术求助
Ubuntu 20.04.5网络配置恢复及静态IP设置技术求助
作为有25年经验的网络IT专家,碰到Netplan的YAML缩进问题确实让人窝火——我太懂这种明明子网知识烂熟,却被配置文件格式卡壳的挫败感!咱们一步步来解决你的问题:
一、先恢复默认DHCP网络连接
你的核心需求是先把网络弄回能用的状态,咱们直接重置Netplan配置:
- 先备份损坏的配置文件(留个后路总是好的):
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak - 创建干净的基础配置:
用nano打开配置文件:
然后删除现有内容,粘贴下面严格按照2个空格缩进的配置(YAML绝对不能用Tab,切记!):sudo nano /etc/netplan/00-installer-config.yaml# This is the network config written by 'subiquity' network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4: true enp3s0f1: dhcp4: true enp4s0f0: dhcp4: true - 应用配置并验证:
先生成配置文件检查语法(这一步能提前发现缩进错误,比直接apply靠谱):
如果没有报错,就应用配置:sudo netplan generate
之后用sudo netplan applyip addr show查看网卡是否获取到DHCP地址,或者ping个公网地址(比如ping 8.8.8.8)测试连通性。要是还不行,重启networkd服务:sudo systemctl restart systemd-networkd
二、配置静态IP(避免再踩缩进坑)
恢复网络后,咱们来设置静态IP,关键还是严格遵守YAML的2空格缩进规则。以给enp4s0f0设置静态IP为例:
- 编辑配置文件:
sudo nano /etc/netplan/00-installer-config.yaml - 修改
enp4s0f0的配置块,替换成你实际的网络参数(比如IP是192.168.1.100/24,网关192.168.1.1,DNS用谷歌和Cloudflare的):
这里解释下关键字段:# This is the network config written by 'subiquity' network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4: true enp3s0f1: dhcp4: true enp4s0f0: dhcp4: false addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]dhcp4: false:关闭该网卡的DHCPaddresses:静态IP+子网掩码(CIDR格式),用方括号包裹,多个IP的话用逗号分隔gateway4:默认网关地址nameservers.addresses:DNS服务器地址,同样用方括号包裹
- 同样先运行
sudo netplan generate检查语法,确认无错后再sudo netplan apply生效,最后用ip addr show enp4s0f0验证静态IP是否正确配置。
小技巧:每次修改YAML后,先运行netplan generate,它会明确告诉你哪一行缩进有问题,比盲目apply后报错更高效。
备注:内容来源于stack exchange,提问作者surf40




