You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed an issue in the case where ifname = ethX is used with ethX having multiple dynamic IPv6 addresses configured (technically also applies to IPv4, but having multiple IPv4s is not a common scenario as it is most of the times just multi homed via NATs, or multiple interfaces).
Currently i2pd doesn't honor the reachability scope of the IPs on a link (I.E. it implements the address selection in a non rfc compliant way).
i2pd currently also does not allow to specify a bind dynamically e.g. just the hosts part without the prefix (or via match).
This is an issue when the network advertises an (1) ULA + GUA, (2) potentially (not tested) link local + GUA [if something causes link local to get reconfigured after the GUA], (3) multiple GUA (different prefixes), (4) GUA + privacy extension where inbound to them is firewalled (sadly a bunch of ISP provided e-waste), (5) working GUA + stale GUA e.g. when dynamic prefix changed.
It looks like currently the choice of address i2pd binds to is dependent on the order the interface IPs appear in e.g. ip -6 addr (aka. the order they're returned by the kernel). Because these IPs are dynamic configuring them literally within the address6 = or similar section is undesirable. As a workaround a user could write a custom script to update it in the config and restart i2pd though.
Also on another note, does ifname, ifname4, ifname6, address4, address6, ... support a list or just just a single address each? If it already supports a list it may be missing some documentation about the correct syntax to specify multiple. The inability to specify multiple interfaces and/or IPs technically also affects IPv4 multi homing scenarios (well at least if they're without a NAT, e.g. on a server).
The text was updated successfully, but these errors were encountered:
I noticed an issue in the case where
ifname = ethX
is used with ethX having multiple dynamic IPv6 addresses configured (technically also applies to IPv4, but having multiple IPv4s is not a common scenario as it is most of the times just multi homed via NATs, or multiple interfaces).Currently i2pd doesn't honor the reachability scope of the IPs on a link (I.E. it implements the address selection in a non rfc compliant way).
i2pd currently also does not allow to specify a bind dynamically e.g. just the hosts part without the prefix (or via match).
This is an issue when the network advertises an (1) ULA + GUA, (2) potentially (not tested) link local + GUA [if something causes link local to get reconfigured after the GUA], (3) multiple GUA (different prefixes), (4) GUA + privacy extension where inbound to them is firewalled (sadly a bunch of ISP provided e-waste), (5) working GUA + stale GUA e.g. when dynamic prefix changed.
It looks like currently the choice of address i2pd binds to is dependent on the order the interface IPs appear in e.g.
ip -6 addr
(aka. the order they're returned by the kernel). Because these IPs are dynamic configuring them literally within theaddress6 =
or similar section is undesirable. As a workaround a user could write a custom script to update it in the config and restart i2pd though.Also on another note, does
ifname
,ifname4
,ifname6
,address4
,address6
, ... support a list or just just a single address each? If it already supports a list it may be missing some documentation about the correct syntax to specify multiple. The inability to specify multiple interfaces and/or IPs technically also affects IPv4 multi homing scenarios (well at least if they're without a NAT, e.g. on a server).The text was updated successfully, but these errors were encountered: