Поочередная настройка оборудования на конкретном примере сети

Материал из ALT Linux Wiki

NAT

На всех роуторах

iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65
iptables-save -f /etc/sysconfig/iptables
systemctl enable --now iptables 
mcedit /etc/net/sysctl.conf ----- forward - 1

TUNNEL

Настроим туннель на RTR-HQ командой

nmcli connection add type ip-tunnel  ip-tunnel.mode ipip  con-name tun0 ifname tun0 ipv4.address 10.0.0.1/30 ipv4.method manual remote <172.16.1.2 IP-адрес RTR-BR> local <172.16.2.2 IP-адрес RTR-HQ>

Настроим туннель на RTR-BR командой

nmcli connection add type ip-tunnel  ip-tunnel.mode ipip  con-name tun0 ifname tun0 ipv4.address 10.0.0.2/30 ipv4.method manual remote <172.16.2.2 IP-адрес RTR-HQ> local <172.16.1.2 IP-адрес RTR-BR> 

VLAN

SWITCH

Обновим список пакетов командой

apt-get update

Установим пакет OpenVSwitch командой

apt-get install openvswitch

Если сервис не запущен, то включаем его и сразу же добавляем в автозагрузку командой

systemctl enable --now openvswitch

Проверим что сервис OpenVSwitch работает командой

systemctl status openvswitch

Создадим виртуальный коммутатор HQ-SW командой

ovs-vsctl add-br HQ-SW

Настроим порт на созданном коммутаторе в сторону роутера командой

ovs-vsctl add-port HQ-SW ens3 trunks=100,200

, где ensX - это интерфейс в сторону RTR-HQ

Настроим порт доступа в сторону первого клиента командой

ovs-vsctl add-port HQ-SW ens4 tag=100

где ensX - это интерфейс в сторону HQ-SRV

Настроим порт доступа в сторону второго клиента командой

ovs-vsctl add-port HQ-SW ens5 tag=200

где ensX - это интерфейс в сторону HQ-CLI


HQ-RTR

Перейдем на RTR-HQ

Удалим созданный Нами в начале практической интерфейс в сторону внутренней сети командой

nmcli con del ensX

где ensX - это интерфейс в сторону внутренней сети.

Добавим интерфейс для 100 VLAN командой

nmcli con add type vlan con-name ens4 dev ens4 id 100 ipv4.address 192.168.10.1/26 ipv4.method manual

где ensX - интерфейс в сторону SW-HQ

Добавим интерфейс для 200 VLAN командой

nmcli con add type vlan con-name ens4 dev ens4 id 200 ipv4.address 192.168.20.1/28 ipv4.method manual

где ensX - интерфейс в сторону SW-HQ

SSH

Переходим на SRV1

Перед началом

Открываем файл настройки SSH командой

mcedit /etc/openssh/sshd_config

Раскомментируем строку Port и изменяем 22 на 2024

Укажем количество попыток входа, для этого раскомментируем строку MaxAuthTries и изменим количество попыток на 2

Настроим баннер при подключении для пользователя, для этого раскомментируем строку Banner и укажем путь к файлу с текстом заменив значение по-умолчания на /etc/motd

Сохраним и выйдем

Создадим файл /etc/motd командой mcedit /etc/motd

Заполним файл следующим содержимым:

--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
Authorized access only! 
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------

Сохраним и выйдем

DHCP

apt-get update
apt-get install dhcp-server
cp /etc/dhcp/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
mcedit /etc/dhcp/dhcp.conf
ddns-update-style none;

subnet 192.168.20.0 netmask 255.255.255.240 {
option routers 192.168.20.1;
option subnet-mask 255.255.255.240;
option domain-name "au-team.ipo";
option domain-name-servers 192.168.10.2;

range dynamic-bootp 192.168.20.2 192.168.20.14;
default-lease-tame 21600;
max-lease-time 43200;
}
host HQ-CLI {
!!! hardware ethernet 50:5f:c8:0d:00;
    fixed-address 192.168.20.2;
 }

Сохраним и выйдем

Настроим на каком интерфейсе будет работать Наш DHCP-сервер, для этого откроем файл

mcedit /etc/sysconfig/dhcpd

В строке DHCPARGS после знака = ens4.200

Сохраним и выйдем.

Перезапустим службу, отвечающую за DHCP-сервер командой

systemctl restart dhcpd.service

Добавим службу в автозагрузку командой

systemctl enable --now dhcpd.service

OSPF

Перейдем на RTR-HQ

Обновим список пакетов командой

apt-get update

Установим пакет frr командой

apt-get install frr

Включим демон ospfd для этого:

Откроем файл /etc/frr/daemons командой

mcedit /etc/frr/deamons

Поменяем в строке ospfd с no на yes

Выходим.

Перезагружаем службу frr командой

systemctl restart frr

Добавим frr в автозагрузку командой

systemctl enable --now frr

Заходим в frr командой

vtysh

Переходим в режим глобальной конфигурации командой

conf t

Заходим в процесс маршрутизации командой

router ospf

Настроим Router ID равным 1.1.1.1 командой

ospf router-id 1.1.1.1

Объявим сеть туннеля в ospf командой

network 10.0.0.0/30 area 0

Объявим сеть первого VLAN 192.168.10.0/26 командой

