create_pve-mgnt-vmbr.sh aktualisiert
This commit is contained in:
@@ -1,25 +1,67 @@
|
||||
#!/bin/bash
|
||||
# =====================================================
|
||||
# Proxmox VE: Linux Bridge xx_vmbrmgt erstellen
|
||||
# IP: 10.60.10.1/24 | Kein physischer Port
|
||||
# NAT & IP Forwarding aktiviert
|
||||
# Proxmox VE: Linux Bridge erstellen
|
||||
# =====================================================
|
||||
|
||||
# Root-Check
|
||||
# ---- Standardwerte ----
|
||||
DEFAULT_BRIDGE="xx_vmbrmgt"
|
||||
DEFAULT_BRIDGE_IP="10.60.10.1/24"
|
||||
DEFAULT_NAT_SUBNET="10.60.10.0/24"
|
||||
DEFAULT_OUT_IF="vmbr0"
|
||||
INTERFACES_FILE="/etc/network/interfaces"
|
||||
|
||||
# ---- Farben / Layout ----
|
||||
BOLD="\033[1m"
|
||||
GREEN="\033[32m"
|
||||
CYAN="\033[36m"
|
||||
YELLOW="\033[33m"
|
||||
RED="\033[31m"
|
||||
RESET="\033[0m"
|
||||
INDENT=" "
|
||||
|
||||
# ---- Root Check ----
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "Bitte als Root ausführen (sudo)"
|
||||
echo -e "${BOLD}${RED}${INDENT}Bitte als Root ausführen!${RESET}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BRIDGE_NAME="xx_vmbrmgt"
|
||||
BRIDGE_IP="10.60.10.1/24"
|
||||
INTERFACES_FILE="/etc/network/interfaces"
|
||||
# ---- Header ----
|
||||
echo -e "${CYAN}${BOLD}${INDENT}==========================================${RESET}"
|
||||
echo -e "${CYAN}${BOLD}${INDENT} Linux Bridge erstellen ${RESET}"
|
||||
echo -e "${CYAN}${BOLD}${INDENT}==========================================${RESET}"
|
||||
|
||||
echo "==> Backup der interfaces-Datei..."
|
||||
# ---- Eingaben ----
|
||||
read -p "${INDENT}Bridge Name (Default: $DEFAULT_BRIDGE): " BRIDGE_NAME
|
||||
BRIDGE_NAME="${BRIDGE_NAME:-$DEFAULT_BRIDGE}"
|
||||
|
||||
read -p "${INDENT}Bridge IP (Default: $DEFAULT_BRIDGE_IP): " BRIDGE_IP
|
||||
BRIDGE_IP="${BRIDGE_IP:-$DEFAULT_BRIDGE_IP}"
|
||||
|
||||
read -p "${INDENT}Subnet für NAT (Default: $DEFAULT_NAT_SUBNET): " NAT_SUBNET
|
||||
NAT_SUBNET="${NAT_SUBNET:-$DEFAULT_NAT_SUBNET}"
|
||||
|
||||
read -p "${INDENT}Physisches Ausgangsinterface (Default: $DEFAULT_OUT_IF): " OUT_IF
|
||||
OUT_IF="${OUT_IF:-$DEFAULT_OUT_IF}"
|
||||
|
||||
# ---- Zusammenfassung ----
|
||||
echo -e "\n${CYAN}${BOLD}${INDENT}==========================================${RESET}"
|
||||
echo -e "${CYAN}${BOLD}${INDENT} Zusammenfassung ${RESET}"
|
||||
echo -e "${CYAN}${BOLD}${INDENT}==========================================${RESET}"
|
||||
echo -e "${INDENT}Bridge Name : ${CYAN}$BRIDGE_NAME${RESET}"
|
||||
echo -e "${INDENT}Bridge IP : ${CYAN}$BRIDGE_IP${RESET}"
|
||||
echo -e "${INDENT}NAT Subnet : ${CYAN}$NAT_SUBNET${RESET}"
|
||||
echo -e "${INDENT}Ausgangsinterface: ${CYAN}$OUT_IF${RESET}"
|
||||
echo -e "${CYAN}${BOLD}${INDENT}==========================================${RESET}"
|
||||
|
||||
read -p "${INDENT}Mit Enter bestätigen und Bridge erstellen..." _
|
||||
|
||||
# ---- Backup der interfaces-Datei ----
|
||||
echo -e "\n${INDENT}==> Backup der interfaces-Datei..."
|
||||
cp "$INTERFACES_FILE" "${INTERFACES_FILE}.bak.$(date +%Y%m%d-%H%M)"
|
||||
echo -e "${INDENT}Backup erstellt: ${CYAN}${INTERFACES_FILE}.bak.${RESET}"
|
||||
|
||||
echo "==> Bridge $BRIDGE_NAME in $INTERFACES_FILE eintragen..."
|
||||
|
||||
# ---- Bridge in interfaces eintragen ----
|
||||
echo -e "${INDENT}==> Bridge $BRIDGE_NAME in $INTERFACES_FILE eintragen..."
|
||||
cat <<EOF >> "$INTERFACES_FILE"
|
||||
|
||||
# --------------------------------------------------
|
||||
@@ -31,14 +73,13 @@ iface $BRIDGE_NAME inet static
|
||||
bridge-stp off
|
||||
bridge-fd 0
|
||||
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
post-up iptables -t nat -A POSTROUTING -s '10.60.10.0/24' -o vmbr0 -j MASQUERADE
|
||||
post-up iptables -t nat -A POSTROUTING -s '$NAT_SUBNET' -o $OUT_IF -j MASQUERADE
|
||||
post-down iptables -t nat -F
|
||||
EOF
|
||||
|
||||
echo "==> Bridge $BRIDGE_NAME konfiguriert."
|
||||
|
||||
# Bridge direkt aktivieren
|
||||
echo "==> Bridge $BRIDGE_NAME aktivieren..."
|
||||
# ---- Bridge aktivieren ----
|
||||
echo -e "${INDENT}==> Bridge $BRIDGE_NAME aktivieren..."
|
||||
ifup $BRIDGE_NAME
|
||||
|
||||
echo "✔ Bridge $BRIDGE_NAME ist jetzt aktiv!"
|
||||
# ---- Fertig ----
|
||||
echo -e "${GREEN}${BOLD}${INDENT}✔ Bridge $BRIDGE_NAME ist jetzt aktiv und konfiguriert!${RESET}\n"
|
||||
|
||||
Reference in New Issue
Block a user