如何通過 Internet 連接私有節點
我已經查看了數十個類似的問題,但似乎沒有一個有這個特殊問題。我使用 geth1.5.5 在三台不同的機器上創建了一個由三個節點組成的專用網路。當我將其中任何兩個帶到朋友家並通過 wifi 連接時,我可以使用帶有子網地址的 admin.addPeer() 將它們連接在一起,它們可以很好地同步並相互探勘,一切。
但是當機器在不同的(xfinitywifi)路由器上並且我嘗試使用外部 IP 地址與 admin.addPeer() 連接時,它們永遠不會連接。我已經嘗試將這些機器與 geth 連接到主網和測試網,並且他們在那裡發現對等點沒有問題。所以這並不是說 xfinitywifi 阻塞了節點。私有網路使用 nodiscovery 並且它們具有相同的 networkid 和 genesis 塊 - 畢竟,它們在同一個子網上工作正常。那麼可能有什麼區別??我使用網頁在每台機器上查找我的外部 IP,所以我看不出我怎麼會弄錯。我嘗試了不同的偵聽埠,但同樣,這似乎沒有任何作用,並且節點在同一子網上時工作。有人有什麼想法嗎?
在您的路由器中,將外部 IP 轉發到您的本地 geth 機器 IP,埠為 8545。例如,如果您的外部 IP 是 xxx.xxx.xxx.xxx,則將其轉發到您的本地機器 IP 192.168.0.100 和埠到 8545。它將允許公共網路中的其他人使用外部 IP 與您的設備通信。
好吧,看起來答案在於 xfinitywifi 路由器設置(當然我無法更改)。我無法將外部 IP 轉發到我的內部 IP,因此沒有人可以啟動與我的 geth 節點的連接,但我可以啟動與其他人的 geth 節點的連接,它可以發回到達我的響應。這就是為什麼我可以連接到乙太坊主網或測試網。如果我在將公開它的伺服器上設置了一個引導節點,那麼我應該能夠連接到我的各種私有節點,或者更確切地說,它們可以連接到它並相互連接。