Go-Ethereum

有沒有辦法讓 geth 只允許來自指定節點的連接?

  • January 5, 2019

我正在建立一個有 10 個 geth 節點的專用網路供我的組織自己使用,但是我不希望外部節點意外(或有意)連接到我們的 geth 節點。這些節點託管在公共伺服器上,因此我們可以在任何地方訪問它們,是否有某種方法可以使我們私有網路中的 geth 節點只允許彼此之間的對等連接並阻止來自其他節點的連接。目前我們使用 static-nodes.json 使 10 個 geth 節點相互連接,禁用發現,但是我不確定這是否足以阻止不需要的外部節點連接嘗試?謝謝。

我不確定你想深入 geth,但 p2p/Server 包含一個名為“NetRestrict”的屬性,它允許你限制與特定 IP 網路的連接。

cmd/bootnode/main.go 是一個接受“netrestrict”標誌的工作範例。看起來 Geth 還沒有完全實現這一點,但自己實現應該相當容易。

兩種解決方案:

Bootnodes:來自 go ethereum 的 github wiki 的 bootnodes

statis-nodes:來自乙太坊 github wiki 的靜態節點

將此解決方案與nodiscover參數混合使用。

引用自:https://ethereum.stackexchange.com/questions/47511