h
This commit is contained in:
parent
01366af1cf
commit
1af4ca0a77
48
vlan
Normal file
48
vlan
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
#!/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 "${PHYS_IF}.${VLAN_SRV}"
|
||||||
|
ip addr add "$IP_CLI" dev "${PHYS_IF}.${VLAN_CLI}"
|
||||||
|
ip addr add "$IP_MGT" dev "${PHYS_IF}.${VLAN_MGT}"
|
||||||
|
|
||||||
|
ip link set "${PHYS_IF}.${VLAN_SRV}" up
|
||||||
|
ip link set "${PHYS_IF}.${VLAN_CLI}" up
|
||||||
|
ip link set "${PHYS_IF}.${VLAN_MGT}" up
|
||||||
|
ip link set "$PHYS_IF" up
|
||||||
|
|
||||||
|
# Включение маршрутизации
|
||||||
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||||
|
|
||||||
|
echo "Готово"
|
||||||
|
|
||||||
|
# Проверка
|
||||||
|
ip -d link show type vlan
|
||||||
Loading…
Reference in a new issue