两台机器之间的路由

两台机器之间的路由

我打算将 Internet 从 openSUSE Leap 15.1 传递到 CentOS 7:

  • openSUSE Leap 15.1 机器可通过无线路由器访问互联网
  • 由于缺少适当的无线芯片驱动程序,CentOS 7机器无法访问互联网

我通过以太网电缆将 openSUSE 机器连接到 CentOS。我的理解是我应该有两个不同的子网:

  • 开放SUSE
    • 拥有静态 IP 地址192.168.2.252/24
    • 拥有 DHCP IP 地址192.168.1.51/24
      • 通过以下方式访问互联网192.168.1.1
  • 中央操作系统
    • 拥有静态 IP 地址192.168.2.251/24

观察结果

  • 在 CentOS 内192.168.2.251我可以 ping openSUSE192.168.2.252
  • 在 CentOS 内192.168.2.251我可以 ping openSUSE192.168.1.51
  • 在 CentOS 中192.168.2.251我可以不是ping 互联网路由器192.168.1.1
  • 在 CentOS 中192.168.2.251我可以不是1.1.1.1
  • 在 CentOS 里面192.168.2.251我做不是可以访问互联网

openSUSE 上的路由

> ip route
default via 192.168.1.1 dev wlan0 proto dhcp metric 600 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.51 metric 600 
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.252 metric 100

问题

我无法弄清楚路由出了什么问题。奇怪的是,在 CentOS 上我可以 ping 通两个子网上的 openSUSE,但我无法 ping 通互联网路由器!

答案1

问题是您的互联网路由器不知道网络 192.168.2.0/24。 openSUSE 机器知道该网络,因此即使使用其他地址访问时也会应答。

如果您有权访问互联网路由器,并且地址 192.168.1.51 是固定的 DHCP 租约,则可以在互联网路由器上添加一条通过 192.168.1.51 指向 192.168.2.0/24 的路由。

一个可能更简单的方法是向 openSUSE 机器的 wifi 接口添加伪装,如下所示向超级用户提问

相关内容