[GH-ISSUE #352] No docs on how "Interface-ID IPv4" in related hosts is supposed to work? #272

Open
opened 2026-02-26 10:30:25 +03:00 by kerem · 7 comments
Owner

Originally created by @Moonbase59 on GitHub (Jun 26, 2018).
Original GitHub issue: https://github.com/nsupdate-info/nsupdate.info/issues/352

Thanks for the wonderful (and really useful) project!

I’ve set up two machines in my network as "related hosts" and only filled their "Interface-ID IPv6", which works fine when using IPv6, but not at all when using IPv4.

So how is a "Interface-ID IPv4" supposed to work? What should be put in there, and what about the netmasks? (I assume I should put my provider’s prefix length (56) in there?)

My assumption is that if you DNS resolve a related host, it should build its complete address by using whatever prefix is current plus the given IPv6 interface id (which seems to work). If using IPv4 (I think), it should resolve to the one IPv4 address I get from my provider, so it actually resolves to the router’s IPv4 address and can get NATed, right?

I’m using a Fritz!Box 7490 and have German Telekom as provider.

Originally created by @Moonbase59 on GitHub (Jun 26, 2018). Original GitHub issue: https://github.com/nsupdate-info/nsupdate.info/issues/352 Thanks for the wonderful (and really useful) project! I’ve set up two machines in my network as "related hosts" and only filled their "Interface-ID IPv6", which works fine when using IPv6, but not at all when using IPv4. So how is a "Interface-ID IPv4" supposed to work? What should be put in there, and what about the netmasks? (I assume I should put my provider’s prefix length (56) in there?) My assumption is that if you DNS resolve a related host, it should build its complete address by using whatever prefix is current plus the given IPv6 interface id (which seems to work). If using IPv4 (I think), it should resolve to the _one_ IPv4 address I get from my provider, so it actually resolves to the router’s IPv4 address and can get NATed, right? I’m using a Fritz!Box 7490 and have German Telekom as provider.
Author
Owner

@ThomasWaldmann commented on GitHub (Jun 26, 2018):

it's somehow the same idea as for v6, just for v4.

for a lot of users it is not super useful, because they do not get multiple v4 addresses from their provider.

if you only get 1 ipv4 address:

if-id ipv4:

  • if you put nothing there, it won't get an A record.
  • if you put 0 there, it will get the main v4 address + 0, so guess that is what you want.

netmask ipv4 (on the main host):

  • should be 32

in general, the computation is: rel_addr = main_addr & mask + if_id

<!-- gh-comment-id:400404370 --> @ThomasWaldmann commented on GitHub (Jun 26, 2018): it's somehow the same idea as for v6, just for v4. for a lot of users it is not super useful, because they do not get multiple v4 addresses from their provider. if you only get 1 ipv4 address: if-id ipv4: - if you put nothing there, it won't get an A record. - if you put 0 there, it will get the main v4 address + 0, so guess that is what you want. netmask ipv4 (on the main host): - should be 32 in general, the computation is: `rel_addr = main_addr & mask + if_id`
Author
Owner

@Moonbase59 commented on GitHub (Jun 26, 2018):

Ah, I see … Cheers for the explanation and fast response, I’ll try :-)

<!-- gh-comment-id:400438213 --> @Moonbase59 commented on GitHub (Jun 26, 2018): Ah, I see … Cheers for the explanation and fast response, I’ll try :-)
Author
Owner

@Moonbase59 commented on GitHub (Jun 26, 2018):

Just one more question regarding the netmask: Which part of the IP address does it mask?

So, if I get a 56-bit IPv6 prefix from my provider (in effect, a 72-bit subnet), does it mask the leftmost part, i.e. should I put "56" in it, or does it mask the subnet part (i.e., I put "72" in there)?

<!-- gh-comment-id:400440402 --> @Moonbase59 commented on GitHub (Jun 26, 2018): Just one more question regarding the netmask: Which _part of the IP address does it mask?_ So, if I get a 56-bit IPv6 prefix from my provider (in effect, a 72-bit subnet), does it mask the _leftmost_ part, i.e. should I put "56" in it, or does it mask the _subnet_ part (i.e., I put "72" in there)?
Author
Owner

@ThomasWaldmann commented on GitHub (Jun 26, 2018):

iirc it masks the leftmost part.

<!-- gh-comment-id:400441134 --> @ThomasWaldmann commented on GitHub (Jun 26, 2018): iirc it masks the leftmost part.
Author
Owner

@Moonbase59 commented on GitHub (Jun 26, 2018):

Ok, thanks, trying.

<!-- gh-comment-id:400494042 --> @Moonbase59 commented on GitHub (Jun 26, 2018): Ok, thanks, trying.
Author
Owner

@gschintgen commented on GitHub (Apr 9, 2021):

* if you put 0 there, it will get the main v4 address + 0, so guess that is what you want.

Hi, I'd kindly suggest to add this single phrase to the docs. It's so helpful!
Otherwise, nsupdate.info is just perfect. Thanks a lot!

<!-- gh-comment-id:816900515 --> @gschintgen commented on GitHub (Apr 9, 2021): > * if you put 0 there, it will get the main v4 address + 0, so guess that is what you want. Hi, I'd kindly suggest to add this single phrase to the docs. It's so helpful! Otherwise, nsupdate.info is just perfect. Thanks a lot!
Author
Owner

@ThomasWaldmann commented on GitHub (Apr 10, 2021):

reopening so we add something about this to the docs.

<!-- gh-comment-id:817133077 --> @ThomasWaldmann commented on GitHub (Apr 10, 2021): reopening so we add something about this to the docs.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nsupdate.info-nsupdate-info#272
No description provided.