diff --git a/board/common/rootfs/etc/finit.d/10-infix.conf b/board/common/rootfs/etc/finit.d/10-infix.conf index 73e2b824..e2ccf877 100644 --- a/board/common/rootfs/etc/finit.d/10-infix.conf +++ b/board/common/rootfs/etc/finit.d/10-infix.conf @@ -1 +1,2 @@ +run [S] /lib/infix/sysctl-sync-ip-conf -- run [S] /lib/infix/nameif -- Probing network interfaces diff --git a/board/common/rootfs/lib/infix/sysctl-sync-ip-conf b/board/common/rootfs/lib/infix/sysctl-sync-ip-conf new file mode 100755 index 00000000..e5c645dd --- /dev/null +++ b/board/common/rootfs/lib/infix/sysctl-sync-ip-conf @@ -0,0 +1,14 @@ +#!/bin/sh + +# When changing default IPv4/6 settings, this does not apply to +# existing interfaces. This syncs the default settings to all known +# interfaces at boot, such that physical interfaces will start from +# the same point as virtual ones. + +sysctl net.ipv4.conf.default >/tmp/sysctl-ip-default +sysctl net.ipv6.conf.default >>/tmp/sysctl-ip-default + +for iface in $(ip -j link show | jq -r .[].ifname); do + sed -e "s/.default./.${iface}./g" /tmp/sysctl-ip-default \ + | sysctl -p - +done