|Меняем HOSTNAME|
hostnamectl set-hostname <NAME> ### Задаём имя
exec bash ### Перезапускаем командную строку для отображения нового имени
---------------------------------------------------------------------------------------------------------------
|Делаем таблицу адресации|
Калькулятор для IPv4 - https://ipcalc.co/
Калькулятор для IPv6 - https://www.coderstool.com/ipv6-subnet-calculator (пример IPv6 адреса - FD24:192::/122)
Гайд - https://github.com/abdurrah1m/DEMO2024/blob/main/DEBIAN.md
Гайд 2 - http://каб-220.рф/ru/demo-2024/modul-2-2
Гайд 3 - https://vxsetup.tilda.ws/
Адреса произвольные
---------------------------------------------------------------------------------------------------------------
|Включаем режим маршрутизатора на маршрутизаторах|
nano /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
sysctl -p
РЕПО ЯНДЕКСА!!!
deb http://mirror.yandex.ru/debian/ bullseye main
deb-src http://mirror.yandex.ru/debian/ bullseye main
deb http://mirror.yandex.ru/debian-security bullseye-security main contrib
deb-src http://mirror.yandex.ru/debian-security bullseye-security main contrib
deb http://mirror.yandex.ru/debian/ bullseye-updates main contrib
deb-src http://mirror.yandex.ru/debian/ bullseye-updates main contrib
---------------------------------------------------------------------------------------------------------------
|Проверка выхода в интернет и установка nftables на HQ-R и BR-R и ISP|
apt install -y nftables
nano /etc/nftables.conf ### Создаем и открываем фалй
table inet nat { ### Пишем следующие строчки в файл
chain POSTROUTING {
type nat hook postrouting priority srcnat;
oifname "ВНЕШНИЙ ПОРТ СМОТРЯЩИЙ НА ИНТЕРНЕТ" masquerade
******************** Чтобы сервера начали выходить в интернет надо настроить динамическую маршрутизацию OSPF,
так как она проста в настройке и имеет большой потенциал к расширению сети.
apt install frr ### Установка FRR (для маршрутизаци OSPF)
nano /etc/frr/daemons ### Переходим в файл daemons и пишем YES напротив строки ospfd
ДАЛЕЕ ДЕЛАЕМ ВСЁ СОГЛАСНО ВАШИМ IP
vtysh ### Переход в среду cisco
conf t
router ospf
router-id (поочередно id каждого роутера, начиная с первого узла - 1.1.1.1, второй узел - 2.2.2.2, третий - 3.3.3.3)
network 10.10.10.0/27 area 0
***И ТАК ДАЛЕЕ ПЕРЕЧИСЛЕНИЕ ВСЕХ СЕТЕЙ КОТОРЫЕ ПОДКЛЮЧЕНЫ К УСТРОЙСТВУ (HQ-R - 2 сети, ISP - 3 сети, BR-R - 2 сети)
do wr
ЕСЛИ ПОСЛЕ ДАННЫХ МАНИПУЛЯЦИЙ СЕРВЕРА ВСЕ РАВНО НЕ ПИНГУЮТ И НЕ КАЧАЮТ. ОТКРЫВАЕМ КОНФИГ FRR
nano /etc/frr/frr.conf
ЕСЛИ У ВАС СТРОЧКА ЕСТЬ, ТО NO СТИРАЕМ К ЧЁРТОВОЙ МАТЕРИ
no ip forwarding
Проделываем эти команды на всех трёх роутерах. После чего должен появится доступ к интернету и пинг с сервера до сервера.
---------------------------------------------------------------------------------------------------------------
|Настройка DHCP на HQ-R|
apt install isc-dhcp-server ### Установка dhcp сервера
nano /etc/dhcp/dhcpd.conf ### Переход в настройки DHCP сервера
В файле в любом месте пишем:
subnet 192.168.1.0 netmask 255.255.255.224 {
range 192.168.1.3 192.168.1.30;
option domain-name-servers 192.168.1.2, 8.8.8.8;
option domain-name "hq.work";
option routers 192.168.1.1;
}
host HQ-SRV {
hardware ethernet MAC-адрес сетевой карты сервера
fixed-address 192.168.1.2
Далее переходим в настройку isc-dhcp-server
nano /etc/default/isc-dhcp-server
Убираем # в строке DHCPDv4_CONF
В строке INTERFACESv4 добавляем в ковычки внутренний интерфейс, который направлен на сервер
---------------------------------------------------------------------------------------------------------------
|Добавление пользователей|
useradd -c "Admin" admin -U -s bim/bash ### Добавляем пользака с группой и возможностью работы в командной строке
passwd admin
< вводим пароль пользователя >
< повторяем ввод пароля >
ИЛИ ЖЕ
adduser --force-badname <ИМЯ>
---------------------------------------------------------------------------------------------------------------
|Тестирование узлов с помощью iperf3 HQ-R и ISP|
apt install iperf3 -y ### На обоих узлах
iperf3 -s ### Запуск iperf на одном из узлов в качетсве сервера
iperf3 -c АДРЕС ISP ### Тестирование
---------------------------------------------------------------------------------------------------------------
|Создание backup скрипта на HQ-R и BR-R|
mkdir /var/{backup,backup-script} ### Создание папки для хранения скрипта и для хранения резервных копий
nano /var/backup-script/backup.sh ### Создание скрипта
*****************************************
Пишем следующие строчки в скрипт:
#!/bin/bash
# Системная переменная с текущей датой
data=$(date +%d.%m.%Y-%H:%M:%S)
# Создание директории с текущей датой/временем
mkdir /var/backup/$data
# Копирование настроек frr
cp -r /etc/frr /var/backup/$data
# Копирование настроек nftables
cp -r /etc/nftables /var/backup/$data
# Копирование настроек сетевых интерфейсов
cp -r /etc/NetworkManager/system-connections /var/backup/$data
# Копирование настроек DHCP
cp -r /etc/dhcp /var/backup/$data
# Переход в директорию
cd /var/backup
# Архивируем
tar czfv "./$data.tar.gz" ./$data
# Удаляем временную директорию
rm -r /var/backup/$data
*****************************************
chmod +x /var/backup-script/backup.sh ### Назначаем исполняемым наш скрипт
/var/backup-script/backup.sh ### Выполняем скрипт
*****************************************
Чтобы передать этот же скрипт на BR-R потребуется установить SSH и настроить его
apt install sshd
nano /etc/ssh/sshd_config
В строке PermitRootLogin убираем # с напротив пишем yes (ПРОДЕЛАТЬ НА ВСЕХ МАШИНАХ, ГДЕ ЕСТЬ SSH, А ОН ЕСТЬ ВЕЗДЕ)
systemctl restart sshd
*****************************************
Далее на BR-R передаём файл с помощью scp:
scp root@АДРЕС HQ-R:/var/backup-script/backup.sh /var/backup-script/
chmod +x /var/backup-script/backup.sh ### Делаем скрипт исполняемым
/var/backup-script/backup.sh ### Выполняем скрипт
---------------------------------------------------------------------------------------------------------------
|Настройка SSH, перенаправление трафика SSH на внешний порт HQ-R|
nano /etc/ssh/sshd_config ### Меняем нужный порт у HQ-SRV. Строка Port. Также строчку PermitRootLogin.
Переходим к настройке перенаправления трафика на HQ-R.
nano /etc/nftables.conf
ПЕРЕД НАСТРОЙКОЙ NAT ПИШЕМ СЛЕДУЮЩИЕ СТРОЧКИ
chain PREROUTING {
type nat hook prerouting priority filter;
ip daddr 1.1.1.2 tcp dport 3035(в зависимости от варианта) dnat ip to 192.168.1.2:3035 (в зависимости от ip и варианта)
}
systemctl restart nftables ### Рестарт nftables
---------------------------------------------------------------------------------------------------------------
|Запрет доступа ssh CLI до сервера HQ-SRV|
Устанавливаем nftables на HQ-SRV
apt install nftables
В конфиге nftables пишем:
table inet filter {
chain input {
type filter hook input priority filter;
ip saddr 10.10.10.2/30 tcp dport 3035 counter drop ### ВСЕ IP И ПОРТЫ ЗАВИСЯТ ОТ ВАРИАНТА
}
}
---------------------------------------------------------------------------------------------------------------
************************************************
p.s. Далее в задании DNS, но надо сделать NTP, чтобы всё было круто с DNS
На HQ-R проверяем часовой пояс
timedatесtl ### Проверка времени
Задаём часовой пояс МСК
timedatесtl set-timezone Europe/Moscow
Устанавливаем chrony
apt install chrony
В конфиге (/etc/chrony/chrony.conf) пишем:
server 127.0.0.1 iburst prefer
local stratum 5
allow 0/0
Далее сомотрим, правильно ли всё
systemctl restart chrony
chronyc sources
systemctl enable chrony
На всех тачках устанавливаем часовой пояс
timedatectl set-timezone Europe/Moscow
И кидаем в автозагрузку хорни
systemctl enable --now chrony
Проверяем на клиентах
chronyc sources
Проверяем на серваке HQ-R
chronyc clients
************************************
УРААА DNSSSSS
apt install bind9
Создадим директории для зон:
mkdir /etc/bind/hq.work -p
mkdir /etc/bind/br.work -p
Переходим в /etc/bind
Создаем конфигурационный файл наших зон.
touch named.conf.zones
Открываем, пишем зоны hq.work, br.work
*****************************************
zone "hq.work" {
type master;
file "/etc/bind/hq.work/hq.db";
};
zone 1.168.192.in-addr.arpa {
type master;
file "/etc/bind/hq.work/hq-back.zone";
};
zone "br.work" {
type master;
file "/etc/bind/br.work/br.db";
};
zone 1.16.172.in-addr.arpa {
type master;
file "/etc/bind/br.work/br-back.zone";
};
******************************************
Далее открываем named.conf и добавляем путь до нашего файла после всех строк:
include "/etc/bind/named.conf.zones";
Следующим открываем named.conf.options
вписываем до последней скобки
dnssec-validation no
listen-on { any; };
listen-on-v6 { none; };
Копируем db.empty в /hq.work с названием hq.db
полная команда:
cp /etc/bind/db.empty /etc/bind/hq.work/hq.db
cd hq.work
nano hq.db
Открываем и начинаем править:
Выше строчки $TTL пишем $ORIGIN hq.work.
Далее
@ IN SOA HQ-SRV. root.HQ-SRV. (
1 ; Serial
- -
- -
;
@ IN NS HQ-SRV.
@ IN A 192.169.1.2
HQ-SRV IN A 192.168.1.2
HQ-R IN A 192.168.1.1
Далее обратная зона просмотра
cp hq.db hq-back.zone
Редачим:
Выше строчки $TTL пишем $ORIGIN 1.168.192.in-addr.arpa.
@ IN SOA HQ-SRV. root.HQ-SRV. (
1 ; Serial
- -
- -
;
NS HQ-SRV.
2 PTR HQ-SRV.
1 PTR HQ-R.
После копируем эти 2 файла hq.db и hq-back.zone в папку br.work с переименованием их
cp /etc/bind/hq.work/hq.db /etc/bind/br.work/br.db
cp /etc/bind/hq.work/hq-back.zone /etc/bind/br.work/br-back.zone
И редачим их
br.db:
@ IN SOA BR-SRV. root.BR-SRV. (
1 ; Serial
- -
- -
;
@ IN NS BR-SRV.
@ IN A 172.16.1.2
BR-SRV IN A 172.16.1.2
BR-R IN A 172.16.1.1
br-back.zone:
@ IN SOA BR-SRV. root.BR-SRV. (
1 ; Serial
- -
- -
;
NS BR-SRV.
2 PTR BR-SRV.
1 PTR BR-R.