diff options
author | Simon Rettberg | 2021-08-11 15:58:09 +0200 |
---|---|---|
committer | Simon Rettberg | 2021-08-11 15:58:09 +0200 |
commit | 6995afb6f1b01938e4a3ca0daf375dfe276181d5 (patch) | |
tree | 3b8883351554bc4f7f949495c8164a99d0403be5 /core/rootfs | |
parent | [redsocks] Upper- and lowercase proxy env (diff) | |
download | mltk-6995afb6f1b01938e4a3ca0daf375dfe276181d5.tar.gz mltk-6995afb6f1b01938e4a3ca0daf375dfe276181d5.tar.xz mltk-6995afb6f1b01938e4a3ca0daf375dfe276181d5.zip |
Implement blocking network.target and network-online.target
Add two services that will delay reaching the according targets, until
conditions we consider reasonable are reached.
For network.target that is finishing DHCP for the primary interface, for
network-online.target we want to see a default gateway or a proxy server
configured.
Both have a timeout of about 10 seconds for now; this might be increased
later on, if necessary.
Diffstat (limited to 'core/rootfs')
5 files changed, 0 insertions, 55 deletions
diff --git a/core/rootfs/rootfs-stage32/data/etc/systemd/system/early-network-triggers.service b/core/rootfs/rootfs-stage32/data/etc/systemd/system/early-network-triggers.service deleted file mode 100644 index 2c5d7769..00000000 --- a/core/rootfs/rootfs-stage32/data/etc/systemd/system/early-network-triggers.service +++ /dev/null @@ -1,13 +0,0 @@ -# This will trigger network.target etc. at an early point, -# if network setup happened in stage31 (dhcp...) -[Unit] -Description=Trigger network targets early -DefaultDependencies=no -Wants=systemd-tmpfiles-setup.service -Before=sysinit.target -After=systemd-tmpfiles-setup.service - -[Service] -Type=oneshot -ExecStart=/opt/openslx/scripts/systemd-early_network_triggers -RemainAfterExit=yes diff --git a/core/rootfs/rootfs-stage32/data/etc/systemd/system/network-dns.target b/core/rootfs/rootfs-stage32/data/etc/systemd/system/network-dns.target deleted file mode 100644 index bc12cd1b..00000000 --- a/core/rootfs/rootfs-stage32/data/etc/systemd/system/network-dns.target +++ /dev/null @@ -1,4 +0,0 @@ -[Unit] -Description=DNS Server available -ConditionPathExists=/run/network/dns-ready - diff --git a/core/rootfs/rootfs-stage32/data/etc/systemd/system/network-gateway.target b/core/rootfs/rootfs-stage32/data/etc/systemd/system/network-gateway.target deleted file mode 100644 index 770eb697..00000000 --- a/core/rootfs/rootfs-stage32/data/etc/systemd/system/network-gateway.target +++ /dev/null @@ -1,4 +0,0 @@ -[Unit] -Description=Default route configured -ConditionPathExists=/run/network/gateway-ready - diff --git a/core/rootfs/rootfs-stage32/data/etc/systemd/system/sysinit.target.wants/early-network-triggers.service b/core/rootfs/rootfs-stage32/data/etc/systemd/system/sysinit.target.wants/early-network-triggers.service deleted file mode 120000 index 8aec0a6d..00000000 --- a/core/rootfs/rootfs-stage32/data/etc/systemd/system/sysinit.target.wants/early-network-triggers.service +++ /dev/null @@ -1 +0,0 @@ -../early-network-triggers.service
\ No newline at end of file diff --git a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-early_network_triggers b/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-early_network_triggers deleted file mode 100755 index 64ea853e..00000000 --- a/core/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-early_network_triggers +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/ash - -# This script will trigger several network targets if -# applicable at an early point. -# This happens if dhcp/network setup was successful in stage31 - -# Main interface -BRIDGE="br0" - -if [ ! -e "/sys/class/net/${BRIDGE}/operstate" -o "x$(cat "/sys/class/net/${BRIDGE}/operstate")" == "xup" ] && [ -e "/opt/openslx/uniontmp/etc/hostname" -o -e "/etc/resolv.conf" ]; then - echo "Triggering network.target" - touch "/run/network/network-ready" - systemctl start network.target & -fi - -if [ -s "/etc/resolv.conf" ] && grep -q "^nameserver" "/etc/resolv.conf"; then - echo "Triggering network-dns.target" - touch "/run/network/dns-ready" - systemctl start network-dns.target & -fi - -if route -n | grep -q -E '^0\.0\.0\.0.*U.*G'; then - echo "Triggering network-gateway.target" - touch "/run/network/gateway-ready" - systemctl start network-gateway.target & -fi - -# In case we have multiple NICs per subnet, don't send arp -# replies on all NICs -echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter - -exit 0 - |