Фиксированные префиксы подсетей по заданию
This commit is contained in:
parent
aad84a675e
commit
727860536d
|
|
@ -23,12 +23,12 @@ HOSTNAME_FQDN="br-fw.au-team.irpo" # таблица 3, запись br-fw.a
|
||||||
|
|
||||||
# --- Интерфейс в сторону BR-RTR (сеть с минимально возможной маской /30) ---
|
# --- Интерфейс в сторону BR-RTR (сеть с минимально возможной маской /30) ---
|
||||||
BR_RTR_IF="enp0s3" # 1-й NIC — к BR-RTR (если порядок иной — поменять)
|
BR_RTR_IF="enp0s3" # 1-й NIC — к BR-RTR (если порядок иной — поменять)
|
||||||
BR_RTR_ADDR="" # адрес BR-FW в этой сети, формат адрес/префикс (/30)
|
BR_RTR_ADDR="" # адрес BR-FW на линке (префикс проставится сам: /30)
|
||||||
BR_RTR_GW="" # адрес BR-RTR в этой же сети — маршрут по умолчанию
|
BR_RTR_GW="" # адрес BR-RTR в этой же сети — маршрут по умолчанию
|
||||||
|
|
||||||
# --- Интерфейс в сторону BR-SRV (сеть не более 16 адресов) ---
|
# --- Интерфейс в сторону BR-SRV (сеть не более 16 адресов) ---
|
||||||
BR_SRV_IF="enp0s8" # 2-й NIC — к BR-SRV
|
BR_SRV_IF="enp0s8" # 2-й NIC — к BR-SRV
|
||||||
BR_SRV_ADDR="" # адрес BR-FW в этой сети, формат адрес/префикс
|
BR_SRV_ADDR="" # адрес BR-FW в сети BR-SRV (префикс проставится сам: /28)
|
||||||
|
|
||||||
# --- OSPF (протокол разрешён ТОЛЬКО на интерфейсе к BR-RTR; пароля нет —
|
# --- OSPF (протокол разрешён ТОЛЬКО на интерфейсе к BR-RTR; пароля нет —
|
||||||
# аутентификация по заданию требуется только на туннеле HQ<->BR) ---
|
# аутентификация по заданию требуется только на туннеле HQ<->BR) ---
|
||||||
|
|
@ -56,6 +56,11 @@ if [[ ${#MISSING[@]} -gt 0 ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "=== Настройка BR-FW (предположение: Linux / РЕД ОС 8) ==="
|
echo "=== Настройка BR-FW (предположение: Linux / РЕД ОС 8) ==="
|
||||||
|
# Префиксы по заданию (достаточно голого IP)
|
||||||
|
add_prefix () { if [[ "$2" == */* ]]; then echo "$2"; else echo "$2/$1"; fi; }
|
||||||
|
BR_RTR_ADDR=$(add_prefix 30 "$BR_RTR_ADDR")
|
||||||
|
BR_SRV_ADDR=$(add_prefix 28 "$BR_SRV_ADDR")
|
||||||
|
|
||||||
|
|
||||||
# --- 1. Имя хоста ---
|
# --- 1. Имя хоста ---
|
||||||
hostnamectl set-hostname "$HOSTNAME_FQDN"
|
hostnamectl set-hostname "$HOSTNAME_FQDN"
|
||||||
|
|
|
||||||
|
|
@ -30,11 +30,11 @@ BR_LINK_ADDR="" # адрес BR-RTR в этой сети, адрес/префи
|
||||||
|
|
||||||
# --- Локальная сеть в сторону BR-SRV (через BR-FW; не более 16 адресов) ---
|
# --- Локальная сеть в сторону BR-SRV (через BR-FW; не более 16 адресов) ---
|
||||||
# Нужна только для правил NAT — адрес BR-RTR здесь назначает BR-FW.
|
# Нужна только для правил NAT — адрес BR-RTR здесь назначает BR-FW.
|
||||||
BR_SRV_NET="" # сеть BR-SRV, адрес/префикс (сеть линка к BR-FW вычисляется автоматически)
|
BR_SRV_NET="" # адрес сети BR-SRV (префикс проставится сам: /28 — не более 16 адресов)
|
||||||
|
|
||||||
# --- GRE-туннель до HQ-RTR (сеть 10.10.10.0/24, минимальная маска -> /30) ---
|
# --- GRE-туннель до HQ-RTR (сеть 10.10.10.0/24, минимальная маска -> /30) ---
|
||||||
GRE_IF="gre1"
|
GRE_IF="gre1"
|
||||||
GRE_LOCAL="" # локальный конец туннеля, адрес/префикс (из калькулятора, /30)
|
GRE_LOCAL="" # локальный конец туннеля (префикс проставится сам: /30)
|
||||||
GRE_REMOTE="172.16.1.2" # конец HQ-RTR (адрес HQ-RTR в сети линка по заданию)
|
GRE_REMOTE="172.16.1.2" # конец HQ-RTR (адрес HQ-RTR в сети линка по заданию)
|
||||||
|
|
||||||
# --- OSPF (значения из задания) ---
|
# --- OSPF (значения из задания) ---
|
||||||
|
|
@ -63,6 +63,12 @@ if [[ ${#MISSING[@]} -gt 0 ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "=== Настройка BR-RTR ==="
|
echo "=== Настройка BR-RTR ==="
|
||||||
|
# Префиксы по заданию (достаточно голого IP)
|
||||||
|
add_prefix () { if [[ "$2" == */* ]]; then echo "$2"; else echo "$2/$1"; fi; }
|
||||||
|
BR_LINK_ADDR=$(add_prefix 30 "$BR_LINK_ADDR")
|
||||||
|
BR_SRV_NET=$(add_prefix 28 "$BR_SRV_NET")
|
||||||
|
GRE_LOCAL=$(add_prefix 30 "$GRE_LOCAL")
|
||||||
|
|
||||||
|
|
||||||
# --- 1. Имя хоста ---
|
# --- 1. Имя хоста ---
|
||||||
hostnamectl set-hostname "$HOSTNAME_FQDN"
|
hostnamectl set-hostname "$HOSTNAME_FQDN"
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ HOSTNAME_FQDN="br-srv.au-team.irpo" # таблица 3, запись br-srv.
|
||||||
|
|
||||||
# --- Сеть ---
|
# --- Сеть ---
|
||||||
SRV_IF="enp0s3" # 1-й NIC — к BR-FW
|
SRV_IF="enp0s3" # 1-й NIC — к BR-FW
|
||||||
SRV_ADDR="" # адрес BR-SRV в сети BR (сеть не более 16 адресов), адрес/префикс
|
SRV_ADDR="" # адрес BR-SRV в сети BR (префикс проставится сам: /28 — не более 16 адресов)
|
||||||
SRV_GW="" # шлюз — адрес BR-FW в этой же сети
|
SRV_GW="" # шлюз — адрес BR-FW в этой же сети
|
||||||
DNS_SRV="" # DNS для сервера — адрес HQ-SRV (основной DNS по заданию)
|
DNS_SRV="" # DNS для сервера — адрес HQ-SRV (основной DNS по заданию)
|
||||||
# либо внешний, например 77.88.8.7 — уточните у экзаменатора
|
# либо внешний, например 77.88.8.7 — уточните у экзаменатора
|
||||||
|
|
@ -49,6 +49,10 @@ if [[ ${#MISSING[@]} -gt 0 ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "=== Настройка BR-SRV ==="
|
echo "=== Настройка BR-SRV ==="
|
||||||
|
# Префикс по заданию (достаточно голого IP)
|
||||||
|
add_prefix () { if [[ "$2" == */* ]]; then echo "$2"; else echo "$2/$1"; fi; }
|
||||||
|
SRV_ADDR=$(add_prefix 28 "$SRV_ADDR")
|
||||||
|
|
||||||
|
|
||||||
# --- 1. Имя хоста ---
|
# --- 1. Имя хоста ---
|
||||||
hostnamectl set-hostname "$HOSTNAME_FQDN"
|
hostnamectl set-hostname "$HOSTNAME_FQDN"
|
||||||
|
|
|
||||||
|
|
@ -27,13 +27,13 @@ DNS_ROUTER="77.88.8.7" # внешний DNS для роутера (можно
|
||||||
|
|
||||||
# --- Локальные VLAN на ОДНОМ физическом адаптере ---
|
# --- Локальные VLAN на ОДНОМ физическом адаптере ---
|
||||||
LAN_IF="enp0s8" # 2-й NIC — физический адаптер в сторону HQ-SW (для VLAN 100/200/999)
|
LAN_IF="enp0s8" # 2-й NIC — физический адаптер в сторону HQ-SW (для VLAN 100/200/999)
|
||||||
VLAN100_ADDR="" # адрес HQ-RTR в VLAN 100 (сеть не более 32 адресов), адрес/префикс
|
VLAN100_ADDR="" # адрес HQ-RTR в VLAN 100 (префикс проставится сам: /27 — не более 32 адресов)
|
||||||
VLAN200_ADDR="" # адрес HQ-RTR в VLAN 200 (сеть не более 16 адресов), адрес/префикс
|
VLAN200_ADDR="" # адрес HQ-RTR в VLAN 200 (префикс /28 — не более 16 адресов)
|
||||||
VLAN999_ADDR="" # адрес HQ-RTR в VLAN 999 (сеть не более 8 адресов), адрес/префикс
|
VLAN999_ADDR="" # адрес HQ-RTR в VLAN 999 (префикс /29 — не более 8 адресов)
|
||||||
|
|
||||||
# --- GRE-туннель до BR-RTR (сеть 10.10.10.0/24, минимальная маска -> /30) ---
|
# --- GRE-туннель до BR-RTR (сеть 10.10.10.0/24, минимальная маска -> /30) ---
|
||||||
GRE_IF="gre1"
|
GRE_IF="gre1"
|
||||||
GRE_LOCAL="" # локальный конец туннеля, адрес/префикс (из calculator, /30)
|
GRE_LOCAL="" # локальный конец туннеля (префикс проставится сам: /30)
|
||||||
GRE_REMOTE="" # удалённый конец туннеля — адрес BR-RTR в сети ISP (без префикса)
|
GRE_REMOTE="" # удалённый конец туннеля — адрес BR-RTR в сети ISP (без префикса)
|
||||||
|
|
||||||
# --- OSPF (значения из задания) ---
|
# --- OSPF (значения из задания) ---
|
||||||
|
|
@ -91,6 +91,11 @@ last = int(n.broadcast_address) - 1
|
||||||
print(n.network_address, n.netmask, ipaddress.ip_address(first), ipaddress.ip_address(last))" "$VLAN200_ADDR")"
|
print(n.network_address, n.netmask, ipaddress.ip_address(first), ipaddress.ip_address(last))" "$VLAN200_ADDR")"
|
||||||
echo "DHCP: subnet=$DHCP_SUBNET mask=$DHCP_NETMASK range=$DHCP_RANGE_FIRST..$DHCP_RANGE_LAST"
|
echo "DHCP: subnet=$DHCP_SUBNET mask=$DHCP_NETMASK range=$DHCP_RANGE_FIRST..$DHCP_RANGE_LAST"
|
||||||
echo "NAT-сети: $NAT_NETS"
|
echo "NAT-сети: $NAT_NETS"
|
||||||
|
VLAN100_ADDR=$(add_prefix 27 "$VLAN100_ADDR")
|
||||||
|
VLAN200_ADDR=$(add_prefix 28 "$VLAN200_ADDR")
|
||||||
|
VLAN999_ADDR=$(add_prefix 29 "$VLAN999_ADDR")
|
||||||
|
GRE_LOCAL=$(add_prefix 30 "$GRE_LOCAL")
|
||||||
|
|
||||||
|
|
||||||
echo "=== Настройка HQ-RTR ==="
|
echo "=== Настройка HQ-RTR ==="
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ HOSTNAME_FQDN="hq-srv.au-team.irpo" # таблица 3, запись hq-srv.
|
||||||
|
|
||||||
# --- Сеть ---
|
# --- Сеть ---
|
||||||
SRV_IF="enp0s3" # 1-й NIC — к HQ-SW (VLAN 100; тег снимает HQ-SW или сетевой адаптер)
|
SRV_IF="enp0s3" # 1-й NIC — к HQ-SW (VLAN 100; тег снимает HQ-SW или сетевой адаптер)
|
||||||
SRV_ADDR="" # адрес HQ-SRV в VLAN 100, формат адрес/префикс
|
SRV_ADDR="" # адрес HQ-SRV в VLAN 100 (префикс проставится сам: /28)
|
||||||
SRV_GW="" # шлюз — адрес HQ-RTR в VLAN 100
|
SRV_GW="" # шлюз — адрес HQ-RTR в VLAN 100
|
||||||
DNS_SRV="" # внешний DNS для самого сервера (необязательно, напр. 77.88.8.7)
|
DNS_SRV="" # внешний DNS для самого сервера (необязательно, напр. 77.88.8.7)
|
||||||
|
|
||||||
|
|
@ -67,6 +67,10 @@ if [[ ${#MISSING[@]} -gt 0 ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# Адрес HQ-SRV без префикса — для записей A/PTR и listening DNS
|
# Адрес HQ-SRV без префикса — для записей A/PTR и listening DNS
|
||||||
|
# Префикс VLAN 100 по заданию (достаточно голого IP)
|
||||||
|
add_prefix () { if [[ "$2" == */* ]]; then echo "$2"; else echo "$2/$1"; fi; }
|
||||||
|
SRV_ADDR=$(add_prefix 28 "$SRV_ADDR")
|
||||||
|
|
||||||
SRV_ADDR_HOST="${SRV_ADDR%/*}"
|
SRV_ADDR_HOST="${SRV_ADDR%/*}"
|
||||||
DNS_LISTEN="$SRV_ADDR_HOST"
|
DNS_LISTEN="$SRV_ADDR_HOST"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue