
У меня есть Fritz!Box 3490 вместе с 5 используемыми внешними IPv4-адресами, предоставленными нашим провайдером. Fritz!Box должен заменить наш существующий DrayTek 2925.
Один из пяти IP-адресов — это MX; поэтому мы используем этот IP для отправки и получения электронных писем через порт 25, а также позволяем мобильным устройствам удаленно подключаться через порт 443 для отправки электронных писем.
Используя Fritz!Box, я хочу иметь возможность пересылать трафик, отправленный на IP-адрес MX, на локальный IP-адрес сервера Exchange. Текущий IP-адрес сервера Exchange находится в диапазоне 10.1.1.0/24. Интернет-провайдер говорит, что для того, чтобы Fritz!Box пересылал трафик, отправленный на внешний IP-адрес, Fritz!Box должен знать публичную подсеть IPv4 (что он и делает), но серверу Exchange также нужно добавить внешний IP-адрес к NIC.
Правильно ли это, и именно так изначально должен был быть настроен сервер?
Что касается других серверов, то интернет-провайдер сообщает, что им также потребуется добавить один из внешних IP-адресов к их сетевой карте.
Есть ли более простой подход, похожий на тот, который использует DrayTek, когда я могу просто указать ему пересылать трафик, отправленный на EXTERNAL_IP:EXTERNAL_PORT, на INTERNAL_IP:INTERNAL_PORT?
решение1
Метод, описанный вашим интернет-провайдером, проще для маршрутизатора — по сути, не более тогомаршрутизациямежду вашей подсетью и остальным миром. Прямое назначение серверу публичного адреса — это способ настройки серверов во многих центрах обработки данных; это стандартное поведение для IPv6, а также раньше было стандартным для IPv4.
Метод, используемый DrayTek, использует дополнительную функциональность – DNAT (переадресация портов) – которая может присутствовать на маршрутизаторе или нет. Даже если она присутствует, она может не быть аппаратно ускорена в той же степени, что и чистая маршрутизация (из-за необходимости поиска состояний и фактической перезаписи заголовков каждого пакета).
NAT может показаться более простым, если вы нечасто используете публичные адреса, и по своей сути он позволяет совместно использовать один и тот же IP-адрес между несколькими серверами (если у вас больше серверов, чем адресов) — перенаправлять некоторые порты на один, перенаправлять больше портов на другой и т. д.
Однако, если у вас достаточно адресов и/или большое количество сервисов, прямая маршрутизация может оказаться значительно проще. Она дает серверу прямой и полный контроль над его собственным адресом; поэтому после того, как вы его настроили,один разна сервере, вам не нужно возвращаться к маршрутизатору, добавляя больше правил. Большинство домашних маршрутизаторов позволяют настраивать правила пересылки только для TCP/UDP, но не для GRE, ESP, 6in4 или других более сложных протоколов; прямая маршрутизация работает со всем по умолчанию.
Поддерживает ли Fritz!Box 3490 конфигурацию DNAT? Только частично.Согласно этой страницеон находится в разделе «Разрешить доступ → Общий доступ к портам», но он не позволяет вам выбратьвнешнийIP-адрес. Какие бы правила портов вы ни добавили здесь, они, вероятно, будут применяться ко всем адресам, маршрутизируемым к вам, или ко всем адресам, назначенным самому маршрутизатору (который, как я предполагаю, ограничен ровно одним). Базовая ОС на базе Linux, безусловно, поддерживает сопоставление по исходному адресу, но это не отображается в пользовательском интерфейсе конфигурации длянекоторыйпричина; возможно, потому что его нельзя было бы ускорить аппаратно, или это могло быть просто преднамеренным решением. Но факт остается фактом: если он недоступен в пользовательском интерфейсе конфигурации, то Fritz!Box DNAT не подойдет для вашего варианта использования с несколькими адресами.
В то время как, как я уже упоминал ранее, простая маршрутизация (метод, который предпочитает ваш интернет-провайдер) не требует никаких дополнительных возможностей от Fritz!Box — у него буквально одна задача.