Задание №8: Динамическая трансляция адресов (NAT) на филиалах
В данном задании настраивается механизм динамической трансляции сетевых адресов (Source NAT / Masquerade) на пограничных маршрутизаторах HQ-RTR и BR-RTR.
Благодаря этому все внутренние устройства главного офиса (серверы VLAN 100, клиенты VLAN 200) и филиала (192.168.0.0/28) получают полноценный доступ к глобальной сети Интернет через провайдера ISP.
Место выполнения
Команды данного задания выполняются одинаково на обоих маршрутизаторах: HQ-RTR и BR-RTR.
1. Теоретическая справка: зачем нужен NAT на офисных маршрутизаторах?
В Задании №2 мы настроили NAT на провайдере ISP. Однако провайдер знает только о напрямую подключённых к нему сетях стыка: 172.16.1.0/28 и 172.16.2.0/28.
О внутренних подсетях офисов (192.168.100.0/27, 192.168.200.0/24, 192.168.0.0/28) провайдер ISP ничего не знает, так как OSPF настроен только между офисами внутри туннеля.
[HQ-SRV / HQ-CLI] [HQ-RTR] [ISP] [ИНТЕРНЕТ]
192.168.100.2 --(пакет)--> NAT (Masquerade) --(172.16.1.2)--> NAT (Masquerade) --> ya.ru
через enp7s1 через enp7s1Когда пакет из внутренней сети офиса уходит в Интернет:
- Маршрутизатор HQ-RTR (или BR-RTR) подменяет исходный IP-адрес на свой внешний адрес
enp7s1(172.16.1.2или172.16.2.2). - Провайдер ISP принимает этот пакет, маскирует его своим публичным адресом и отправляет в Интернет.
- Ответ возвращается по цепочке обратно на конечный компьютер или сервер.
Шаг 1. Настройка маршрутизатора главного офиса (HQ-RTR)
Выполните команды под пользователем root на машине HQ-RTR:
# 1. Устанавливаем пакеты межсетевого экрана nftables и редактор nano:
apt-get install nftables nano -yСоздаём конфигурационный файл правил трансляции:
# 2. Открываем файл правил nftables:
nano /etc/nftables/nftables.nftВнимание к содержимому файла
Если в файле уже есть какие-либо стандартные строки — удалите их и вставьте конфигурацию ниже.
Вставляем правило маскировки для внешнего порта enp7s1:
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain postrouting {
type nat hook postrouting priority srcnat;
oifname "enp7s1" masquerade
}
}Что делает это правило?
oifname "enp7s1"— отслеживает пакеты, уходящие через сетевой адаптерenp7s1в сторону провайдера ISP.masquerade— подменяет приватный адрес клиента/сервера (192.168.x.x) на IP-адрес портаenp7s1.- Обратите внимание: трафик в сторону филиала через интерфейс туннеля
gre1под это правило не подпадает, поэтому межофисная связь остаётся прозрачной и прямой!
Активируем и перезапускаем службу:
# 3. Включаем службу nftables в автозапуск:
systemctl enable --now nftables
# 4. Перезапускаем сервис для применения правил:
systemctl restart nftables.serviceШаг 2. Настройка маршрутизатора филиала (BR-RTR)
На маршрутизаторе BR-RTR выполняются аналогичные действия под root:
# 1. Устанавливаем nftables:
apt-get install nftables nano -y
# 2. Открываем файл конфигурации:
nano /etc/nftables/nftables.nftВставляем правило NAT Masquerade:
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain postrouting {
type nat hook postrouting priority srcnat;
oifname "enp7s1" masquerade
}
}Быстрое создание файла через команду cat
cat << 'EOF' > /etc/nftables/nftables.nft
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain postrouting {
type nat hook postrouting priority srcnat;
oifname "enp7s1" masquerade
}
}
EOFЗапускаем сервис:
# 3. Включаем автозапуск и перезапускаем службу:
systemctl enable --now nftables
systemctl restart nftables.serviceШаг 3. Проверка работоспособности (Верификация)
Главный критерий выполнения задания — появление доступа в глобальный Интернет на внутренних серверах, которые находятся за маршрутизаторами.
1. Проверка правил nftables на маршрутизаторах:
На HQ-RTR и BR-RTR выполните:
nft list rulesetДолжна отобразиться цепочка postrouting с правилом oifname "enp7s1" masquerade.
2. Проверка выхода в Интернет с сервера HQ-SRV:
Перейдите в консоль сервера главного офиса HQ-SRV и отправьте пинг в глобальную сеть:
ping -c4 ya.ru(или по IP-адресу Яндекса: ping -c4 77.88.8.8)
Ожидаемый результат: пакеты успешно передаются и возвращаются (0% packet loss).
3. Проверка выхода в Интернет с сервера филиала BR-SRV:
Перейдите в консоль сервера филиала BR-SRV и также проверьте пинг:
ping -c4 77.88.8.8Если пинги с серверов успешно проходят — двухуровневая трансляция адресов (Офис → ISP → Интернет) настроена корректно!
