
我有一個 Raspberrypi,有連接到互聯網的 E3531 UMTS Stick。由於 Rpi 是無頭的,我希望透過 Rpi 的 IP 可以使用 Stick 的 Web 介面。
Stick 建構了一個 192.168.8.0/24 的網絡,其中介面具有 192.168.8.1,而 Rpi 始終獲得 192.168.8.100。透過簡單的 http 存取 Web 介面。 Rpi 可透過具有 10.253.3.4/24 的wiregurad vpn(在棒上建置)或其維護 eth0 實體 LAN 介面(具有 192.168.13.24/24)進行存取。理想情況下,網路介面應該可以透過兩種方式存取。
我的第一個方法是 LAN 介面遵循兩個規則:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.8.1:80
iptables -t nat -A POSTROUTING -o enx001e101f0000 -j MASQUERADE
第一條規則將 Rpi 本身的 eth0 的 http 請求轉送到 Web 介面,第二個規則偽裝棒介面的來源位址 (enx001e101f0000)
不幸的是它不起作用。如果我在瀏覽器中存取 Rpi,
http://192.168.13.24
請求將更改為並顯示http://192.168.8.1/html/index.html?url=192.168.13.24
錯誤。ERR_ADDRESS_UNREACHABLE
我在這裡錯過了什麼以及這個“url”查詢參數來自哪裡?
先感謝您
答案1
這是由於棒上的 http 伺服器的配置所致,您無法更改該配置(至少不能永久更改且無需修改韌體)。
一種選擇是運行反向代理並重寫從該棒返回的 URL。
更高層次的問題是為什麼首先需要三個 DHCP 伺服器。考慮禁用其中之一以簡化設定。