Дополнительные сведения

Блокнот с командами для настройки и проверки сетевой инфраструктуры.

Команды для ДЭМО (ALT-SERVER-ROUTER)

ISP — Выход в интернет из нашей сети

Идентификация хоста и времени

hostnamectl hostname ISP
bash
timedatectl set-timezone Europe/Moscow

Включение маршрутизации (IP Forwarding)

cd /etc/net/
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' sysctl.conf

Подготовка шаблонов интерфейсов

cd ifaces/

cp -R enp7s1 enp7s2
cp -R enp7s2 enp7s3

Настройка режимов BOOTPROTO и IPv4-адресов

sed -i 's/BOOTPROTO=static/BOOTPROTO=dhcp/g' enp7s1/options
sed -i 's/SYSTEMD_BOOTPROTO=static/SYSTEMD_BOOTPROTO=dhcp4/g' enp7s1/options

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s2/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s2/options
sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s3/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s3/options

echo 172.16.1.1/28 > enp7s2/ipv4address
echo 172.16.2.1/28 > enp7s3/ipv4address

systemctl restart network
*enp7s1 > DHCP (uplink к провайдеру)
*enp7s2, enp7s3 > static (downlink к клиентам)

Скачивание nano, iptables

apt-get update && apt-get install nano iptables

Применение сетевых настроек и NAT

systemctl restart network
iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save -f /etc/sysconfig/iptables
systemctl enable --now iptables.service

Применение сетевых настроек

systemctl restart network

HQ-RTR-ALT

Идентификация хоста и времени

hostnamectl hostname hq-rtr.au-team.irpo
bash
timedatectl set-timezone Europe/Moscow

Включение маршрутизации (IP Forwarding)

cd /etc/net/
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' sysctl.conf

Подготовка шаблонов интерфейсов

cd ifaces/

cp -R enp7s1 enp7s2

cp -R enp7s1 enp7s2.100
cp -R enp7s1 enp7s2.200
cp -R enp7s1 enp7s2.999

cp -R enp7s1 gre10

Настройка IPv4-адресов и маршрутов

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s1/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s1/options

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s2.100/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s2.100/options
sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s2.200/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s2.200/options
sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s2.999/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s2.999/options

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' gre10/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' gre10/options


echo 172.16.1.2/28 > enp7s1/ipv4address
echo default via 172.16.1.1 > enp7s1/ipv4route

echo 192.168.100.1/27 > enp7s2.100/ipv4address
echo 192.168.200.1/28 > enp7s2.200/ipv4address
echo 192.168.99.1/29 > enp7s2.999/ipv4address

echo 192.168.10.1/30 > gre10/ipv4address

Настройка VLAN-интерфейсов

echo HOST=enp7s2 >> enp7s2.100/options
echo HOST=enp7s2 >> enp7s2.200/options
echo HOST=enp7s2 >> enp7s2.999/options

echo VID=100 >> enp7s2.100/options
echo VID=200 >> enp7s2.200/options
echo VID=999 >> enp7s2.999/options

sed -i 's/TYPE=eth/TYPE=vlan/g' enp7s2.100/options
sed -i 's/TYPE=eth/TYPE=vlan/g' enp7s2.200/options
sed -i 's/TYPE=eth/TYPE=vlan/g' enp7s2.999/options

echo nameserver 77.88.8.8 > /etc/resolv.conf

Настройка GRE-туннеля

sed -i 's/TYPE=eth/TYPE=iptun/g' gre10/options

cat << EOF >> gre10/options
TUNLOCAL=172.16.1.2
TUNREMOTE=172.16.2.2
TUNTYPE=gre
TUNTTL=32
TUNOPTIONS='ttl 32'
EOF

Применяем сетевые настройки

systemctl restart network

Установка и настройка динамической маршрутизации (FRR / OSPF), nano и iptables

apt-get update
apt-get install frr dhcp-server nano iptabes -y
sed -i 's/ospfd=no/ospfd=yes/g' /etc/frr/daemons

systemctl enable --now frr

Настройка NAT

iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save -f /etc/sysconfig/iptables
systemctl enable --now iptables.service

Настройка DNS-резолвера

cat << EOF > /etc/resolv.conf
nameserver 192.168.100.2
search au-team.irpo
domain au-team.irpo
EOF

Конфигурация OSPF через vtysh

vtysh
conf t
interface gre10
ip ospf authentication message-digest-key 1 md5 P@ssw0rd
no ip ospf passive
exit
!
router ospf
passive-interface default
network 192.168.10.0/30 area 0
network 192.168.99.0/29 area 0
network 192.168.100.0/27 area 0
network 192.168.200.0/28 area 0
exit
exit
wr
exit

Настройка DHCP-сервера

cat << EOF >  /etc/dhcp/dhcpd.conf
ddns-update-style none;

