Демонстративный экзамен
Справка
Перед началом работы над демонстративным экзаменом нужно установить следующие пакеты:
hq-cli – apt install -y vlan realmd krb5-user sssd oddjob oddjob-mkhomedir adcli samba-common packagekit sssd-tools nfs-common chrony
isp - apt install -y iptables netfilter-persistent iptables-persistent chrony nginx apache2-utils
hq-rtr - apt install -y vlan iptables netfilter-persistent iptables-persistent isc-dhcp-server frr
br-rtr – apt install -y iptables netfilter-persistent iptables-persistent frr chrony
br-srv - apt install -y openssh-server samba winbind libnss-winbind krb5-user smbclient ldb-tools samba-dsdb-modules chrony ansible docker docker-compose
hq-srv - apt install -y vlan bind9 bind9utils openssh-server mdadm nfs-kernel-server chrony apache2 apache2-utils mariadb-server php libapache2-mod-php php-mysql php-curl php-json
Также перед началом общей настройкой нужно прописать sudo hostnamectl set-hostname название_машины.au-team.irpo:
sudo hostnamectl set-hostname isp.au-team.irpo
sudo hostnamectl set-hostname hq-rtr.au-team.irpo
sudo hostnamectl set-hostname hq-srv.au-team.irpo
sudo hostnamectl set-hostname hq-cli.au-team.irpo
sudo hostnamectl set-hostname br-rtr.au-team.irpo
sudo hostnamectl set-hostname br-srv.au-team.irpo
Также после завершения настроек всегда нужно прописывать systemctl restart *служба* для вступления изменений в действие.
1 модуль
Общая информация об интерфейсах
Настройка интерфейсов проводить в nano /etc/network/interfaces
ISP:
auto ens33
iface ens33 inet dhcp
auto ens37
iface ens37 inet static
address 172.16.1.1/28
auto ens38
iface ens38 inet static
address 172.16.2.1/28
Рисунок 1 – интерфейс isp
BR-RTR:
auto ens33
iface ens33 inet static
address 172.16.2.2/28
gateway 172.16.2.1
auto ens37
iface ens37 inet static
address 192.168.11.1/28
Рисунок 2 – интерфейс br-rrt
HQ-RTR:
auto ens33
iface ens33 inet static
auto ens37
iface ens37 inet manual
auto ens37.100
iface ens37.100 inet static
address 192.168.10.1
netmask 255.255.255.224
vlan-raw-device ens37
auto ens37.200
iface ens37.200 inet static
address 192.168.10.33
netmask 255.255.255.240
vlan-raw-device ens37
Рисунок 3 – интерфейс hq-rtr
BR-SRV:
auto ens33
iface ens33 inet static
address 192.168.11.2/28
gateway 192.168.11.1
Рисунок 4 – интерфейс br-srv
HQ-SRV:
auto ens33
iface ens33 inet manual
auto ens33.100
iface ens33.100 inet static
address 192.168.10.2
netmask 255.255.255.224
gateway 192.168.10.1
dns-nameserver 192.168.10.2 8.8.8.8
vlan-raw-device ens33
Рисунок 5 – интерфейс hq-srv
HQ-CLI:
auto ens33
iface ens33 inet manual
auto ens33.200
iface ens33.200 inet dhcp
gateway 192.168.10.33
dns-nameservers 8.8.8.8
vlan-raw-device ens33
Рисунок 6 – интерфейс hq-cli
Настройка динамической раздачи адресов
Для того чтобы появился интернет на isp нужно раскоментировать строчку(рис ниже) в nano /etc/sysctl.conf и командой sudo sysctl –p обновить правила. Тоже самое надо сделать на hq-cli и hq-srv.
Рисунок 7 – обновляем правила
После заходим в nano /etc/iptables.sh и заполнить файл
#!/bin/bash
export WAN="ens33"
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
iptables-save > /etc/iptables.rules
Рисунок 8 – файл iptables.sh
Также добавляем в nano /etc/network/interfaces следующие:
Post-up iptables-restore < /etc/iptables.rules
Рисунок 9 – добавляем строчку в interfaces
После даем права и запускаем скрипт.
chmod 0740 /etc/iptables.sh
sudo /etc/iptables.sh
Такие действия также нужно проделать на hq-rtr и br-rtr. Также нужно в /etc/resolv.conf и занести nameserver 8.8.8.8
Создание пользователя
Создаем пользователя и пароль на hq-srv и br-srv.
sudo useradd remote_user
sudo useradd –u 2026 sshuser
passwd sshuser
Рисунок 10 – создание пользователей на сервере
В файле nano /etc/sudoers вводим строку для входа без пароля.
sshuser ALL=(ALL) NOPASSWD:ALL
Аналогично на br-rtr и hq-rtr.
sudo useradd net_admin
passwd net_admin
Рисунок 11 – создание пользователей на роутере
В файле nano /etc/sudoers вводим строку для входа без пароля.
net_admin ALL=(ALL) NOPASSWD:ALL
VLAN
Перед настройкой интерфейсов загружаем ядро на HQ-RTR, HQ-CLI, HQ-SRV.
Sudo modprobe 8021q
Lsmod | grep 8021q – проверка ядра
Рисунок 12 – установка ядра
Теперь в nano /etc/network/interfaces прописываем VLAN
HQ-RTR:
auto ens37
iface ens37 inet manual
auto ens37.100
iface ens37.100 inet static
address 192.168.10.1
netmask 255.255.255.224
vlan-raw-device ens37
auto ens37.200
iface ens37.200 inet static
address 192.168.10.33
netmask 255.255.255.240
vlan-raw-device ens37
auto ens37.999
iface ens37.999 inet static
address 192.168.10.49
netmask 255.255.255.248
vlan-raw-device ens37
auto ens37.999:0
iface ens37.999:0 inet static
address 192.168.10.50
netmask 255.255.255.248
vlan-raw-device ens37
Рисунок 13 – vlan на hq-rtr
HQ-SRV:
auto ens33
iface ens33 inet manual
auto ens33.100
iface ens33.100 inet static
address 192.168.10.2
netmask 255.255.255.224
gateway 192.168.10.1
dns-nameserver 192.168.10.2 8.8.8.8
vlan-raw-device ens33
Рисунок 14 – vlan на hq-srv
HQ-CLI:
auto ens33
iface ens33 inet manual
auto ens33.100
iface ens33.100 inet dhcp
gateway 192.168.10.33
dns-nameservers 8.8.8.8
vlan-raw-device ens33
Рисунок 15 – vlan на hq-cli
Настройка DHCP
На hq-rtr в файле nano /etc/default/isc-dhcp-server нужно раскоментировать следующие строчки и также добавить интерфейс ens37.200, с которого мы будем раздавать dhcp.
Рисунок 16 – добавление интерфейса
Заходим nano /etc/dhcp/dhcpd.conf и меняем как на скрине. Ставим домен au-team.irpo и ip имя сервера домена – 192.168.10.2. IP в нашем случае это адрес днс сервера – hq-srv.
Рисунок 17 – настройка dhcp
После этого спускаемся до конца файла и добавляем клиента. Цифры после hardware ethernet берутся в настройках адаптера в vmware, нужно выбрать адаптер который подключен к клиенту.
subnet 192.168.10.32 netmask 255.255.255.240 {
range 192.168.10.34 192.168.10.46;
option routers 192.168.10.33;
option subnet-mask 255.255.255.240;
option broadcast-address 192.168.10.47;
option domain-name-servers 192.168.10.2;
default-lease-time 600;
max-lease-time 7200;
}
В случае если не работает прописываем в этом же файле.
host hq-rtr {
hardware ethernet 00:0C:29:3B:C1:55;
fixed-address 192.168.10.33;
}
Рисунок 18 – настройка dhcp
GRE-туннель
Сначала нужно добавить модуль ip_gre в nano /etc/modules на hq-rtr и br-rtr
Рисунок 19 – добавление модуля
Дальше прописываем в nano /etc/network/interfaces на каждой машине настройки gre.
HQ-RTR:
auto gre30
iface gre30 inet tunnel
address 10.10.10.1
netmask 255.255.255.252
mode gre
local 172.16.1.2
endpoint 172.16.2.2
ttl 225
post-up ip route add 192.168.11.0/28 via 10.10.10.2
BR-RTR:
auto gre30
iface gre30 inet tunnel
address 10.10.10.2
netmask 255.255.255.252
mode gre
local 172.16.2.2
endpoint 172.16.1.2
ttl 225
post-up ip route add 192.168.10.0/27 via 10.10.10.1
post-up ip route add 192.168.10.32/28 via 10.10.10.1
Динамическая маршрутизация
Заходим на hq-r, br-r в nano /etc/frr/daemons и включаем ospfd=yes, и прописываем systemctl restart frr (обязательно).
После настраиваем через vtysh ospf
На hq-rtr:
Vytsh
Conf t
Ip forwarding
Router ospf
Network 192.168.10.0/27 area 0
Network 192.168.10.32/28 area 0
Network 10.10.10.0/30 area 0
Exit
На br-rtr:
Vytsh
Conf t
Ip forwarding
Router ospf
Network 192.168.11.32/28 area 0
Network 10.10.10.0/30 area 0
Exit
Рисунок 20 – проверка доступности другой сети
Рисунок 21 – проверка доступности интернета
Настройка SSH на HQ-SRV и BR-SRV
Заходим в nano /etc/ssh/sshd_config и пишем. Также раскоминтируем и меняем строки MaxAuthTries 2, Banner /etc/issue.net, Port 2026 и добавляем
AllowUsers sshuser
PermitRootLogin no
PasswordAuthentication yes
Рисунок 22 – настройка ssh
В nano /etc/issue.net прописываем Authorized access only
Рисунок 23 – создание баннера
Рисунок 24 – проверка ssh
DNS на HQ-SRV
Далее заходим в /etc/bind/named.conf.options добавляем указанные forwards и allow-querry { any; };
listen-on { any; };
recursion yes;
forward only;
Рисунок 25 – настройка адресов пересылки
Заходим в nano /etc/bind/named.conf.local и добавляем зоны:
zone "au-team.irpo" {
type master;
file "/etc/bind/zones/db.au-team.irpo";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192.168.10";
};
zone "11.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192.168.11";
};
zone "1.16.172.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.172.16.1";
};
zone "2.16.172.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.172.16.2";
};
Рисунок 26 – настройка dns
Далее мы создали директорию mkdir /etc/bind/zones и туда мы создаем файлы и заполняем их:
Nano /etc/bind/zones/db.au-team.irpo
$TTL 664800
@ IN SOA au-team.irpo. root.au-team.irpo. (
2 ; Serial
664800 ; Refresh
66400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS au-team.irpo.
@ IN A 192.168.10.2
hq-rtr.au-team.irpo. IN A 192.168.10.1
br-rtr.au-team.irpo. IN A 172.16.2.2
hq-srv.au-team.irpo. IN A 192.168.10.2
hq-cli.au-team.irpo. IN A 192.168.10.34
br-srv.au-team.irpo. IN A 192.168.11.2
docker.au-team.irpo. IN A 172.16.1.1
web.au-team.irpo. IN A 172.16.2.1
Рисунок 27 – настройка dns
Nano /etc/bind/zones/db.192.168.10
$TTL 664800
@ IN SOA au-team.irpo. root.au-team.irpo. (
1 ; Serial
664800 ; Refresh
86400 ; Retry
2413200 ; Expire
604000 ) ; Negative Cache TTL
@ IN NS au-team.irpo.
@ IN A 192.168.10.2
2 IN PTR hq-srv.au-team.irpo.
1 IN PTR hq-rtr.au-team.irpo.
34 IN PTR hq-cli.au-team.irpo.
Рисунок 28 – настройка dns
Nano /etc/bind/zones/db. 192.168.11
$TTL 604800
@ IN SOA au-team.irpo. root.au-team.irpo. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS au-team.irpo.
@ IN A 192.168.10.2
2 IN PTR br-srv.au-team.irpo.
Рисунок 29 – настройка dns
Nano /etc/bind/zones/db.172.16.1
$TTL 604800
@ IN SOA au-team.irpo. root.au-team.irpo. (
1 ; Serial
604800 ; Refresh
80400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS au-team.irpo.
@ IN A 192.168.10.2
1 IN PTR docker.au-team.irpo.
Рисунок 30 – настройка dns
Nano /etc/bind/zones/db. 172.16.2
$TTL 604800
@ IN SOA au-team.irpo. root.au-team.irpo. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2413200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS au-team.irpo.
@ IN A 192.168.10.2
1 IN PTR web.au-team.irpo.
2 IN PTR br-rtr.au-team.irpo.
Рисунок 31 – настройка dns
Рисунок 32 –проверка dns
Рисунок 33 –проверка dns
Если не работает нужно проверить на других машинах вошли ли он в домен путем захода в nano /etc/resolv.conf и проверкой наличие nameserver 192.168.10.2
Настройка часовой зоны
Нужно прописать команду
timedatectl set-timezone Europe/Moscow
date – команда проверки
Рисунок 34 –проверка времени
2 Модуль
Настройка контроллера домена SAMBA
Сначало нужно записать в nano /etc/bind/zones/db.au-team.irpo на hq-srv
; Active Directory SRV Records
_ldap._tcp.au-team.irpo. IN SRV 0 100 389 br-srv.au-team.irpo.
_kerberos._tcp.au-team.irpo. IN SRV 0 100 88 br-srv.au-team.irpo.
_kerberos._udp.au-team.irpo. IN SRV 0 100 88 br-srv.au-team.irpo.
_kpasswd._tcp.au-team.irpo. IN SRV 0 100 464 br-srv.au-team.irpo.
_kpasswd._udp.au-team.irpo. IN SRV 0 100 464 br-srv.au-team.irpo.
_ldap._tcp.dc._msdcs.au-team.irpo. IN SRV 0 100 389 br-srv.au-team.irpo.
_kerberos._tcp.dc._msdcs.au-team.irpo. IN SRV 0 100 88 br-srv.au-team.irpo.
_gc._tcp.au-team.irpo. IN SRV 0 100 3268 br-srv.au-team.irpo.
После добавления записи в прямой зоне мы переходим на br-srv и прописываем команды:
sudo samba-tool domain provision \
--realm=AU-TEAM.IRPO \
--domain=AU-TEAM \
--adminpass=P@ssw0rd \
--server-role=dc \
--use-rfc2307 \
--dns-backend=NONE
После этого заходим в nano /etc/samba/smb.conf и записываем строку:
dns forwarder = 192.168.10.2
После всех действий прописываем
sudo systemctl enable samba-ad-dc
sudo systemctl start samba-ad-dc
Дальше переходим на hq-cli:
sudo realm discover au-team.irpo
sudo realm join --user=Administrator au-team.irpo
sudo realm list – команда проверки на клиенте
sudo samba-tool computer list – проверка на br-srv
Рисунок 35 – проверка на br-srv
После проверок на br-srv создаем юзеров, группу
for i in {1..5}; do sudo samba-tool user create "hquser$i" "P@ssw0dr" --given-name="User$i" --surname="HQ"; done
sudo samba-tool group add hq
for i in {1..5}; do
sudo samba-tool group addmembers "hq" "hquser$i"
done
sudo echo '%hq ALL=(ALL) NOPASSWD: /bin/cat, /bin/grep, /usr/bin/id' > /etc/sudoers.d/hq
sudo chmod 440 /etc/sudoers.d/hq
id hquser1@au-team.irpo – проверка пользователя на hq-cli
Рисунок 36 – проверка статуса samba
Рисунок 37 – проверка пользователей
Файловое хранилище на сервере HQ-SRV
Перед настройкой нужно добавить 2 жестких диска через интерфейс vmware емкостью 1 Гб каждый. Выбирать нужно тип store. Дальше прописывем.
sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
Команды проверки
cat /proc/mdstat
lsblk
Рисунок 38 – проверка дисков
После прописываем
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs –u
sudo mkfs.ext4 /dev/md0
sudo mkdir /raid
sudo mount /dev/md0 /raid
echo '/dev/md0 /raid ext4 defaults 0 0' | sudo tee -a /etc/fstab
Команды проверки
df -h | grep raid
lsblk
mount | grep raid
Рисунок 39 – проверка raid
NFS на HQ-SRV
Для начала мы настраиваем hq-srv:
sudo mkdir -p /raid/nfs
sudo chown nobody:nogroup /raid/nfs
sudo chmod 777 /raid/nfs
Дальше в /etc/exports добавляем строку
/raid/nfs 192.168.10.32/28(rw,sync,no_subtree_check,no_root_squash)
После мы прописываем в командной строке:
sudo exportfs –ra
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server
sudo showmount -e localhost – команда проверки
Рисунок 40 – проверка листа экспорта
Дальше мы переходим к настройке клиента
sudo mkdir -p /mnt/nfs
В nano /etc/fstab вписываем строчку
192.168.10.2:/raid/nfs /mnt/nfs nfs defaults,_netdev 0 0
После в командной строке прописываем:
sudo mount –a
df -h | grep nfs – команда проверки
Рисунок 41 – проверка nfs
Chrony на маршрутизаторе ISP
Для начало произведем настройку на ISP.
Заходим в nano /etc/chrony/chrony.conf и прописываем попутно удаляя остальные пулы.
server 127.0.0.1 iburst prefer
hwtimestamp *
local stratum 5
allow 0/0
Если после изменения конфигурвации stratum не изменился то нужно удалить строчку local stratum 5 перезапустить службу а затем снова ее добавить и перезапустить службу.
sudo systemctl restart chrony
sudo systemctl enable chrony
Команды проверки
chronyc sources -v
chronyc tracking
Дальше переходим к настройкам на клиентах Chrony - HQ-SRV, HQ-CLI, BR-RTR, BR-SRV
Заходим в nano /etc/chrony/chrony.conf и прописываем попутно удаляя остальные пулы.
pool 172.16.1.1 iburst
После пишем в командной строке
sudo systemctl restart chrony
sudo systemctl enable chrony
chronyc sources –v – команда проверки
Рисунок 42 – проверка chrony
Ansible на сервере BR-SRV
Начинать настройку нужно с br-srv.
sudo mkdir -p /etc/ansible
sudo mkdir -p /etc/ansible/inventory
sudo mkdir -p /etc/ansible/group_vars
sudo mkdir -p /etc/ansible/host_vars
После переходим в sudo nano /etc/ansible/inventory/hosts и заполняем его.
[servers]
hq-srv.au-team.irpo ansible_ssh_port=2026
br-srv.au-team.irpo ansible_ssh_port=2026
[routers]
hq-rtr.au-team.irpo ansible_ssh_user=net_admin
br-rtr.au-team.irpo ansible_ssh_user=net_admin
[workstations]
hq-cli.au-team.irpo ansible_ssh_user=iliarus
[all:vars]
ansible_connection=ssh
ansible_ssh_private_key_file=/root/.ssh/id_rsa
После также заходим в nano /etc/ansible/ansible.cfg
[defaults]
inventory = /etc/ansible/inventory/hosts
host_key_checking = False
remote_user = sshuser
private_key_file = /home/sshuser/.ssh/id_rsa
[privilege_escalation]
become = True
become_method = sudo
become_user = root
become_ask_pass = False
Сначала на машинах hq-srv br-srv к которым подключаемся нужно создать домашние директории и файл .ssh:
sudo mkdir -p /home/sshuser
sudo chown sshuser:sshuser /home/sshuser
sudo chmod 700 /home/sshuser
sudo -u sshuser mkdir /home/sshuser/.ssh
sudo chmod 700 /home/sshuser/.ssh
Также на машинах hq-rtr br-rtr:
sudo mkdir -p /home/net_admin
sudo chown net_admin:net_admin /home/net_admin
sudo chmod 700 /home/net_admin
sudo -u net_admin mkdir /home/net_admin/.ssh
sudo chmod 700 /home/net_admin/.ssh
Еще нужно добавить вашего пользователя на клиенте в nano /etc/sudoers для входа без пароля
Дальше нужно раздать ключи:
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N ""
ssh-copy-id -p 2026 sshuser@hq-srv.au-team.irpo
ssh-copy-id -p 2026 sshuser@br-srv.au-team.irpo
ssh-copy-id net_admin@hq-rtr.au-team.irpo
ssh-copy-id net_admin@br-rtr.au-team.irpo
ssh-copy-id iliarus@hq-cli.au-team.irpo
ansible all -m ping – команда провреки
Рисунок 43 – проверка ansible
Веб приложение в docker на сервере BR-SRV
sudo mkdir -p /mnt/additional
sudo mount /home/iliarus/Загрузки/Additional.iso /mnt/additional
cd /mnt/additional/docker
sudo docker load -i mariadb_latest.tar
sudo docker load -i site_latest.tar
sudo docker images – команда проверки
Рисунок 44 – проверка образов
Дальше прописываем.
sudo mkdir -p /opt/testapp
cd /opt/testapp
после переходим в nano docker-compose.yml и заполняем файл.
version: '3.8'
services:
testapp:
image: site:latest
container_name: testapp
ports:
- "8080:8000"
depends_on:
- db
environment:
- DB_HOST=db
- DB_NAME=testdb
- DB_TYPE=maria
- DB_USER=test
- DB_PASS=P@ssw0rd
- SERVER_PORT=8080
restart: unless-stopped
db:
image: mariadb:10.11
container_name: db
environment:
MYSQL_ROOT_PASSWORD: rootP@ssw0rd
MYSQL_DATABASE: testdb
MYSQL_USER: test
MYSQL_PASSWORD: P@ssw0rd
volumes:
- db_data:/var/lib/mysql
restart: unless-stopped
volumes:
db_data:
Теперь нужно запустить docker
sudo docker-compose up –d
Команды проверки
sudo docker ps -a
curl -I http://localhost:8080
Рисунок 45 – запуск docker
Рисунок 46 – проверка статуса docker
Рисунок 47 – локальная проверка
Рисунок 48 – проверка и добавление записи
Веб приложение на сервере HQ-SRV
Вся настройка производиться на hq-srv
sudo mysql_secure_installation
# - Enter current password for root (enter for none): [Enter]
# - Switch to unix_socket authentication [Y/n]: n
# - Change the root password? [Y/n]: Y (устанавливаем P@ssw0rd)
# - Remove anonymous users? [Y/n]: Y
# - Disallow root login remotely? [Y/n]: Y
# - Remove test database and access to it? [Y/n]: Y
# - Reload privilege tables now? [Y/n]: Y
sudo mysql -u root -pP@ssw0rd -e "
CREATE DATABASE webdb;
CREATE USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON webdb.* TO 'web'@'localhost';
FLUSH PRIVILEGES;
SHOW DATABASES;
"
sudo mkdir -p /mnt/additional
sudo mount /home/iliarus/Загрузки/Additional.iso /mnt/additional
sudo cp /mnt/additional/web/index.php /var/www/html/
sudo cp -r /mnt/additional/web/logo.png /var/www/html/
sudo cp /mnt/additional/web/dump.sql /tmp/
sudo mysql -u web -pP@ssw0rd webdb < /tmp/dump.sql
После этого заходим nano /var/www/html/index.php
$servername = "localhost";
$username = "web";
$password = "P@ssw0rd";
$dbname = "webdb";
Дальше также пишем в командной строке
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
sudo systemctl restart apache2
rm /var/www/html/index.html
Рисунок 49 – локальная проверка
Рисунок 50 - проверка и добавление записи
Cтатическую трансляцию портов
Заходим в nano /etc/iptables.sh на hq-rtr
iptables -t nat -A PREROUTING -p tcp --dport 8080 -i ens33 -j DNAT --to 192.168.10.2:80
iptables -t nat -A POSTROUTING -p tcp --dport 80 -o ens37 -j SNAT --to 192.168.10.1
iptables -t nat -A PREROUTING -p tcp --dport 2026 -i ens33 -j DNAT --to 192.168.10.2:2026
iptables -t nat -A POSTROUTING -p tcp --dport 2026 -o ens37 -j SNAT --to 192.168.10.1
Заходим в nano /etc/iptables.sh на br-rtr
iptables -t nat -A PREROUTING -p tcp --dport 8080 -i ens33 -j DNAT --to 192.168.11.2:8080
iptables -t nat -A POSTROUTING -p tcp --dport 8080 -o ens37 -j SNAT --to 192.168.11.1
iptables -t nat -A PREROUTING -p tcp --dport 2026 -i ens33 -j DNAT --to 192.168.11.2:2026
iptables -t nat -A POSTROUTING -p tcp --dport 2026 -o
ens37 -j SNAT --to 192.168.11.1
Bеб-сервер nginx на ISP
Все производимые настройки будут осуществляться на isp
Заходим в nano /etc/nginx/sites-available/web.au-team.irpo и заполняем файл.
server {
listen 80;
server_name web.au-team.irpo;
location / {
proxy_pass http://172.16.1.2:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 30;
}
}
Дальше заходим в nano /etc/nginx/sites-available/docker.au-team.irpo и заполняем файл.
server {
listen 80;
server_name docker.au-team.irpo;
location / {
proxy_pass http://172.16.2.2:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 30;
}
}
После того как заполнили файлы прописываем.
sudo ln -s /etc/nginx/sites-available/web.au-team.irpo /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/docker.au-team.irpo /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl restart nginx
Рисунок 51 – проверка статуса
Рисунок 52 – проверка по имени web
Рисунок 53 - проверка по имени docker
ISP c web-based аутентификацией
Также все настраивается на isp
sudo mkdir -p /etc/nginx/conf.d
sudo htpasswd -bc /etc/nginx/conf.d/.htpasswd WEB P@ssw0rd
Переходим в nano /etc/nginx/sites-available/web.au-team.irpo и добавляем строки аутентификации в указанное место.
server {
listen 80;
server_name web.au-team.irpo;
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
location / {
proxy_pass http://172.16.1.2:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 30;
}
}
После перезапускаем nginx.
sudo systemctl reload nginx
sudo systemctl status nginx
Рисунок 54 – проверка аутентификации
Установка Яндекс на клиенте.
Установка осуществляется путем скачивания файла из браузера и открыть скаченный файл с помощью установщика.