Назад | Перейти на главную страницу

Как перенаправить порт с удаленного сервера на локальную машину за NAT?

Сценарий:

Удаленный: CentOS 6, имеет публичный IP Удаленный <--> Интернет

Местный: Win10, за NAT Локальный <---> Локальный маршрутизатор ---> ISP NAT ---> Интернет

Проблема:

Желаемый результат:

Если нет, то каковы другие варианты?

Заранее спасибо !

  • У меня нет контроля над основным маршрутизатором интернет-провайдера, поэтому исходный NAT не работает
  • Служба попытается получить общедоступный IP-адрес, поэтому обратный туннель ssh не будет работать

Решение

  • Удаленный: VPN-сервер (я использую WireGuard)
  • Локальный маршрутизатор: VPN-клиент
  • Удаленный: перенаправление порта на локальный маршрутизатор (iptables / firewalld)
  • Локальный: DSCP помечает Сервис
  • Локальный маршрутизатор: политика маршрутизации тега DSCP к интерфейсу VPN.

Вы можете использовать любой статический общедоступный IP-адрес, предоставленный вашим провайдером. Если у вас нет дополнительных статических ip от isp. Вы также можете использовать общедоступный IP-адрес nat для исходного nat. В случае, если сервер не имеет назначения nat public ip. Тогда вы можете использовать IP-адрес доступа в Интернет

Пример: ваш сервер имеет доступ в Интернет, предоставленный вашим провайдером. На сервере перейдите в браузер и введите «Вот мой IP-адрес». Вы занесете в белый список тот же общедоступный IP-адрес у поставщика. Это только в том случае, если у вас нет исходного или целевого IP-адреса.

Этим требованием обычно занимается инженер по сетевой безопасности.

В соответствии с вашим сообщением я понимаю, что ваш внутренний размещенный сервер хочет общаться с удаленным сервером, размещенным в другой сети, верно?

Ваш внутренний размещенный сервер должен использовать NAT для доступного статического общедоступного IP-адреса, выделенного интернет-провайдером, и нам необходимо создать политику безопасности исходящего трафика в брандмауэре следующим образом:

Исходный интерфейс: внутренний интерфейс межсетевого экрана
Интерфейс назначения: внешний интерфейс межсетевого экрана
Исходный адрес: частный IP-адрес сервера (локальный IP-адрес)
Назначение: общедоступный IP-адрес удаленного сервера
Сервис: TCP-1234
Действие: разрешить
Профили безопасности: вкл.

В то же время исходный IP-адрес NAT сервера должен быть внесен в белый список на удаленном клиенте, чтобы наш трафик был разрешен через межсетевой экран поставщика.

Посмотрим поток трафика

Шаг 1

Когда локальный сервер инициирует трафик

  1. исходный IP-адрес - частный IP-адрес локального сервера
  2. IP-адрес назначения - это общедоступный IP-адрес удаленного сервера
  3. порт tcp-1234

Шаг 2

Когда трафик достигает брандмауэра периметра сети локальных серверов, локальный частный IP-адрес сервера преобразуется в общедоступный IP-адрес, полученный через NAT.

Источником будет общедоступный IP-адрес источника локального сервера с NAT, а местом назначения будет общедоступный IP-адрес удаленного сервера с портом tcp-1234.

Теперь трафик будет доходить до производителя. Производитель уже внес в белый список наш исходный IP-адрес с NAT, поэтому трафик разрешен и будет получать доступ к удаленному серверу через порт tcp-1234.

Таким же образом обратные потоки трафика и наш локальный сервер сможет получить доступ к ресурсам на удаленном сервере.