network 192.168.10.0/26 area 1

Объявим сеть второго VLAN 192.168.20.0/28 командой

network 192.168.20.0/28 area 1
Внимание! network 192.168.30.0/27 area 1 - Сеть br


Выйдем в режим глобальной конфигурации командой

exit

Перейдем в режим настройки интерфейса командой

interface tun0

Включим аутентификацию OSPF командой

ip ospf authentication

Настроим авторизацию OSPF по ключу DEMO командой

ip ospf authentication-key DEMO

Выйдем из режима настройки интерфейса командой

exit

Перейдем на подинтерфейс в сторону первого VLAN командой

interface ens4.100

Отключим рассылку пакетов ospf на этом интерфейсе командой

ip ospf passive

Перейдем на подинтерфейс в сторону второго VLAN командой

interface ens4.200

Отключим рассылку пакетов ospf на этом интерфейсе командой

ip ospf passive

Перейдем на интерфейс в сторону внешней сети командой

interface ens3

Отключим рассылку пакетов ospf на этом интерфейсе командой

ip ospf passive

Сохраним настройки для этого выйдем в пользовательский режим сочетанием клавиш Ctrl+Z и сохраним командой

write

Проверка

sh ip ospf nei

Выходим из vtysh командой

exit

DNS

Установим локальный DNS-сервер и текстовый редактор nano командой

apt-get install nano bind bind-utils -y

Открываем файл /etc/bind/options.conf командой

nano /etc/bind/options.conf

В строке listen-on меняем 127.0.0.1 на any

Раскомментируем строку forwarders (убираем //) и между фигурными скобками указываем адрес DNS-сервера на который будем ссылаться при отсутствии необходимой записи на локальном сервере. В нашем случае указываем 77.88.8.8;

Также раскомментируем строку allow-query и меняем в ней localnets на any

Сохраняем и закрываем файл.

Переходим непосредственно к настройке зоны. Для этого открываем файл /etc/bind/local.conf командой nano /etc/bind/local.conf

Добавляем в конец информацию о Нашей зоне:

zone "au-team.irpo" {
                      type master;
                      file "au-team.irpo";
};
zone "10.168.192.in-addr.arpa" {
                      type master;
                      file "au-team_rev1.irpo";
};
zone "20.168.192.in-addr.arpa" {
                      type master;
                      file "au-team_rev2.irpo";
};
zone "30.168.192.in-addr.arpa" {
                      type master;
                      file "au-team_rev3.irpo";
};

Сохраняем и выходим

sudo nano /etc/bind/zone/au-team.irpo

Заполните его следующими данными:

$TTL    1D
@       IN      SOA     au-team.irpo. root.au-team.irpo. (
                                2024021400       ; serial
                                12H              ; refresh
                                1H               ; retry
                                1W               ; expire
                                1H               ; ncache
                          )
         IN      NS      au-team.irpo.
         IN      A       192.168.10.2
hq-rtr   IN      A       192.168.10.1
hq-rtr   IN      A       192.168.20.1
br-rtr   IN      A       192.168.30.1
hq-srv   IN      A       192.168.10.2
hg-cli   IN      A       192.168.20.2
br-srv   IN      A       192.168.30.2
moodle   IN      CNAME   hq-rtr.au-team.irpo.
wiki     IN      CNAME   hq-rtr.au-team.irpo.

Сохраняем и выходим

sudo nano /etc/bind/zone/au-team_rev1.irpo

Заполните его следующими данными:

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

Сохраняем и выходим

sudo nano /etc/bind/zone/au-team_rev2.irpo

Заполните его следующими данными:

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

Сохраняем и выходим

sudo nano /etc/bind/zone/au-team_rev3.irpo

Заполните его следующими данными:

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

Сохраняем и выходим

Назначаем владельцем файла служебного пользователя named командой

chown named /etc/bind/zone/domain.test.db

Также для корректной работы с файлами зон необходимо настроить в качестве владельца файлов зон системного пользователя named командой

chown named -R /etc/bind/zone/

Увеличиваем права пользователя командой

chmod 710 /var/lib/bind/var

Перезагружаем

systemctl reestart bind

Включаем

systemctl enable --now bind

На роуторах hq-rtr и br-rtr нужно прописать dns

nmcli con modify ens3 ipv4.dns 192.168.10.2

После чего выключаем и включаем интерфейс

IP-ADDRESS

ISP-NET-DHCP-DHCP
     ISP-HQRTR-172.16.1.1/29
HQ-RTR-ISP-172.16.1.2/29-GATEWAY-172.16.1.1
     ISP-BR-RTR-172.16.2.1/29
 BR-RTR-ISP-172.16.2.2/29-GATEWAY-172.16.2.1
     HQ-RTR-HQ-SRV-192.168.10.1/26(VLAN100)
     HQ-RTR-HQ-CLI-192.168.20.1/28(VLAN200)
      BR-RTR-BR-SRV-192.168.30.1/27
HQ-SRV-HQ-RTR 192.168.10.2/26-GATEWAY-192.168.10.1
BR-SRV-BR-RTR-192.168.30.2/27-GATEWAY-192.168.30.1
HQ-CLI-HQ-RTR-192.168.20.2/28-GATEWAY-192.168.20.1