This commit is contained in:
parent ec18d35738
commit 3962529fce

56
vlan
View file

@ -1,48 +1,18 @@
#!/bin/bash
# Задание 4, Модуль 1 (HQ-RTR)
# Настройка VLAN и маршрутизации (Router-on-a-Stick)
# Задание 4 (Разные интерфейсы)
[ $EUID -ne 0 ] && exit 1
[ $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 "Готово"
# VLAN 100 -> enp0s8 (/27)
ip addr flush dev enp0s8; ip addr add 192.168.100.1/27 dev enp0s8; ip link set enp0s8 up
# Проверка
ip -d link show type vlan
# VLAN 200 -> enp0s9 (/28)
ip addr flush dev enp0s9; ip addr add 192.168.200.1/28 dev enp0s9; ip link set enp0s9 up
# VLAN 999 -> enp0s10 (/29)
ip addr flush dev enp0s10; ip addr add 192.168.99.1/29 dev enp0s10; ip link set enp0s10 up
# Отчет
{ echo "Task 4 Report"; ip -br addr show enp0s8 enp0s9 enp0s10; cat /proc/sys/net/ipv4/ip_forward; } > Task4_Report.txt
echo "Готово"