Linux - 2 个虚拟机 - 一个互联网访问

Linux - 2 个虚拟机 - 一个互联网访问

我目前正在学习 Linux 路由。我正在运行 CentOS 7。

我想从具有内部网络适配器的 VM 访问互联网,并使用具有内部网络适配器和 NAT 适配器的第二个 VM 作为网关。

在这种情况下我应该如何设置路线?

VM1

  • 虚拟机

    enp0s3 - inet 10.0.2.15  netmask 255.255.255.0 - NAT
    enp0s8 - inet 198.162.0.1  netmask 255.255.255.0 - internal network
    
  • 路线

    default via 10.0.2.2 dev enp0s3 proto static metric 100
    10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15 metric 100
    198.162.0.0/24 dev enp0s8 proto kernel scope link src 198.162.0.1 metric 100
    

VM2

  • VM 仅限内部网络

    inet 198.162.0.2 netmask 255.255.255.0 - internal network
    
  • 路线:目的地 198.162.0.0 网关。0.0.0.0;

从 VM1 ping 到 VM2 正常;从 VM1 ping 到 8.8.8.8(外部世界)也正常;

我无法通过 198.162.0.1 添加默认网关,它总是显示错误(错误:“to”重复,或“gw”是垃圾)

我也想过是否可以这样做,因为它只是内部网络

答案1

到目前为止看起来不错,但 2. VM(仅内部网络)还需要一个192.168.0.0/24路由(通常在添加 IP 地址时会自动添加)和一个default via 192.168.0.1/24到 1. VM 的默认路由(几乎总是会自动添加)。否则 2. VM 将不知道将发往“互联网”的数据包发送到哪里。

故障排除:

用于ping查看虚拟机是否可以相互通信,虚拟机 1 是否可以与互联网通信(例如,ping 8.8.8.8与 Google DNS 服务器通信),以及最后虚拟机 2 是否可以与互联网通信(通过虚拟机 1)。

用于ip route get <ip_addr>验证您的想法的路由解析方式是否与路由表相符。

相关内容