Go-Ethereum
如何讓兩個 geth 全節點通過 ssh 隧道進行通信
我有一個 VPN 分隔兩個節點,一個可以訪問整個網際網路,一個不能。我可以通過中間伺服器(這裡稱為 nodeB)從網際網路訪問節點(這裡稱為 nodeA)VPN 到我想在其上執行另一個 geth 完整節點的 nodeC。
我目前可以通過執行以下命令來執行 VNC 轉發之類的操作:
ssh -v -N -L 5900:nodeC:5900 user@nodeB
據我了解,這從 nodeA 連接到 nodeB,然後在 nodeA 上的 5900 與 nodeC 的 5900 之間建立一個中繼,這樣當我在 nodeA 上執行 vnc 並將其定位到 localhost:5900 時,我得到了一個連接。
我需要做什麼才能讓 nodeC 能夠執行與 nodeA 正在執行和可操作的完整節點對話的 geth 節點?
謝謝你。
我沒有針對 SSH 的確切解決方案,但是我想與您分享您的問題的替代解決方案。
零層
ZeroTier 通過單個系統提供 VPN、SDN 和 SD-WAN 功能。網路幾乎任何類型的設備或應用程序,就好像整個星球是一個單一的雲區域。
您可以創建一個 SDN(軟體定義網路)並將所有主機都包含在其中。它們將共享同一個子網。我以前做過,而且效果很好。
geth 用於在節點之間進行互通的預設埠是 30303。您已經在節點之間使用 ssh 建立了隧道,您必須讓節點相互了解。請參閱http://ethdocs.org/en/latest/network/connecting-to-the-network.html上的文件,了解如何連接節點。