Linux

為什麼只能在我的 ssh 乙太網隧道末端訪問網關?

  • January 15, 2019

我有一個通過 Linux 網關連接到 Internet 的遠端專用網路。網關有以下安排:

  • eth0 - 外部 IP
  • br0 - 將 eth1 和 tap0 設備添加到網橋。

eth1 是內部網路,我們稱它為 192.168.0.1。eth1 服務於 DNS 和 DHCP。一切都在該內部網路上執行良好,客戶端獲得 DHCP 地址並且 DNS 正常工作。

現在我想從本地站點連接到遠端網路。本地站點僅由另一個專用網路上的兩台機器組成:本地網關和客戶端機器。所以我在本地網關上執行:

ssh -o Tunnel=ethernet -w 0:0 root@remote.gateway

這部分有效。ssh 沒有報告錯誤。客戶端機器從 DHCP 伺服器 192.168.0.1 獲取 IP 地址,並且可以 ping 伺服器並執行 DNS 查找,但是它不能與遠端專用網路上的任何其他機器(例如遠端伺服器)通信。

我需要做什麼來告訴本地/遠端網關數據包應該轉發到相關的遠端機器上?

在此處輸入圖像描述

這不起作用,因為我用於遠端伺服器網路的 VMWare 虛擬交換機未處於混雜模式。ARP 請求已到達遠端伺服器 NIC,但從未返回網關。所以答案是將交換機配置為允許混雜模式。在 vSphere 中,主機選擇管理 -> 網路 -> 虛擬交換機 -> 編輯。

更多資訊: https ://kb.vmware.com/s/article/1002934

引用自:https://serverfault.com/questions/948621