無法從連接到 Pi 上的網橋的電腦透過 SSH 連接到 Rasberry Pi

無法從連接到 Pi 上的網橋的電腦透過 SSH 連接到 Rasberry Pi

背景:

我有一台 Windows PC,之前它透過乙太網路直接連接到我的路由器,從而可以存取網路。

我還有一個帶有 2 個實體乙太網路介面的 Raspberry Pi,它透過上述乙太網路介面之一連接到我的路由器(eth0& eth1),這使Pi 可以存取互聯網(已嘗試成功使用這兩個接口,所以我知道它們都工作)

對於我正在做的一個項目,我創建了一個橋,其中包含介面eth0& eth1,並且我有一個連接到路由器的介面和一個連接到 Windows PC 的介面。

透過此配置,我可以在 Windows PC 上存取互聯網,這意味著網橋可以正常運作。但 Pi 本身無法上網(經過嘗試ping 8.8.8.8和測試wget 8.8.8.8,沒有橋接器也能運作。)

我也無法從我的 Windows PC SSH 到 Pi,並且在嘗試這樣做時收到“連接已超時”錯誤(已工作多次,我經常使用 Putty 或 MobaXTerm 訪問 Pi)

問題:

有沒有辦法讓我的 Windows PC(或網橋另一端的任何設備)能夠訪問互聯網,仍然可以在 Raspberry Pi 上訪問互聯網,並且能夠從“非- 網路的路由器”一側?

(對我來說更重要的是能夠透過 SSH 連接到 Pi,能夠存取網路將是一個額外的好處!)

任何和所有的幫助/建議將不勝感激!

答案1

解決方案可能是在 Pi 上建立一個分接接口,並將該接口添加到橋接器中。 Tap 介面應該會取得適合您本機 LAN 的 IP 位址。那麼您的 eth0/eth1 可能就不再需要 IP 位址了。

ip tuntap add name tap0 mode tap
brctl addbr mybridge
brctl addif mybridge eth0
brctl addif mybridge eth1
brctl addif mybridge tap0
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig mybridge up
ifconfig tap0 192.168.100.5 netmask 255.255.255.0 up

另一種方法是為 pi 上的網橋提供一個 IP 位址。

brctl addbr mybridge
brctl addif mybridge eth0
brctl addif mybridge eth1
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig mybridge up
ifconfig mybridge 192.168.100.5 netmask 255.255.255.0 up

答案2

您可能需要為橋接介面(而不是 eth0 或 eth1)指派一個 IP,並取得一個 IP 和所需的路由。

根據運行的兩個網段dhclient br0(假設網橋有該設備br0)可能會起作用,否則靜態 IP 可能會更好,特別是當兩個網段都運行 DHCP 伺服器時。

相關內容