diff --git a/lib/jeannie/pipeline.sh b/lib/jeannie/pipeline.sh index 8d0250c..17dbe60 100644 --- a/lib/jeannie/pipeline.sh +++ b/lib/jeannie/pipeline.sh @@ -1277,6 +1277,12 @@ ping -c 2 -W 2 '${lan_probe_host}'" script="$(cat </tmp/homelab-interfaces <<'INTERFACES' auto lo iface lo inet loopback @@ -1297,14 +1303,17 @@ done sudo pkill -x dhclient >/dev/null 2>&1 || true sudo pkill -x dhcpcd >/dev/null 2>&1 || true sudo systemctl enable networking >/dev/null 2>&1 || true -sudo ifdown --force ${interface_name} 2>/dev/null || true +if command -v timeout >/dev/null 2>&1; then + sudo timeout 20 ifdown --force ${interface_name} 2>/dev/null || true +else + sudo ifdown --force ${interface_name} 2>/dev/null || true +fi sudo ip addr flush dev ${interface_name} scope global || true sudo ip route flush dev ${interface_name} || true sudo ip link set ${interface_name} up sudo ip addr add ${worker_ip} dev ${interface_name} sudo ip route replace default via ${gateway} dev ${interface_name} src ${worker_address} printf '%s\n' ${dns_servers} | awk '{ for (i = 1; i <= NF; i++) print "nameserver " \$i }' | sudo tee /etc/resolv.conf >/dev/null -sudo ifup --force ${interface_name} 2>/dev/null || true sudo ssh-keygen -A sudo install -d -m 0755 /run/sshd sudo mkdir -p /etc/ssh/sshd_config.d