Я пытаюсь получить доступ к серверу в своей локальной сети через его общедоступный IP-адрес. Внешние клиенты могут нормально подключаться, но я не могу этого сделать из локальной сети. Там является отдельное правило в настройках NAT моего шлюза (которое переводит адреса подсети в IP-адрес общедоступного интерфейса, но в остальном идентично), но похоже, что оно не работает должным образом.
Как мне правильно настроить доступ к локальному ресурсу через общедоступный IP-адрес?
Наиболее частая проблема заключается в том, что ваш шлюз перезаписывает адрес назначения пакета на внутренний сервер, но не на источник. Итак, когда внутренний сервер отвечает, он видит, что пакет пришел от чего-то в локальной сети, и отправляет пакет обратно напрямую - и клиент не может сказать, что это от сервера, потому что пакет все еще имеет внутреннюю, а не общедоступную , обращайтесь по нему.
Стандартное исправление - заставить трафик возвращаться через ваш шлюз. Один из способов добиться этого - поместить сервер, на который перенаправляется общий адрес, в «DMZ», чтобы трафик между клиентом и сервером проходил через маршрутизатор.
Другой способ - также применить NAT к исходному адресу внутренних подключений к внешнему IP, чтобы они выглядели так, как будто они исходят от шлюза. Затем внутренний сервер ответит шлюзу, который отменит обе NAT изменяется и отправляет пакет обратно внутреннему клиенту.
Я знаю, что это не то, о чем вы спрашиваете, но я настроил свою внутреннюю сеть через разделенный DNS: машины в сети получают внутренние адреса при поиске home.domain.tld, mail.domain.tld и т. Д. . Нет необходимости беспокоиться о преобразовании адресов (ну, если, конечно, между клиентом и сервером нет чего-то еще), ничто на стороне клиента не заботится о том, что он не разговаривает с общедоступным маршрутизируемым адресом, на стороне сервера будет только заботиться, если у вас есть что-то конкретное привязка к внешнему интерфейсу, а не к другим, и, в отличие от NAT, все внутренние узлы не выглядят одинаково в файлах журналов (что может помочь, если вам нужно использовать указанные журналы для диагностики проблемы, возникающей на локальная сеть).
Похоже, вы пытались использовать разделенный DNS (DNS-сервер пересылки). Вероятно, вам нужно проверить несколько флажков на странице DNS-сервера пересылки. См. Этот пример и проверьте его в соответствии с ним. http://doc.pfsense.org/index.php/Why_can%27t_I_access_forwarded_ports_on_my_WAN_IP_from_my_LAN/OPTx_networks%3F
У меня была та же проблема, и, похоже, это помогло.