subnet 192.168.200.0 netmask 255.255.255.240 {
       option routers                   192.168.200.1;
       option subnet-mask              255.255.255.240;

       option domain-name               "au-team.irpo";
       option domain-name-servers       192.168.100.2;
       
       range dynamic-bootp 192.168.200.2 192.168.200.12;
       default-lease-time 21600;
       max-lease-time 43200;
}
EOF
sed -i 's/DHCPDARGS=/DHCPDARGS=enp7s2.200/g' /etc/sysconfig/dhcpd
systemctl enable --now dhcpd

BR-RTR-ALT

Идентификация хоста и времени

hostnamectl hostname br-rtr.au-team.irpo
bash
timedatectl set-timezone Europe/Moscow

Включение маршрутизации (IP Forwarding)

cd /etc/net/
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' sysctl.conf
cd ifaces/

Подготовка шаблонов интерфейсов

cp -R enp7s1 enp7s2
cp -R enp7s1 gre10

Настройка IPv4-адресов и маршрутов

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s1/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s1/options
sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s2/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s2/options

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' gre10/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' gre10/options

echo 172.16.2.2/28 > enp7s1/ipv4address
echo default via 172.16.2.1 > enp7s1/ipv4route

echo 192.168.0.1/28 > enp7s2/ipv4address

echo 192.168.10.2/30 > gre10/ipv4address

Настройка GRE-туннеля

sed -i 's/TYPE=eth/TYPE=iptun/g' gre10/options

cat << EOF >> gre10/options
TUNLOCAL=172.16.2.2
TUNREMOTE=172.16.1.2
TUNTYPE=gre
TUNTTL=32
TUNOPTIONS='ttl 32'
EOF

Настраиваем временный DNS-резолвер

echo nameserver 77.88.8.8 > /etc/resolv.conf

Установка и настройка динамической маршрутизации (FRR / OSPF), nano и iptables

systemctl restart network

apt-get update
apt-get install frr dhcp-server nano iptabes -y
sed -i 's/ospfd=no/ospfd=yes/g' /etc/frr/daemons

systemctl enable --now frr

Настройка DNS-резолвера

cat << EOF > /etc/resolv.conf
nameserver 192.168.100.2
search au-team.irpo
domain au-team.irpo
EOF

Применяем сетевые настройки

systemctl restart network

Настройка NAT

iptables -t nat -A POSTROUTING -o enp7s1 -j MASQUERADE
iptables-save -f /etc/sysconfig/iptables
systemctl enable --now iptables.service

Конфигурация OSPF через vtysh

vtysh
conf t
!
interface gre10
ip ospf authentication message-digest-key 1 md5 P@ssw0rd
no ip ospf passive
exit
!
!
router ospf
passive-interface default
network 192.168.10.0/30 area 0
network 192.168.0.0/28 area 0
exit
exit
wr
exit

HQ-SRV — СЕРВЕР (ALT)

Идентификация хоста и времени

hostnamectl hostname hq-srv.au-team.irpo
bash
timedatectl set-timezone Europe/Moscow

Настройка сетевого интерфейса и DNS-резолвера

cd /etc/net/ifaces/

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s1/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s1/options

echo 192.168.100.2/27 > enp7s1/ipv4address
echo default via 192.168.100.1 > enp7s1/ipv4route

echo nameserver 77.88.8.8 > enp7s1/resolv.conf

systemctl restart network

Настройка безопасного SSH-доступа (с паролем P@ssw0rd)

useradd sshuser -u 2026
passwd sshuser

gpasswd -a sshuser wheel
echo 'sshuser ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers

cat << EOF >> /etc/openssh/sshd_config
port 2026
MaxAuthTries 2 
AllowUsers sshuser
Banner /etc/openssh/banner
EOF
systemctl restart sshd
cat << EOF > /etc/openssh/banner
... Authorized access only ...
EOF

systemctl restart sshd
*
*
*

Установка и базовая настройка BIND (DNS-сервер)

apt-get update && apt-get install bind bind-utils -y

Настройка DNS-резолвера

cat << EOF > enp7s1/resolv.conf
nameserver 192.168.100.2
echo search au-team.irpo
echo domain au-team.irpo
EOF

Редактирование глобальных опций BIND (/var/lib/bind/etc/options.conf)

listen-on {192.168.100.2; };
listen-on-v6 { none; };
forwarders {77.88.8.8; };
allow-query {any; };
allow-recursion {any; };
dnssec-validation no;

Добавление зон в /var/lib/bind/etc/rfc1912.conf

cat << EOF >> /var/lib/bind/etc/rfc1912.conf

zone "au-team.irpo" {
        type master;
        file "au-team.irpo";
};

zone "100.168.192.in-addr.arpa" {
         type master;
         file "100.168.192.in-addr.arpa";
};

zone "200.168.192.in-addr.arpa" {
         type master;
         file "200.168.192.in-addr.arpa";
};
EOF

Создание файлов зон из шаблона empty

