NethermindEth / nethermind

A robust execution client for Ethereum node operators.
https://nethermind.io/nethermind-client
GNU General Public License v3.0
1.22k stars 427 forks source link

Zero IP address for Ping message of node discovery protocol #6986

Open learnerLj opened 4 months ago

learnerLj commented 4 months ago

Our tool has identified a client that utilizes the zero IP address as the sender IP in the Ping message of the node discovery protocol. This indicates a potential issue with the NAT port mapping code, suggesting that it may not update the client IP correctly. However, the actual IP (34.38.x.x) obtained from the UDP socket is a valid public IP address. It's worth noting that this situation is uncommon, as only 5 out of thousands of Nethermind peers exhibit this issue.

Additionally, I have observed that Geth experiences a similar issue, although it only affects the first ping message in rare circumstances. see https://github.com/ethereum/go-ethereum/issues/29713

Reth and Besu have been aware of this issue. https://github.com/paradigmxyz/reth/issues/8122 https://github.com/hyperledger/besu/pull/6439 https://github.com/hyperledger/besu/pull/6225

peer Info:

'clientId' = {str} 'Nethermind/v1.25.4+8097bf50/linux-x64/dotnet8.0.3'
'caps' = {list: 4} [{'name': 'eth', 'version': 66}, {'name': 'nodedata', 'version': 1}, {'name': 'eth', 'version': 67}, {'name': 'eth', 'version': 68}]
'networkID' = {Int64} 123
'genesisHash' = {str} '0xfd643f387cd7386d21e8d34f8762188865789196dee77c98f8210dbbc15616ae'
'forkID' = {str} '895f3463/e06938'

image

flcl42 commented 1 week ago

We fixed IP related issue in one of previous releases, and I can't reproduce it. Could you confirm it's still an issue?