#!/bin/bash
set -e

read -p "➤ Raumnummer (z.B. 203): " RAUM
read -p "➤ PC-Nummer (z.B. 1XX): " PCNUMMER

IP="10.16.$RAUM.$PCNUMMER"
NETMASK="255.0.0.0"
GATEWAY="10.16.1.245"
DNS="10.16.1.253"
INTERFACE_MAIN="enp0s3"
INTERFACE_LAN="enp0s8"

echo "[+] Setze statische IP-Adresse: $IP (auf $INTERFACE_MAIN)"
cp /etc/network/interfaces /etc/network/interfaces.bak

cat <<EOT > /etc/network/interfaces
auto lo
iface lo inet loopback

auto $INTERFACE_MAIN
iface $INTERFACE_MAIN inet static
  address $IP/8
  gateway $GATEWAY

auto $INTERFACE_LAN
iface $INTERFACE_LAN inet static
  address 172.16.0.254/24
EOT

echo "nameserver $DNS" > /etc/resolv.conf

echo "[+] SSH Root-Login aktivieren..."
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/^PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config

systemctl restart ssh

echo "🔁 Jetzt bitte in VirtualBox auf 'Netzwerkbrücke' umstellen!"
read -p "Drücke [Enter], wenn bereit..."

systemctl restart networking

echo "[+] Installiere OpenVPN..."
apt update && apt install -y openvpn

echo "[+] Erstelle CA und Zertifikate..."
make-cadir ~/my_ca
cd ~/my_ca
./easyrsa clean-all
./easyrsa build-ca nopass
./easyrsa gen-dh
./easyrsa build-server-full server nopass
./easyrsa build-client-full client01 nopass

echo "[+] Zertifikate kopieren..."
cp pki/private/server.key /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/
cp pki/ca.crt /etc/openvpn/
cp pki/dh.pem /etc/openvpn/

echo "[+] Aktiviere IP-Forwarding dauerhaft..."
grep -q '^net.ipv4.ip_forward=1' /etc/sysctl.conf || echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

echo "[+] Schreibe OpenVPN-Serverkonfiguration..."
cat > /etc/openvpn/server.conf <<EOF
server 10.8.0.0 255.255.255.0
port 1194
proto udp
cipher AES-256-CBC
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
ping-timer-rem
keepalive 20 180
push "route 172.16.0.0 255.255.255.0"
EOF

cd /etc/openvpn

echo "[+] Starte OpenVPN-Server..."
openvpn --config /etc/openvpn/server.conf