cd /var/lib/bind/etc/zone
cp /var/lib/bind/etc/zone/empty /var/lib/bind/etc/zone/au-team.irpo
cp /var/lib/bind/etc/zone/empty /var/lib/bind/etc/zone/100.168.192.in-addr.arpa
cp /var/lib/bind/etc/zone/empty /var/lib/bind/etc/zone/200.168.192.in-addr.arpa
*
*

Наполнение прямой зоны (au-team.irpo)

cat << EOF > /var/lib/bind/etc/zone/au-team.irpo
\$TTL    1D
@       IN      SOA     au-team.irpo. root.au-team.irpo. (
                                2025110500      ; serial
                                12H             ; refresh
                                1H              ; retry
                                1W              ; expire
                                1H              ; ncache
                        )
        IN      NS      au-team.irpo.
        IN      A       192.168.100.2
hq-srv  IN      A       192.168.100.2
hq-cli  IN      A       192.168.200.2
hq-rtr  IN      A       192.168.100.1
hq-rtr  IN      A       192.168.200.1
hq-rtr  IN      A       192.168.99.1
docker  IN      A       172.16.1.1
web     IN      A       172.16.2.1
br-srv  IN      A       192.168.0.2
br-rtr  IN      A       192.168.0.1
EOF

Наполнение обратных зон (PTR-записи) /var/lib/bind/etc/zone/200.168.192.in-addr.arpa

cat << EOF > /var/lib/bind/etc/zone/200.168.192.in-addr.arpa

\$TTL    1D
@       IN      SOA     au-team.irpo. root.au-team.irpo. (
                                2025110500      ; serial
                                12H             ; refresh
                                1H              ; retry
                                1W              ; expire
                                1H              ; ncache
                        )
        IN      NS      au-team.irpo.
1       IN      PTR     hq-rtr.au-team.irpo.
2       IN      PTR     hq-srv.au-team.irpo.
EOF

cat << EOF > /var/lib/bind/etc/zone/100.168.192.in-addr.arpa
\$TTL    1D
@       IN      SOA     au-team.irpo. root.au-team.irpo. (
                                2025110500      ; serial
                                12H             ; refresh
                                1H              ; retry
                                1W              ; expire
                                1H              ; ncache
                        )
        IN      NS      au-team.irpo.
1       IN      PTR     hq-rtr.au-team.irpo.
2       IN      PTR     hq-srv.au-team.irpo.
EOF

Генерация ключа rndc и проверка конфигурации (опционально)

rndc-confgen > /etc/bind/rndc.key
sed -i '6,$d' /etc/bind/rndc.key

named-checkconf 
named-checkconf -z

Установка прав и запуск службы BIND

chown -R root:named /var/lib/bind/etc/zone/*
systemctl enable --now bind.service
systemctl status bind

Синхронизация часового пояса (доп. проверка)

timedatectl set-timezone Europe/Moscow
timedatectl

BR-SRV — СЕРВЕР (ALT)

Идентификация хоста и времени

hostnamectl hostname br-srv.au-team.irpo
bash
timedatectl set-timezone Europe/Moscow

Настройка сетевого интерфейса и DNS-резолвера

cd /etc/net/ifaces/

sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g' enp7s1/options
sed -i 's/SYSTEMD_BOOTPROTO=dhcp4/SYSTEMD_BOOTPROTO=static/g' enp7s1/options

echo 192.168.0.2/28 > /enp7s1/ipv4address
echo default via 192.168.0.1 > enp7s1/ipv4route

cat << EOF > enp7s1/resolv.conf
nameserver 192.168.100.2
search au-team.irpo
domain au-team.irpo
EOF

systemctl restart network

Настройка безопасного SSH-доступа (пароль - P@ssw0rd)

useradd sshuser -u 2026
passwd sshuser

gpasswd -a sshuser wheel

echo 'sshuser ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers

cat << EOF >> /etc/openssh/sshd_config
port 2026
MaxAuthTries 2 
AllowUsers sshuser
Banner /etc/openssh/banner
EOF

echo "--Authorized access only--" > /etc/openssh/banner

systemctl restart sshd

Команды для проверки настроек

ISP — NAT (iptables)

iptables -t nat -nvL - правила NAT
cat /etc/net/sysctl.conf | grep "net.ipv4.ip_forward" - Включена ли переадресация 

HQ — RTR - dhcpcd, ospf

systemctl status dhcpd - Статус (ISC DHCP)
journalctl -u dhcpd --no-pager -n 50 - Логи dhcp-сервера


systemctl status frr - Статус FRR

vtysh
show ip ospf neighbor -  Соседи OSPF (FRR)
exit

ip tunnel show -  Список туннелей

BR — RTR - ospf

systemctl status frr - Статус FRR

vtysh
show ip ospf neighbor -  Соседи OSPF (FRR)
exit

ip tunnel show -  Список туннелей

HQ — SRV - bind

systemctl status bind - статус службы
systemctl is-active bind - Быстрая проверка активности