Открыть PDF-инструкцию: gaidVan
hostnamectl set-hostname device-name; exec bash
nmtui выбр manual
nano /etc/net/sysctl.conf net.ipv4.ip_forward=1
Если iptables не работает:
если все же не заработал то смотрим дальше
Восстановление работы iptables:systemctl enable iptables apt update && apt install iptables -y echo $PATH export PATH=$PATH:/sbin echo 'export PATH=$PATH:/sbin' >> ~/.bashrc source ~/.bashrc iptables -L -n -v # это проверка modprobe iptable_nat echo "iptable_nat" >> /etc/modules-load.d/iptables.conf cat /etc/resolv.conf nslookup google.com nano /etc/resolv.conf # изменить nameserver на 8.8.8.8 iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --sport 53 -j ACCEPT iptables -A INPUT -p tcp --sport 53 -j ACCEPT
Настройка NAT с использованием iptables # Настройка NAT (MASQUERADE) на ISP iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE # enp0s3 — интерфейс, направленный в сторону провайдера # Разрешение пересылки трафика iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT iptables -A FORWARD -i enp0s9 -o enp0s3 -j ACCEPT # Сохранение iptables iptables-save > /etc/iptables.rules
# Настройка NAT на HQ-R iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE # Добавляем маршрут по умолчанию (через ISP) ip route add default via (IP ISP)
# Настройка NAT на BR-R iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE # Добавление маршрута по умолчанию (через ISP) ip route add default via (IP ISP)
VLAN (ТОЛЬКО НА HQ-RTR) systemctl enable --now openvswitch Создаем мост (виртуальный коммутатор) hq-sw, добавляем порты и назначаем VLAN: ovs-vsctl add-br hq-sw ovs-vsctl add-port hq-sw ens20 tag=100 ovs-vsctl add-port hq-sw ens21 tag=200 ovs-vsctl add-port hq-sw ens22 tag=999 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 Перезагружаем openvswitch и NetworkManager: systemctl restart openvswitch systemctl restart NetworkManager Включаем мост: ip link set hq-sw up Создаем скрипт для настройки и восстановления ip-адресов VLAN после перезагрузки: nano ip.sh Пишем текст скрипта: #!/bin/bash/ ip a add 192.168.0.62/26 dev vlan100 ip a add 192.168.0.78/28 dev vlan200 ip a add 192.168.0.86/29 dev vlan999 Добавляем запуск при загрузке: nano ~/.bashrc Добавляем строчку и сохраняем: bash ip.sh
Запускаем скрипт: bash ip.sh
adduser sshuser -u 1010 -s /bin/bash passwd sshuser
nmcli connection modify tun1 ip-tunnel.ttl 64 # OSPF /etc/frr/daemons # Переводим ospfd=no в ospfd=yes # Включаем и добавляем в автозагрузку службу frr systemctl enable --now frr # Настраиваем OSPFv2 через vtysh vtysh conf t router ospf passive-interface default network 10.5.5.0/30 area 0 network 192.168.0.0/26 area 0 network 192.168.0.64/28 area 0 network 192.168.0.80/29 area 0 area 0 authentication ex # Конфигурируем туннель interface tun1 no ospf network broadcast no ip ospf passive ip ospf authentication ip ospf authentication-key P@ssw0rd ex ex wr
# Проверяем конфигурацию OSPF vtysh show ip route ospf
• Организуйте DHCP на HQ-RTR для офиса HQ: o Исключите из выдачи адрес маршрутизатора. o Укажите адрес сервера HQ-SRV как DNS-сервер. o Установите шлюз по умолчанию как HQ-RTR. o Добавьте DNS-суффикс au-team.irpo. Для настройки понадобится скачать dhcp Команда: apt-get install dhcp-server И нам нужен файл dhcpd.conf Если его нет, стоит сделать cp /etc/dhcp/dhcpd.conf.example /etc/dhcp/dhcpd.conf
nano /etc/dhcp/dhcpd.conf # Присвоение интерфейса, на котором будет работать DHCP Откройте файл /etc/sysconfig/dhcpd
systemctl restart dhcpd systemctl status dhcpd Переходим на HQ-CLI и проверяем, раздался ли адрес
apt-get install openssh-server nano /etc/ssh/sshd_config
Port 2024 AllowUsers sshuser Создайте пользователя sshuser на HQ-SRV и BR-SRV Создайте пользователя net_admin на HQ-RTR и BR-RTR # Команда для создания пользователя на HQ-SRV и BR-SRV useradd -u 1010 -m sshuser # Настройка прав без ввода пароля для (sudo) ls -l /etc/sudoers # проверка прав на файл
Если видим такую картину, значит, что файл можно только читать, но не редактировать. Чтобы файл можно было изменить, изменим права:
Создаем пользователя, используя команду (на HQ-R и BR-R): useradd -m -s /bin/bash net_admin
# Задаем пароль пользователю passwd net_admin # Даем права usermod -aG wheel net_admin # Проверка groups net_adminnano /etc/sudoers
# Перезагружаем SSH systemctl restart sshd # Создать файл для настройки баннера nano /etc/issue.net # Добавить текст: Authorized access only # Сервера adduser sshuser -u 1010 -s /bin/bash passwd sshuser P@ssw0rd P@ssw0rd usermod -aG wheel sshuser # Маршрутизатор (RTR) adduser net_admin -s /bin/bash passwd net_admin P@$$word P@$$word usermod -aG wheel net_admin echo "net_admin ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
Устанавливаем bind на HQ-SRV apt-get install bind Создаем зоны файл зоны прямого разрешения: Изменение настроек в options conf
Оформление зон в bind
Создание файлов зон
[root@HQ-SRV bind]# cd zone [root@HQ-SRV zone]# ls localhost managed-keys.bind managed-keys.bind.jnl slave 127. in-addr.arpa empty localdomain [root@HQ-SRV zone]# cp localdomain au-team.irpo [root@HQ-SRV zone]# cp 127.in-addr.arpa 2.168.192 [root@HQ-SRV zone]# cp 127.in-addr.arpa 3.168.192 [root@HQ-SRV zone]# cp 127.in-addr.arpa 4.168.192 [root@HQ-SRV zone]# cp 127.in-addr.arpa 4.168.192.in-addr.arpa [root@HQ-SRV zone]# cp 127.in-addr.arpa 3.168.192.in-addr.arpa [root@HQ-SRV zone]# cp 127.in-addr.arpa 2.168.192.in-addr.arpa [root@HQ-SRV zone]# rm -f 2.168.192 3.168.192 4.168.192 [root@HQ-SRU zone]#
Создание обратных зон
При настройке важно смотреть ваш текущий используемый dns cat /etc/resolv.conf Если там адрес не соответствует вашим желаниям, то редактируйте в файле /etc/systemd/resolved.conf Отключите dnssec Раскоментируйте DNSsec и поставьте no И установите параметр no напротив dnstublistener Так же раскоментировав строчку
nano /etc/bind/options.conf nano /etc/bind/zone/au-team.irpo
Будем синхронизировать с BR-SRV Скачиваем chrony apt-get install chrony
На клиент тоже скачиваем и прописываем в конфиге
Вписываем адрес устройства, с которым синхронизируется
timedatectl set-timezone Europe/Moscow
Настройка Samba AD: Удаляем smb.conf и другие конфигурационные файлы rm -f /etc/samba/smb.conf Запускаем автоматическую настройку samba-tool domain provision --use-rfc2307 --interactive Задаем все параметры по умолчанию кроме: DNS backend: NONE Password: P@ssw0rd Retype password: P@ssw0rd После успешной настройки покажет параметры домена Настраиваем Kerberos cp /var/lib/samba/private/krb5.conf /etc/krb5.conf Добавляем адрес DNS сервера в smb.conf nano /etc/samba/smb.conf Добавляем строчку dns forwarder dns forwarder = 192.168.0.1
Настраиваем группу и пользователя создаем группу для пользователей домена samba-tool group add hq создаем пользователей samba-tool user add user1.hq "P@ssw0rd" --home-directory=/home/AU-TEAM/user1.hq --uid=user1.hq Добавляем пользователя в группу samba-tool group addmembers hq user1.hq samba-tool group addmembers "Account Operators" hq samba-tool group addmembers "Allowed RODC Password Replication Group" hq Перезагружаем samba systemctl restart samba Внимание рекомендую перезагрузить сервер reboot Вводим в домен hq-cli На клиентском компьютере заходим в терминал Вводим команду подключения к домену realm join -U user1.hq au-team.irpo вводим пароль: P@ssw0rd Добавляем доменную группу realm permit -g hq Добавляем права доменных пользователей echo "%hq ALL=(ALL) NOPASSWD:/bin/cat,/bin/grep,/usr/bin/id" > /etc/sudoers.d/hq Импорт пользователей на сервере BR-SRV: Создайте скрипт для импорта на сервере: nano /opt/import_users.sh Пишем #!/bin/bash CSV_FILE="/opt/users.csv" while IFS=, read -r username password group; do # Создание пользователя samba-tool user create "$username" "$password" --home-directory="/home/$username" --uid="$username" # Добавление в группу samba-tool group addmembers "$group" "$username" done < "$CSV_FILE"
Сделайте скрипт исполняемым: chmod +x /opt/import_users.sh Запустите его: /opt/import_users.sh Сконфигурируйте файловое хранилище: Выводим список подключенных дисков и их имена. # lsblk Создание таблицы разделов Для разбиения диска, запускаем fdisk с именем устройства: # fdisk /dev/sdb Последовательно выполняем команды Вводим g чтобы создать новую пустую таблицу разделов: Command (m for help): g Вводим команду n чтобы создать новый раздел: Command (m for help): n Будет предложено ввести номер раздела. Жмем «Enter», чтобы использовать значение по умолчанию (1) Далее необходимо указать первый сектор, используем значение по умолчанию. Жмем «Enter» При следующем запросе необходимо ввести последний сектор, Жмем «Enter», так как используем весь диск Сохраняем изменения, запустив команду w (Жмем w) Команда запишет таблицу на диск и выйдет из меню fdisk. Ядро прочитает таблицу разделов устройства без перезагрузки системы. Аналогично создаем разделы на других дисках /dev/sdc, /dev/sdd Создание программного RAID5 Для сборки массива применяем следующую команду: # mdadm --create --verbose /dev/md0 -l 5 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1 Посмотреть состояние всех RAID можно командой: # cat /proc/mdstat
Отформатируем разделы в ext4: # mkfs.ext4 /dev/md0 В корне системы создадим директорию /raid5 # mkdir /raid5 Примонтируем к RAID директорию /raid5 командой: # mount /dev/md0 /raid5 Чтобы разделы монтировались при загрузке системы Открываем fstab: # nano /etc/fstab И добавляем строки /dev/md0 /raid5 ext4 defaults 0 0 Проверяем примонтированные разделы: # df -h
Создаем папку общего доступа /raid5/nfs # mkdir /raid5/nfs Измените права доступа sudo chmod 777 /raid5/nfs Запускаем nfs сервер: systemctl enable --now nfs Открываем на редактирование файл /etc/exports который содержит информацию о каталогах, экспортируемых с сервера: # nano /etc/exports Создаем шару из каталога /raid5/nfs, которая будет доступна для всех узлов сети 192.168.0.64/27. Добавим в него строку: /raid5/nfs 192.168.0.64/28(rw,subtree_check)
Выполняем экспорт данных (перечитаем конфигурационный файл /etc/exports, чтобы сервер начал отдавать настроенные шары): # exportfs -a Автомонтирование На HQ-CLI устанавливаем компонент для клиентской части NFS: Создаем директорию для автомонтирования /mnt/nfs # mkdir /mnt/nfs Пробуем примонтировать шару: # mount -t nfs 192.168.0.1:/raid5/nfs /mnt/nfs
Для автоматического монтирования на HQ-CLI после перезагрузки, используем fstab. Открываем файл fstab: # nano /etc/fstab И добавляем строку: 192.168.0.2:/raid5/nfs /mnt/nfs nfs auto 0 0
Создание пары SSH-ключей. Чтобы заходить на удаленные машины, пользователь на BR-SRV (sshuser и root) должен создать пару из закрытого/открытого RSA ключа. Это делается следующей командой: # ssh-keygen -t rsa Далее Enter В результате в каталоге /home/sshuser/.ssh или /root/.ssh будут созданы файлы ключей: ls -l ~/.ssh id_rsa # закрытый ключ id_rsa.pub # открытый ключ
Заходим под пользователем sshuser и root (выполняется аналогично) # su — sshuser Копируем открытый SSH-ключ на удаленные устройства под пользователем sshuser: Копируем ключ для пользователя sshuser на HQ-SRV На HQ-SRV ssh порт изменен, указываем его ssh-copy-id -p 2024 sshuser@192.168.0.1
Копируем ключ для пользователя user на HQ-CLI ssh-copy-id user@192.168.0.65 Копируем ключ для пользователя net_admin на HQ-RTR ssh-copy-id net_admin@172.16.4.1
Копируем ключ для пользователя net_admin на BR-RTR ssh-copy-id net_admin@172.16.5.1 Подготовка файла инвентаря (hosts) Создаем файл инвентаря /etc/ansible/demo nano /etc/ansible/inv Сначала указывается название группы в квадратных скобках, затем перечисляются хосты. Имена хостов прописываются в виде ip. После названия хоста можно указать параметры подключения к хосту в одну строку.
Запуск команд с пользовательским инвентарем ansible all -i /etc/ansible/inv -m ping Может появиться предупреждение про обнаружение интерпретатора Python, на целевом хосте
Для управления поведением обнаружения в глобальном масштабе необходимо в файле конфигурации ansible /etc/ansible/ansible.cfg в разделе [defaults] прописать ключ interpreter_python с параметром auto_silent. В большинстве дистрибутивов прописываем вручную. # nano /etc/ansible/ansible.cfg
Проверяем