diff --git a/p2p/dial.go b/p2p/dial.go index 0ffcd1049730..87690e637663 100644 --- a/p2p/dial.go +++ b/p2p/dial.go @@ -428,7 +428,7 @@ func (d *dialScheduler) checkDial(n *enode.Node) error { if _, ok := d.pendingInbound[n.ID()]; ok { return errPendingInbound } - if d.netRestrict != nil && !d.netRestrict.ContainsAddr(n.IPAddr()) { + if d.netRestrict != nil && n.IPAddr().IsValid() && !d.netRestrict.ContainsAddr(n.IPAddr()) { return errNetRestrict } if d.history.contains(string(n.ID().Bytes())) {