#!/usr/bin/env bash set -euo pipefail IFACE="${1:-enp2s0}" BRIDGE="br0" NETPLAN_DIR="/etc/netplan" BACKUP_DIR="/root/virtuality-netplan-backups/$(date +%Y%m%d_%H%M%S)" BRIDGE_FILE="${NETPLAN_DIR}/60-virtuality-br0.yaml" ROLLBACK_SCRIPT="/root/virtuality-rollback-netplan.sh" if [[ "$EUID" -ne 0 ]]; then echo "Ошибка: запусти через sudo: sudo bash scripts/setup_bridge_br0.sh" exit 1 fi if ! command -v netplan >/dev/null 2>&1; then echo "Ошибка: netplan не найден. Скрипт рассчитан на Ubuntu/Debian с netplan." exit 1 fi if ! ip link show "$IFACE" >/dev/null 2>&1; then echo "Ошибка: интерфейс $IFACE не найден." ip -br a exit 1 fi echo "============================================================" echo "Virtuality bridge setup" echo "============================================================" echo "Interface: $IFACE" echo "Bridge: $BRIDGE" echo "Backup: $BACKUP_DIR" echo mkdir -p "$BACKUP_DIR" cp -a "$NETPLAN_DIR"/*.yaml "$BACKUP_DIR"/ 2>/dev/null || true cat > "$ROLLBACK_SCRIPT" < "$BRIDGE_FILE" < "$file" <