Дополнительные сведения
Блокнот с командами для настройки и проверки сетевой инфраструктуры.
Содержание
Команды для ДЭМО (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 dhcpdBR-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 - Быстрая проверка активности