Я настраиваю небольшую офисную сеть с одним общедоступным IP-адресом (допустим, 69.16.230.117). Я настроил NAT на маршрутизаторе, чтобы входящий трафик перенаправлялся на сервер (скажем, у сервера есть частный IP-адрес 192.168.0.2).
Можно ли настроить клиентские машины в одной подсети для доступа к серверу через общедоступный IP-адрес маршрутизатора (69.16.230.117)? На практике это никогда не доставляло мне проблем, но кое-где я слышал, что это плохая идея и нужно использовать частный IP (192.168.0.2).
Вызывает ли какие-либо проблемы при подключении к хосту по умолчанию через общедоступный IP-адрес из своей подсети?
Пожалуйста, воздержитесь от написания «никогда! ломает интранет! ";-)
Это будет работать, ваши клиенты будут перенаправляться на ваш маршрутизатор, а затем обратно в ваш маршрутизатор к службам, предоставляемым в вашей сети NAT. В зависимости от того, насколько умным является стек tcp / ip на вашем маршрутизаторе, он может фактически выйти за один прыжок и вернуться, но это сомнительно. Как вы понимаете, это немного менее оптимально. У него также есть недостаток, заключающийся в том, что любая услуга, которую вы хотите предоставить клиентам в своей сети, должна быть общедоступной. Кроме того, если вы добавите второй сервер, у вас начнется несоответствие портов для предоставления услуг. Если ваши клиенты используют внутренние адреса NAT для своих сервисов, вам нужно обеспечить перенаправление портов только для тех сервисов, которые должны быть доступны извне.
Это похоже на выход из парадной двери на задний двор. Это сработает, вы доберетесь туда, но обычно проще просто выйти через черный ход.
В прошлом у меня были проблемы с этой конфигурацией, когда внутренние клиенты не могли получить доступ к общедоступному IP-адресу с NAT. Это была бы единственная проблема, которую я вижу, кроме того факта, что использование внешнего IP-адреса приводит к дополнительным переходам на пути по сравнению с использованием простого внутреннего IP-адреса.
Нет, там нет ничего, что могло бы вызвать проблемы с подключением.
Однако в этой схеме есть проблемы с безопасностью. Будьте очень, очень уверены, что ваши брандмауэры на сервере NAT работают правильно. Было бы гораздо лучше поместить этот компьютер в отдельную подсеть, подальше от других внутренних машин NAT, чтобы создать своего рода демилитаризованную зону (DMZ).
Это может вызвать проблемы, если на вашем маршрутизаторе не включен «NAT loopback». В этом случае весь ваш трафик будет сброшен или перенаправлен неправильно (например, в веб-интерфейс маршрутизатора).
Но обычно эта функция напрямую недоступна в веб-интерфейсе. В некоторых маршрутизаторах Zyxel эту функцию можно включить, вызвав команду «ip nat loopback on». Некоторые другие маршрутизаторы могли включить это только путем настройки iptables (из корневого доступа).
У меня были случаи, когда внутренние клиенты обрабатывались по-разному на самом сервере.
например. Предоставление административного доступа тем, кто подключается внутри или снаружи.
Вы также можете настроить свой внутренний DNS так, чтобы он указывал на внутренний IP-адрес, поэтому в интрасети вы подключаетесь внутренне, а извне вы получаете внешний IP-адрес.
Мне это кажется немного странным; по сути, вы заставляете весь свой внутренний трафик попадать на ваше устройство NAT, получать NAT, а затем отправляться обратно через интерфейс LAN на внутренний сервер. В зависимости от ожидаемого количества одновременных внутренних пользователей это может привести к проблемам с производительностью, так как в конечном итоге вы потребляете как процессор, так и память на вашем устройстве NAT. Это потенциально может отрицательно повлиять как на исходящий доступ в Интернет из офиса, так и на входящий доступ для удаленных пользователей.
По мере роста вашего офиса стоит следить за производительностью вашего маршрутизатора / межсетевого экрана. Если вы начинаете испытывать проблемы с подключением (отбрасывание пакетов, отказ в подключении), то переключение ваших внутренних клиентов обратно на использование IP-адреса LAN может быть полезным шагом.