4 ms·
(2013) You can see quite a lot of these in http://ec2-reachability.amazonaws.com/ http://ec2-reachability.amazonaws.com/ I think the situation has improved w
by schoen 3y ago
(2013)
You can see quite a lot of these in
http://ec2-reachability.amazonaws.com/ http://ec2-reachability.amazonaws.com/
I think the situation has improved with regard to this specific issue since 2013. I did run some of my own RIPE Atlas tests on this more recently (targeting some of the AWS addresses mentioned above), and it didn't look particularly bad at all.
Somewhat relatedly, we've been proposing to explicitly allow the lowest address within a subnet to be used to number a host. (This isn't necessarily dot-zero, and dot-zero isn't necessarily this; they coincide exactly in the specific case of a /24 network.)
https://datatracker.ietf.org/doc/draft-schoen-intarea-unicast-lowest-address/ https://datatracker.ietf.org/doc/draft-schoen-intarea-unicas...
We've gotten patches in Linux and FreeBSD for this, while OpenBSD and NetBSD each independently adopted this behavior some time ago.
- tedunangst 3y agoReally love when I get a /30 with one IP from hosting providers. (Oops, /30 not 22. Subtracted two from the wrong number.)
- candiddevmike 3y agoNot sure what you mean, what's wrong with being issued a single IP on a /22?
- ilyt 3y agothink he just mistyped /32
- ilyt 3y agowe assign /32 to our VMs then add a /32 device route to the router. Not an ISP tho, just inside datacenter.
- jve 3y agoCan you elaborate? Say you give 1.1.1.1/32 to a VM (Sorry CF). What route do you add to reach internet? Do you somehow configure the router too? What do you put in as a gateway? And what would be router IP in this example, if you had, say 1.1.0.0/16 ? Wouldn't you need a /0 route for gateway?
- jleahy 3y agoIt’s very nasty, but there are a lot of options. For example you can give the gateway an address in the link local range and add a route pointing at that. I think that’s the best way. Another option would be to set the subnet mask to /0 and enable ARP proxy on the gateway (that is truly diabolical). Another way is to have a private /30 or /31 as the linknet and then add the /32 public ip as an additional one with a /0 route to the routers ip in the private /30 (and the router can have a /32 route to your ip in the private /30). 1:1 NAT is another option (but that’s not quite the question).
- ilyt 3y agoinet 10.252.1.20/32 brd 10.252.1.20 scope global eth0 valid_lft forever preferred_lft forever # ip r sh default via 10.252.0.1 dev eth0 onlink yes you do need a route for gateway, we just add it via CM > Do you somehow configure the router too? interface on the hypervisor (each vm gets their own) inet 10.252.0.1/32 brd 10.252.0.1 scope global v.vmname.0 and a route 10.252.1.20 dev vvmname.0 src 10.252.0.1 uid 0 added in a hook, and then distributed via ospf to rest of devices
- schoen 3y agoSo, if the hosting provider's router supports lowest-address, you'll be able to host two usable addresses on that subnet, at least using Linux, FreeBSD, or OpenBSD (hopefully more OSes in the future). Maybe we should (be able to) get rid of the broadcast address in this situation too. Cf. RFC 3021 (adding a special case for /31). (If the hosting provider literally only intends to give you a single address, and insists on giving you a subnet, it should probably give you a /31 instead of a /30, because of the RFC 3021 behavior. Then it's not throwing away addresses for no reason.)
- waiwai933 3y agoDoesn't a /30, like a /31 have two routeable IPs, not one? What am I missing?
- tedunangst 3y agoWell, network number, gateway, broadcast, one left for host.