// Network Lab · ALT Linux · FRR · BIND · OpenVSwitch
Конфигурация сети au-team.irpo
Пошаговое руководство по развёртыванию инфраструктуры: ISP, HQ-RTR, BR-RTR, HQ-SRV, BR-SRV, HQ-CLI. Маршрутизация, NAT, GRE-туннель, OSPF, DHCP, DNS и VLAN.
ШАГ 01
Имена устройств (на всех ПК)
ISP
hostnamectl set-hostname isp.au-team.irpo; exec bash
HQ-RTR
hostnamectl set-hostname hq-rtr.au-team.irpo; exec bash
BR-RTR
hostnamectl set-hostname br-rtr.au-team.irpo; exec bash
HQ-SRV
hostnamectl set-hostname hq-srv.au-team.irpo; exec bash
BR-SRV
hostnamectl set-hostname br-srv.au-team.irpo; exec bash
HQ-CLI
hostnamectl set-hostname hq-cli.au-team.irpo; exec bash
СКРИНШОТ:
hostnamectl на каждом ПК
ШАГ 02
IP-адреса (вручную через nmtui)
На всех устройствах настроить IP по таблице адресации.
На HQ-RTR, BR-RTR, HQ-SRV, BR-SRV, HQ-CLI дополнительно ввести DNS 77.88.8.8.
СКРИНШОТ: Заполненная таблица адресации
СКРИНШОТ:
ip -c -br a на каждом устройстве
ШАГ 03
IP forwarding и NAT
ISP
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
cat > /etc/nftables/isp.nft << 'EOF'
table inet nat {
chain POSTROUTING {
type nat hook postrouting priority srcnat;
oifname "ens33" masquerade
}
}
EOF
echo 'include "/etc/nftables/isp.nft"' >> /etc/sysconfig/nftables.conf
systemctl enable --now nftables
СКРИНШОТ:
nft list rulesetHQ-RTR
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
cat > /etc/nftables/hq-rtr.nft << 'EOF'
table inet nat {
chain POSTROUTING {
type nat hook postrouting priority srcnat;
oifname "ens33" masquerade
}
}
EOF
echo 'include "/etc/nftables/hq-rtr.nft"' >> /etc/sysconfig/nftables.conf
systemctl enable --now nftables
BR-RTR
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
cat > /etc/nftables/br-rtr.nft << 'EOF'
table inet nat {
chain POSTROUTING {
type nat hook postrouting priority srcnat;
oifname "ens33" masquerade
}
}
EOF
echo 'include "/etc/nftables/br-rtr.nft"' >> /etc/sysconfig/nftables.conf
systemctl enable --now nftables
ШАГ 04
Пользователи
HQ-SRV и BR-SRV — пользователь sshuser
useradd sshuser -u 2026 -U echo "sshuser:P@ssw0rd" | chpasswd usermod -aG wheel sshuser echo "sshuser ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
СКРИНШОТ:
id sshuserHQ-RTR и BR-RTR — пользователь net_admin
useradd net_admin -U echo "net_admin:P@ssw0rd" | chpasswd usermod -aG wheel net_admin echo "net_admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
СКРИНШОТ:
id net_admin
ШАГ 05
Безопасный SSH (HQ-SRV и BR-SRV)
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config setenforce 0 sed -i 's/#Port 22/Port 2026/' /etc/ssh/sshd_config echo "AllowUsers sshuser" >> /etc/ssh/sshd_config echo "MaxAuthTries 2" >> /etc/ssh/sshd_config echo "Banner /etc/ssh-banner" >> /etc/ssh/sshd_config cat > /etc/ssh-banner << 'EOF' * * * * * * * * * * * * * * * * * * * * * * * Authorized access only * * * * * * * * * * * * * * * * * * * * * * * EOF systemctl restart sshd
СКРИНШОТ:
ssh sshuser@localhost -p 2026
ШАГ 06
GRE-туннель (вручную через nmtui)
HQ-RTR
Локальный IP: 172.16.1.2 ·
Удалённый IP: 172.16.2.2 ·
IP туннеля: 10.10.10.1/30
BR-RTR
Локальный IP: 172.16.2.2 ·
Удалённый IP: 172.16.1.2 ·
IP туннеля: 10.10.10.2/30
После настройки на обоих:
nmcli connection modify tun1 ip-tunnel.ttl 64
СКРИНШОТ:
ip -c a show tun1СКРИНШОТ:
ping -c 4 10.10.10.2 (с HQ-RTR)СКРИНШОТ:
ping -c 4 10.10.10.1 (с BR-RTR)
ШАГ 07
OSPF
HQ-RTR
dnf install -y frr sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons systemctl enable --now frr vtysh << 'EOF' configure terminal router ospf passive-interface default network 192.168.1.0/27 area 0 network 192.168.2.0/28 area 0 network 192.168.3.0/29 area 0 network 10.10.10.0/30 area 0 area 0 authentication exit interface tun1 no ip ospf network broadcast no ip ospf passive ip ospf authentication ip ospf authentication-key P@ssw0rd exit exit write EOF systemctl restart frr
СКРИНШОТ:
vtysh -c "show ip ospf neighbor"BR-RTR
dnf install -y frr sed -i 's/ospfd=no/ospfd=yes/' /etc/frr/daemons systemctl enable --now frr vtysh << 'EOF' configure terminal router ospf passive-interface default network 192.168.4.0/28 area 0 network 10.10.10.0/30 area 0 area 0 authentication exit interface tun1 no ip ospf network broadcast no ip ospf passive ip ospf authentication ip ospf authentication-key P@ssw0rd exit exit write EOF systemctl restart frr
СКРИНШОТ:
vtysh -c "show ip ospf neighbor"СКРИНШОТ:
vtysh -c "show ip route ospf" (на обоих)
ШАГ 08
DHCP (HQ-RTR)
dnf install dhcp-server -y
cat > /etc/dhcp/dhcpd.conf << 'EOF'
subnet 192.168.2.0 netmask 255.255.255.240 {
range 192.168.2.2 192.168.2.14;
option domain-name-servers 192.168.1.2;
option domain-name "au-team.irpo";
option routers 192.168.2.1;
option broadcast-address 192.168.2.15;
default-lease-time 600;
max-lease-time 7200;
}
EOF
systemctl enable --now dhcpd
СКРИНШОТ:
ip a на HQ-CLI (должен получить IP из диапазона)
ШАГ 09
BIND DNS (HQ-SRV)
dnf install bind bind-utils -y
cat > /etc/named.conf << 'EOF'
options {
listen-on port 53 { 127.0.0.1; 192.168.1.0/27; };
allow-query { any; };
forwarders { 77.88.8.8; };
dnssec-validation no;
};
zone "au-team.irpo" {
type master;
file "master/au-team.db";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "master/au-team_rev.db";
};
EOF
mkdir -p /var/named/master
cat > /var/named/master/au-team.db << 'EOF'
$TTL 1D
@ IN SOA hq-srv.au-team.irpo. root.au-team.irpo. ( 0 1D 1H 1W 3H )
IN NS hq-srv.au-team.irpo.
hq-rtr IN A 192.168.1.1
hq-srv IN A 192.168.1.2
hq-cli IN A 192.168.2.2
br-rtr IN A 192.168.4.1
br-srv IN A 192.168.4.2
EOF
cat > /var/named/master/au-team_rev.db << 'EOF'
$TTL 1D
@ IN SOA hq-srv.au-team.irpo. root.au-team.irpo. ( 0 1D 1H 1W 3H )
IN NS hq-srv.au-team.irpo.
1 IN PTR hq-rtr.au-team.irpo.
2 IN PTR hq-srv.au-team.irpo.
EOF
chown -R root:named /var/named/master
chmod 0640 /var/named/master/*
named-checkconf -z
systemctl enable --now named
СКРИНШОТ:
nslookup hq-srv.au-team.irpoСКРИНШОТ:
nslookup 192.168.1.2
ШАГ 10
Часовой пояс (на всех устройствах)
timedatectl set-timezone Europe/Moscow timedatectl
СКРИНШОТ:
timedatectl на каждом ПК
ШАГ 11
VLAN на HQ-RTR
⚠️
ВНИМАНИЕ!
Этот шаг выполняется только если всё остальное уже работает (пинг между HQ-RTR и HQ-SRV есть, OSPF, NAT, DHCP, DNS — стабильны).
Неправильная настройка VLAN может сломать L2-связность.
Если не уверены — пропустите этот шаг. Базовая схема без VLAN уже даёт рабочую инфраструктуру.
dnf install openvswitch NetworkManager-ovs -y systemctl enable --now openvswitch ovs-vsctl add-br hq-sw ovs-vsctl add-port hq-sw ens34 tag=100 ovs-vsctl add-port hq-sw ens35 tag=999 ovs-vsctl add-port hq-sw ens36 tag=200 ovs-vsctl add-port hq-sw vlan100 tag=100 -- set interface vlan100 type=internal ovs-vsctl add-port hq-sw vlan200 tag=200 -- set interface vlan200 type=internal ovs-vsctl add-port hq-sw vlan999 tag=999 -- set interface vlan999 type=internal systemctl restart openvswitch NetworkManager ip link set hq-sw up ip a add 192.168.1.1/27 dev vlan100 ip a add 192.168.2.1/28 dev vlan200 ip a add 192.168.3.1/29 dev vlan999
СКРИНШОТ:
ovs-vsctl showСКРИНШОТ:
ip -c a show vlan100