Files

21 lines
1.0 KiB
Bash

IF=$(ip -4 route show default | awk '{for (i = 1; i < NF; i++) if ($i == "dev") { print $(i + 1); exit }}')
[ -n "$IF" ] || refuse "no default route; this lab needs a working network"
state_set if "$IF"
# Who writes resolv.conf.
r=$(readlink -f /etc/resolv.conf)
if [[ $r == /run/systemd/resolve/* ]]; then state_set writer resolved
elif grep -q 'NetworkManager' /etc/resolv.conf; then state_set writer networkmanager
elif [[ $r == /run/resolvconf/* ]] || grep -qi resolvconf /etc/resolv.conf; then state_set writer resolvconf
fi
# The network configuration, for reset.
if is_rhel; then
tar -C /etc/NetworkManager -cf "$LAB_STATE/nm.tar" system-connections conf.d
else
tar -C /etc -cf "$LAB_STATE/netplan.tar" netplan
[ -f /etc/systemd/resolved.conf ] && cp -a /etc/systemd/resolved.conf "$LAB_STATE/resolved.conf"
ls /etc/systemd/resolved.conf.d >"$LAB_STATE/resolved-d" 2>/dev/null || true
ls /etc/cloud/cloud.cfg.d >"$LAB_STATE/cloud-cfg" 2>/dev/null || true
fi
sed -i -E '/^[^#]*[[:space:]]fake\.example\.org([[:space:]]|$)/d' /etc/hosts
true