Routing

使用第二個介面路由

  • February 14, 2013

我有一台我控制的機器執行 Ubuntu 12.10。我在一個只允許我連接一個設備的網路上。我還有一個 USB 乙太網適配器。我想為我的樹莓派創建一個掛起的專用網路,這樣我就可以通過 SSH 連接它並且它可以訪問網際網路。

有人可以解釋一下我需要做什麼才能在不破壞主網路連接的情況下實現這一目標嗎?不知道我需要在廣闊的 linux 路由領域做什麼,這使得Google搜尋有些徒勞。

這取決於您的 LAN 連接對您施加的確切限制。

如果您只能將一台物理設備連接到網路(您只能獲得一個 IP 地址 - 可能基於您的網路適配器的 MAC 地址),您正在尋找的解決方案是NAT,它創建一個專用網路並提供它的節點可以從外部進行一定程度的訪問(以及被訪問的能力)。

Linux 中的“純軟體”解決方案包括:

  • 允許不同介面之間的數據包轉發(預設關閉)

  • 使用Netfilter或更準確地說是它的一部分iptables設置 NAT 本身。

  • 為內部網路配置路由 - 靜態或通過DHCP最有可能在具有 LAN 連接的機器上執行 DHCP 伺服器。這是為了確保

    1. 連接到外部網路的機器知道如何處理以專用網路為目標的數據包,並且
    2. 內部網路上的節點知道向外部網路發送數據包的位置。這包括正確設置名稱伺服器(從 LAN 傳播設置,除非您想執行自己的DNS伺服器——這對於一個 R-Pi 來說有點矯枉過正)。

關鍵字:NAT、iptables、數據包轉發、路由、DHCP、DNS

我發現的前 兩個連結(前兩個關鍵字放在一起)似乎是合理的。

當然,您可以通過購買家用級路由器(起價約為 R-Pi 價格的三分之一)來省去設置的麻煩。只需大約 R-Pi 的價格,您就可以獲得無線路由器。

現在,如果您可以連接更多設備但只有一個物理連接器,您可以設置橋接/轉發。您需要在 PC 中創建一個包含兩個網路設備的網橋,或者設置數據包轉發,如果您的 LAN 使用 DHCP(當今大多數網路都使用),還需要DHCP 中繼。然而,第二個選項(轉發)沒有多大意義,因為它實際上模仿了前者(即橋接)。不過,選擇它可能有一些原因(例如,如果您通過 wi-fi 連接到網路,那麼橋接幾乎是不可能的)。

關鍵詞:(網路)網橋、包轉發、DHCP中繼

同樣,您可以使用硬體開關達到相同的效果。雖然這些比路由器便宜,但路由器的附加價值(無論如何都可以配置為充當交換機)使其通常成為更好的選擇。

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