Fix static bridge DNS YAML generation
Этот коммит содержится в:
@@ -27,8 +27,10 @@ fi
|
|||||||
|
|
||||||
CURRENT_IP="$(ip -4 addr show "$IFACE" | awk '/inet / {print $2; exit}')"
|
CURRENT_IP="$(ip -4 addr show "$IFACE" | awk '/inet / {print $2; exit}')"
|
||||||
CURRENT_GW="$(ip route | awk '/default/ {print $3; exit}')"
|
CURRENT_GW="$(ip route | awk '/default/ {print $3; exit}')"
|
||||||
CURRENT_DNS="$(resolvectl dns "$IFACE" 2>/dev/null | awk -F': ' '{print $2; exit}' || true)"
|
|
||||||
CURRENT_DNS="${CURRENT_DNS:-1.1.1.1 8.8.8.8}"
|
# Use stable IPv4 DNS by default. Link-local IPv6 DNS can break YAML/routes without scope id.
|
||||||
|
DNS_1="${VIRTUALITY_DNS_1:-10.0.0.1}"
|
||||||
|
DNS_2="${VIRTUALITY_DNS_2:-1.1.1.1}"
|
||||||
|
|
||||||
echo "============================================================"
|
echo "============================================================"
|
||||||
echo "Virtuality safe bridge setup"
|
echo "Virtuality safe bridge setup"
|
||||||
@@ -38,6 +40,7 @@ echo "Bridge: $BRIDGE"
|
|||||||
echo "Mode: $MODE"
|
echo "Mode: $MODE"
|
||||||
echo "Current IP: ${CURRENT_IP:-unknown}"
|
echo "Current IP: ${CURRENT_IP:-unknown}"
|
||||||
echo "Current gateway: ${CURRENT_GW:-unknown}"
|
echo "Current gateway: ${CURRENT_GW:-unknown}"
|
||||||
|
echo "DNS: ${DNS_1}, ${DNS_2}"
|
||||||
echo "Backup: $BACKUP_DIR"
|
echo "Backup: $BACKUP_DIR"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -61,7 +64,7 @@ echo "Netplan rollback applied from $BACKUP_DIR"
|
|||||||
EOF
|
EOF
|
||||||
chmod +x "$ROLLBACK_SCRIPT"
|
chmod +x "$ROLLBACK_SCRIPT"
|
||||||
|
|
||||||
# Keep cloud-init file neutral for this interface to avoid duplicate DHCP.
|
# Keep existing netplan files neutral for this interface to avoid duplicate DHCP/IP.
|
||||||
for file in "$NETPLAN_DIR"/*.yaml; do
|
for file in "$NETPLAN_DIR"/*.yaml; do
|
||||||
[[ "$file" == "$BRIDGE_FILE" ]] && continue
|
[[ "$file" == "$BRIDGE_FILE" ]] && continue
|
||||||
if grep -q "${IFACE}:" "$file"; then
|
if grep -q "${IFACE}:" "$file"; then
|
||||||
@@ -84,10 +87,6 @@ if [[ "$MODE" == "static" ]]; then
|
|||||||
echo "Откат: sudo $ROLLBACK_SCRIPT"
|
echo "Откат: sudo $ROLLBACK_SCRIPT"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
DNS_YAML=""
|
|
||||||
for dns in $CURRENT_DNS; do
|
|
||||||
DNS_YAML="${DNS_YAML} - ${dns}\n"
|
|
||||||
done
|
|
||||||
cat > "$BRIDGE_FILE" <<EOF
|
cat > "$BRIDGE_FILE" <<EOF
|
||||||
network:
|
network:
|
||||||
version: 2
|
version: 2
|
||||||
@@ -106,7 +105,9 @@ network:
|
|||||||
via: ${CURRENT_GW}
|
via: ${CURRENT_GW}
|
||||||
nameservers:
|
nameservers:
|
||||||
addresses:
|
addresses:
|
||||||
$(printf "$DNS_YAML") dhcp4: false
|
- ${DNS_1}
|
||||||
|
- ${DNS_2}
|
||||||
|
dhcp4: false
|
||||||
dhcp6: false
|
dhcp6: false
|
||||||
parameters:
|
parameters:
|
||||||
stp: false
|
stp: false
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user