Ubuntu 20.04 双网卡路由配置 方法
时间: 2025-05-22 22:49:19 浏览: 66
### 配置双网卡路由的方法
在 Ubuntu 20.04 中配置双网卡路由涉及多个步骤,主要包括虚拟机网络适配器的设置、IP 地址分配以及路由表的调整。以下是详细的说明:
#### 一、虚拟机网络适配器设置
首先,在虚拟机软件(如 VMware 或 VirtualBox)中为虚拟机添加第二个网络适配器,并分别将其设置为桥接模式和 NAT 模式[^1]。
- **桥接模式**:允许虚拟机直接访问物理网络,其 IP 地址需与宿主机在同一子网内。
- **NAT 模式**:通过宿主机共享 Internet 连接,通常用于访问外部网络。
确保两块网卡对应的 VMnet 网段已知。例如:
- 桥接网卡的 IP 应位于 `192.168.1.x` 子网。
- NAT 网卡的 IP 应位于 `192.168.153.x` 子网。
#### 二、Netplan 配置文件编辑
Ubuntu 20.04 使用 Netplan 来管理网络配置。需要创建或修改 `/etc/netplan/*.yaml` 文件来定义每张网卡的行为。
以下是一个典型的 YAML 配置示例[^4]:
```yaml
network:
version: 2
renderer: networkd
ethernets:
eth0: # 外部网络接口 (NAT)
dhcp4: true
dhcp4-overrides:
route-metric: 100
eth1: # 内部网络接口 (桥接)
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
```
保存文件后运行以下命令应用更改并验证配置是否生效:
```bash
sudo netplan apply
ip addr show
```
#### 三、路由优先级调整
为了实现特定流量走不同的网卡,可以通过设置路由度量值 (`route-metric`) 和自定义路由规则完成。
假设希望内部局域网流量始终经过 `eth1`,而其他流量经由 `eth0` 出口,则可增加额外的静态路由条目:
```bash
sudo ip rule add from 192.168.1.100 table 1 priority 100
sudo ip route add default via 192.168.1.1 dev eth1 table 1
```
同时查看当前默认路由状态以确认变更效果:
```bash
ip route show default
```
#### 四、禁用冲突的服务
某些情况下可能遇到 NetworkManager 或 Connman 干扰手动配置的情况。此时应停止这些服务并将网络管理权交给 systemd-networkd:
```bash
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
sudo systemctl stop connman
sudo systemctl disable connman
```
最后再次测试连通性和路由行为是否符合预期。
---
阅读全文
相关推荐


















