我有一台在 Windows 10 机器上运行的 Ubuntu 20.04 VM。这台 Windows 机器通过 VPN 连接到我工作的公司。
在 VM 配置上,我创建了 2 个网络,一个使用 NAT 模式,另一个使用桥接模式。
VM 内的 NAT 网络使用 Windows 计算机的 VPN。VM 内的 Bridged 网络直接连接到我的路由器。
我想配置我的网络,以便只有一些 IP 应该使用 NAT 连接,而所有其他 IP 都转到 Bridge 连接。
我创建此条目于/etc/hosts
10.333.44.10 github.company.com
以及 NetPlan 配置:
network:
version: 2
ethernets:
enp0s8: #Bridge
gateway4: 192.168.15.1
dhcp4: yes
enp0s3: #NAT
dhcp4: false
addresses: [10.0.2.0/24]
routes:
- to: 10.0.0.0/24
via: 10.0.2.0
metric: 10
当我没有配置 NetPlan 时,ifconfig 显示:
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
我可以毫无问题地访问互联网上的所有内容,但如果我尝试访问https://github.company.com我收到超时错误。
我想让每个使用的主机都10.\*.\*.\*
被路由到enp0s3
网络。
如果我禁用默认的 Bridge 网络并仅使用默认的 NAT 网络,我就可以毫无问题地访问 github url。
我从来没有搞过路由,所以我不知道自己在做什么。
答案1
所以,PEdroArthur 的评论正是我完成这项工作所需要的。
如果有人有同样的问题,我会在下面提供正确的配置。
enp0s3
此配置应使与(NAT) 路由列表上的 IP 不同的所有内容都通过enp0s8
(Bridge) 进行。
network:
version: 2
ethernets:
enp0s8: #Bridge
gateway4: 192.168.15.1
dhcp4: yes
routes:
- to: 0.0.0.0/0
via: 192.168.15.1
metric: 11
enp0s3: #NAT
dhcp4: false
addresses: [10.0.2.0/24]
routes:
- to: 10.333.44.0/24
via: 10.0.2.2
metric: 10
- to: XXX.XXX.XXX.0/24
via: 10.0.2.2
metric: 10
只需将 更改XXX.XXX.XXX
为您需要的 IP。您可以根据需要添加任意数量。
创建一个新的config.yaml
并/etc/netplan
运行netplan try
,尝试新配置 2 分钟并netplan apply
使其永久生效。