Networking

兩台機器之間的路由

  • March 14, 2021

我打算將 Internet 從 openSUSE Leap 15.1 傳遞到 CentOS 7:

  • openSUSE Leap 15.1 機器通過無線路由器訪問網際網路
  • CentOS 7 機器因缺少合適的無線晶片驅動而無法上網

我通過乙太網電纜將 openSUSE 機器連接到 CentOS。我的理解是我應該有兩個不同的子網:

  • openSUSE

    • 具有靜態 IP 地址192.168.2.252/24
    • 有 DHCP IP 地址192.168.1.51/24
      • 通過訪問網際網路192.168.1.1
  • 中央作業系統

    • 具有靜態 IP 地址192.168.2.251/24

觀察

  • 在 CentOS192.168.2.251中我可以 ping openSUSE192.168.2.252
  • 在 CentOS192.168.2.251中我可以 ping openSUSE192.168.1.51
  • 在 CentOS 內部192.168.2.251無法ping 網際網路路由器192.168.1.1
  • 在 CentOS 內部192.168.2.251無法ping1.1.1.1
  • 在 CEntOS 內部192.168.2.251無法訪問 Internet

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 網際網路路由器!

問題是您的網際網路路由器不知道網路 192.168.2.0/24。openSUSE 機器知道該網路,因此即使在使用其他地址訪問時也會響應。

如果您可以訪問 Internet 路由器並且地址 192.168.1.51 是一個固定的 DHCP 租約,您可以在 Internet 路由器上添加一條通過 192.168.1.51 指向 192.168.2.0/24 的路由。

一種可能更簡單的方法是向 openSUSE 機器的 wifi 介面添加偽裝,就像在 superuser 的這個問題中一樣。

引用自:https://unix.stackexchange.com/questions/638969