21 lines
1.0 KiB
Bash
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
|