Задать вопрос
@imak
системный администратор

В чем может быть причина странного поведения NAT в Debian 11?

Имею от провайдера белую подсеть /29
В текущей конфигурации:
.209 - шлюз провайдера
.210 - мой шлюз в локальную сеть организации
.211 - MAIL сервер
.212, .213 - не используются
.214 - WEB сервер

При обновлении почтовика (железо и софт) решил его убрать за мой шлюз в DMZ
Кладу внешний сетевой интерфейс почтовика.
На шлюзе для wan интерфейса настраиваю доп ip:
# Addition WAN IP
auto enp1s0:1
iface enp1s0:1 inet static
	address x.x.x.211/29
auto enp1s0:2
iface enp1s0:2 inet static
	address x.x.x.212/29

В iptables настраиваю NAT. Если прописываю так:
-A PREROUTING -d x.x.x.211/32 -j DNAT --to-destination 172.17.210.211
-A POSTROUTING -s 172.17.210.211/32 -j SNAT --to-source x.x.x.211

(172.17.210.211 - IP нового почтовика в DMZ)
PING'и на внешние интерфейсы шлюза и web-сервера идут, на ip провайдерского шлюза нет.
Снаружи новый почтовик не доступен.

Если меняю настройки вот так:
-A PREROUTING -d x.x.x.212/32 -j DNAT --to-destination 172.17.210.211
-A POSTROUTING -s 172.17.210.211/32 -j SNAT --to-source x.x.x.212

PING'и начинают ходить до любого узла в Интернет.
Снаружи новый почтовик становится доступным.

Предположил, что проблема в провайдерском шлюзе.
Поднял виртуалку с белым ip x.x.x.211 . Так PING'и бегают в обе стороны, значит где-то косяк в настройках моего шлюза.

Оставил бы второй вариант NAT, но изменить обратную зону DNS у провайдера - это целый квест.
Необходимо лично явиться к ним в офис с официальным письмом от юр. лица с кем заключен договор. Изменения вносятся в течении 2-х суток.
  • Вопрос задан
  • 221 просмотр
Подписаться 1 Средний 11 комментариев
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Может дело в MAC-адресе .211-го интерфейса? Или в роутере, в который включаются все сервера?

P.S. Смотрите tcpdump-ом трафик .211, может он вообще на этот gateway не приходит.
Ответ написан
hint000
@hint000
у админа три руки
Может быть и не связано с проблемой, но всё же процитирую свой ответ 2-летней давности https://qna.habr.com/q/1000141 (периодически напоминаю об этом, но, как обычно, всем пофиг).

Алиасы интерфейсов устарели.
https://www.kernel.org/doc/html/latest/networking/...
IP-aliases are an obsolete way to manage multiple IP-addresses/masks per interface. Newer tools such as iproute2 support multiple address/prefixes per interface, but aliases are still supported for backwards compatibility.
2014 год: Алиасы интерфейсов устарели. https://unix.stackexchange.com/questions/119592/su...
ens160:0 is also obsolete syntax. There is no more aliases usage. IP addresses are applied to the same interface (please see ip a s command output).
2007 год: Алиасы интерфейсов устарели.
https://linux.debian.user.narkive.com/jH7FZrwF/ip-...
The docs I'm reading recommend using "secondary ips" instead of aliases. It
says that IP Aliases are deprecated in favor of "secondary ips"
2007 год! 14 лет 16 лет назад нам говорили прекращать использовать IP-алиасы. 14 лет 16 лет назад, Карл!

Debian консервативный дистрибутив, но не настолько же. Вполне приемлемо, когда ради стабильности на пару лет притормаживают включение в репозитории свежих версий тех или иных пакетов. Но продолжать использовать конфигурацию, которую Debian 16 лет назад рекомендовал больше не использовать - это немного чересчур.

А так поддерживаю ответ AUser0 как насчёт диагностики tcpdump-ом, так и версию насчёт MAC, который может иметь привязку на оборудовании провайдера (позвонить в техподдержку, спросить о наличии привязки, при её наличии попросить сбросить для x.x.x.211). Факт, что для x.x.x.212 всё работает правильно как бы очень сильно намекает в пользу привязки, которая у провайдера сработала автоматически при первом использовании x.x.x.212.

Кроме того, есть вариант настроить без использования NAT. Например, использовать обычный свитч, в который воткнуты .209 (провод от провайдера), .210, .211 (и .212, .213, .214 при необходимости).
Минус в децентрализации контроля трафика - при необходимости контролировать почту через iptables нужно использовать iptables на самом почтовом сервере. Разумеется, это вопрос администрирования (даже не вкусовщина и не предмет для споров). Что для одного админа здорово, то для другого админа - смерть. Просто технически такой вариант возможен.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы