[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1064005: netcfg: "get_netmask string 255.255.255.255" not working



Source: netcfg
Version: 1.187
Severity: normal

Dear Maintainer,

Setting a netmask of 255.255.255.255 (in my case using preseed, but I guess the same happens if using the UI)
fails the installer with Unreachable gateway (even if the gateway is set).
I agree it can be seen as an odd setup, but it's valid and works when configured manually in busybox and Linux.
My usecase is creating routed Debian VMs, where the host have a static route to the guest's IP (or v6 /128).
With a smaller subnet (like /23), we would have to use proxy ARP which is usually not recommended.

You can see more information in:
https://phabricator.wikimedia.org/phame/post/view/312/ganeti_on_modern_network_design/

My current workaround is to use a smaller netmask then run the following in early_command:
IFACE=$(ip -4 route list 0/0 | sed -r 's/.*dev ([^ ]*) .*/\1/' | head -1)
IP="$(ip address show dev $IFACE | egrep '^[[:space:]]+inet ' | cut -d ' ' -f 6 | cut -d '/' -f 1)"
ip addr del $IP dev $IFACE
ip addr add $IP/32 dev $IFACE
ip route add 10.192.24.1 dev $IFACE scope link
ip route add default via 10.192.24.1

Right after "netcfg"
It would of course be cleaner if netcfg were to handle a /32 "out of the box".

Similarly, DHCP can allocate such IPs, see for example :
https://blog.fhrnet.eu/2020/03/07/dhcp-server-on-a-32-subnet/
I haven't tested DHCP in Debian Installer with such setup though.

Please let me know if I can be of any help.

Thanks

-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-18-amd64 (SMP w/1 CPU thread; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)


Reply to: