#!/bin/bash
# Задание 4, Модуль 1 (HQ-RTR)
# Настройка VLAN и маршрутизации (Router-on-a-Stick)

[ $EUID -ne 0 ] && echo "Требуется root" && exit 1

# Физический интерфейс
PHYS_IF="enp0s3"

# VLAN и подсети
VLAN_SRV="100"
VLAN_CLI="200"
VLAN_MGT="999"

IP_SRV="192.168.3.1/26"
IP_CLI="192.168.4.1/29"
IP_MGT="192.168.1.1/28"

echo "Настройка VLAN на интерфейсе $PHYS_IF..."

# Загрузка модуля VLAN
modprobe 8021q 2>/dev/null

# Создание VLAN-интерфейсов
for VID in $VLAN_SRV $VLAN_CLI $VLAN_MGT; do
    IF_NAME="${PHYS_IF}.${VID}"
    ip link del "$IF_NAME" 2>/dev/null
    ip link add link "$PHYS_IF" name "$IF_NAME" type vlan id "$VID"
    echo "VLAN $VID создан ($IF_NAME)"
done

# Настройка IP и активация
ip addr add "$IP_SRV" dev "${enp0s8}.${VLAN_SRV}"
ip addr add "$IP_CLI" dev "${enp0s9}.${VLAN_CLI}"
ip addr add "$IP_MGT" dev "${enp0s10}.${VLAN_MGT}"

ip link set "${enp0s8}.${VLAN_SRV}" up
ip link set "${enp0s9}.${VLAN_CLI}" up
ip link set "${enp0s10}.${VLAN_MGT}" up
ip link set "$PHYS_IF" up

# Включение маршрутизации
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Готово"

# Проверка
ip -d link show type vlan