将特定 IP 路由到虚拟机内的辅助以太网网络

将特定 IP 路由到虚拟机内的辅助以太网网络

我有一台在 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使其永久生效。

相关内容