Ubuntu 20.04怎么设置网络保证开机能够启动网卡
时间: 2025-07-25 20:35:40 浏览: 3
<think>我们正在处理的是Ubuntu 20.04系统,用户的目标是配置开机自动启用网卡(ens33)。根据引用[3],Ubuntu 20.04使用netplan进行网络配置,不再使用旧的/etc/network/interfaces文件。
步骤:
1. 找到netplan配置文件:通常位于/etc/netplan/目录下,文件名可能是01-netcfg.yaml、00-installer-config.yaml等。
2. 编辑配置文件,确保要自动启用的网卡(如ens33)被正确配置,并且设置开机自动启动。
3. 应用配置。
注意:在netplan中,网卡默认是自动启用的,除非被设置为`optional: true`(这通常用于无线网卡或可能不存在的接口)。对于有线网卡,我们通常不需要设置`optional: true`,或者可以设置为`optional: false`以确保系统等待该网卡被激活。
具体步骤:
1. 打开配置文件:
```bash
sudo nano /etc/netplan/01-netcfg.yaml # 请根据实际文件名调整
```
2. 修改配置文件,确保ens33网卡的配置中包含`dhcp4: yes`(或静态IP配置)并且没有设置`optional: true`(或者设置为`optional: false`)。例如:
```yaml
network:
version: 2
renderer: NetworkManager # 或者networkd,根据系统安装的网络管理器
ethernets:
ens33:
dhcp4: yes
# 如果希望确保网卡在启动时被激活,可以设置optional为false(但通常有线网卡默认就是非可选的)
optional: false
```
或者使用静态IP:
```yaml
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
optional: false
```
3. 应用配置:
```bash
sudo netplan apply
```
4. 重启系统或重启网络服务(如果使用NetworkManager,则重启NetworkManager服务;如果使用systemd-networkd,则重启该服务):
```bash
sudo systemctl restart NetworkManager # 如果使用NetworkManager
# 或者
sudo systemctl restart systemd-networkd # 如果使用networkd
```
5. 验证:
```bash
ip link show ens33
```
应该显示`state UP`。
注意:如果网卡之前被NetworkManager标记为“unmanaged”,则需要通过以下命令将其设为托管:
```bash
nmcli device set ens33 managed yes
```
然后重新应用netplan配置或重启NetworkManager。
引用说明:
根据引用[3],Ubuntu 20.04使用netplan配置网络,并且配置文件的路径为/etc/netplan/下的yaml文件。同时,引用[2]也提到Ubuntu 18.04开始使用netplan替代了ifupdown。
因此,以上步骤适用于Ubuntu 20.04。
如果用户之前使用的是NetworkManager,并且网卡被设置为非托管状态,那么即使netplan配置正确,网卡也可能不会被启动。因此,需要确保NetworkManager管理该网卡。
相关问题:
1. Ubuntu 20.04如何配置静态IP地址?
2. 如何解决Ubuntu 20.04网卡被NetworkManager标记为“unmanaged”的问题?
3. Ubuntu 20.04网络服务重启命令有哪些?
4. 如何检查Ubuntu 20.04的网卡驱动是否正常?
5. Ubuntu 20.04多网卡如何配置路由?</think>### Ubuntu 20.04 配置开机自动启用网卡指南
#### 核心解决方案:使用 Netplan 配置
Ubuntu 20.04 使用 Netplan 作为默认网络配置工具,替代了旧的 `/etc/network/interfaces` 方式[^2][^3]。以下是详细步骤:
1. **定位配置文件**
打开 Netplan 主配置文件(文件名可能略有不同):
```bash
sudo nano /etc/netplan/00-installer-config.yaml
```
2. **配置网卡自动启动**
修改 YAML 文件,确保包含以下关键设置:
```yaml
network:
version: 2
renderer: networkd # 或 NetworkManager
ethernets:
ens33: # 替换为你的网卡名
dhcp4: yes # 启用DHCP获取IP
optional: false # 关键!强制开机启动网卡[^3]
# 静态IP配置示例(可选):
# addresses: [192.168.1.100/24]
# gateway4: 192.168.1.1
# nameservers:
# addresses: [8.8.8.8, 114.114.114.114]
```
- `optional: false` 确保系统等待该网卡完成初始化
- 静态IP配置仅在需要时添加
3. **应用配置**
```bash
sudo netplan apply # 立即生效
```
4. **验证状态**
```bash
ip link show ens33 | grep state
# 应显示:state UP
```
#### 解决常见问题
**场景1:网卡仍显示 `state DOWN`**
```bash
sudo nmcli device set ens33 managed yes # 允许NetworkManager管理
sudo systemctl restart NetworkManager
```
**场景2:配置不生效**
```bash
sudo netplan --debug generate # 调试配置
sudo netplan apply --debug # 详细日志
```
**场景3:虚拟机特殊配置**
在 VMware/VirtualBox 中:
```bash
sudo nano /etc/default/grub
# 添加:net.ifnames=0 biosdevname=0
sudo update-grub
```
#### 完整配置示例
```yaml
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: true
dhcp6: false
optional: false
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
```
> **关键点**:
> - Ubuntu 20.04 必须使用 Netplan 配置网络[^3]
> - `optional: false` 是开机自启的关键参数
> - 虚拟机可能需要禁用 Predictable Network Interface Names
---
### 📚 相关问题
1. Ubuntu 20.04 如何配置双网卡共享上网?
2. Netplan 和传统 network/interfaces 配置有何区别?
3. 如何解决 Ubuntu 20.04 开机后网卡获取不到 IP 的问题?
4. Ubuntu 服务器版如何配置多网卡负载均衡?
5. 如何为 Ubuntu 20.04 配置永久静态路由?
[^1]: 在Ubuntu20.04 server系统的配置中,通过配置网卡实现网络共享
[^2]: Ubuntu18.04开始使用netplan替代传统的ifupdown网络配置
[^3]: Ubuntu 20.04配置静态IP地址必须通过netplan的yaml文件实现
阅读全文
相关推荐


















