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