Как настроить имя удаленного сервера для OpenVPN в pfSense

Вопрос или проблема

Моя компания использует pfsense 2.3.2-RELEASE в качестве VPN-сервера. Все сгенерированные файлы конфигурации OpenVPN выглядят так:

persist-tun
persist-key
cipher AES-128-CBC
auth SHA1
tls-client
client
remote 192.168.100.2 1194 udp
setenv opt block-outside-dns
lport 0
verify-x509-name "******" name
auth-user-pass
ns-cert-type server

Удалённый сервер имеет внутренний IP-адрес. Поэтому мне нужно вручную изменить его на доменное имя VPN-шлюза, прежде чем передать файл конфигурации пользователю. Как я могу использовать доменное имя VPN-шлюза?


Я нашёл настройки для имени хоста удалённого сервера. Они находятся в OpenVPNClient Export Utility, разделе Client Connection Behavior. Я изменил Host Name Resolution на Other и вручную указал имя хоста.

Не совсем ясно, что вы спрашиваете, но “remote” может принимать как IP-адрес, так и доменное имя – поэтому вполне допустимо заменить “remote 192.168.100.2 1194 udp” на “remote domain.example.com 1194 udp”.

Если ваши затруднения связаны с разными внутренними и внешними IP-адресами и с тем, как иметь одно и то же имя для обоих в зависимости от того, откуда идёт запрос, эта проблема решается с помощью раздельного DNS. Невозможно дать конкретные рекомендации, не зная гораздо больше о вашей сетевой настройке и о том, как вы в настоящее время используете DNS, однако есть несколько распространённых решений:

  1. Используйте DNSMasq в вашей локальной сети и создайте отображение вашего желаемого домена на локальный IP-адрес в вашем файле hosts. Убедитесь, что все компьютеры в вашей локальной сети используют DNSMasq в качестве серверов имен и что DNSMasq переводит хосты в IP-адреса.

  2. Если вы используете BIND для авторитетного DNS, используйте раздельный DNS – такая настройка позволит создавать разные зоны в зависимости от того, откуда исходит запрос. Если вы используете BIND для рекурсивного DNS, создайте зону для вашего домена в вашем локальном BIND и добавьте соответствующее локальное отображение домена – IP-адреса.

В зависимости от сложности вашей сети – если вы можете разместить сервер OpenVPN в отдельной подсети, так чтобы все запросы – как внутренние, так и внешние – проходили через межсетевой экран, вы сможете добавить правило в межсетевой экран для перехвата запросов из вашей локальной сети, направленных на внешний IP-адрес на порт 1194, и перенаправить их на ваш сервер OpenVPN, одновременно выполняя переадресацию/пинхоллинг этого с вашего WAN-интерфейса.

Я нашёл настройки для имени хоста удалённого сервера. Они находятся в OpenVPNClient Export Utility, разделе Client Connection Behavior. Я изменил Host Name Resolution на Other и вручную указал имя хоста.

Ответ или решение

Для настройки имени удалённого сервера OpenVPN на pfSense, вам необходимо произвести несколько действий, чтобы обеспечить корректный доступ к вашему VPN-серверу как из внутренней, так и из внешней сети. Ниже представлено подробное руководство по этому процессу.

Шаг 1: Установка доменного имени для OpenVPN

  1. Зайдите в интерфейс pfSense: Откройте веб-браузер и подключитесь к вашему pfSense, используя его IP-адрес.

  2. Перейдите в настройки OpenVPN:

    • В меню выберите VPN > OpenVPN.
    • Перейдите на вкладку Client Export.
  3. Настройка имени хоста:

    • В разделе Client Connection Behavior найдите параметр Host Name Resolution.
    • Измените значение на Other и введите ваше DNS-имя (например, vpn.example.com) в соответствующее поле.

Это изменение позволит клиентам VPN подключаться к серверу через доменное имя, а не IP-адрес. Убедитесь, что DNS-запись для вашего домена корректно указывает на IP-адрес вашего VPN-сервера.

Шаг 2: Конфигурация DNS

Если ваше внутреннее и внешнее сетевое окружение различается (например, у вас один IP для внешнего доступа и другой для внутреннего), вам может понадобиться настроить Split DNS:

  1. Использование DNSMasq:

    • Установите и настройте пакет DNSMasq на pfSense.
    • Перейдите в Services > DNS Forwarder и включите его.
    • Добавьте запись в файл размещения, указывающую ваше нужное доменное имя на внутренний IP-адрес VPN-сервера.
  2. Настройка BIND:

    • Если вы используете BIND для авторитетного DNS, настройте Split DNS, чтобы использовать разные зоны в зависимости от источника запроса.
    • Создайте зону для вашего домена и добавьте соответствующее локальное соответствие домен – IP.

Шаг 3: Проверьте настройки брандмауэра

  1. Создайте правила NAT/Port Forwarding:

    • Перейдите в меню Firewall > NAT > Port Forward и добавьте правило, перенаправляющее трафик с внешнего IP на внутренний IP вашего OpenVPN сервера.
  2. Настройка правил брандмауэра:

    • Проверьте настройки правил брандмауэра в разделе Firewall > Rules для вашего WAN и LAN интерфейса, чтобы убедиться, что разрешён трафик на необходимый порт (например, 1194).

Шаг 4: Генерация конфигурации клиента

После того, как все настройки завершены, вы можете генерировать конфигурационный файл для клиентов OpenVPN:

  1. Вернитесь в Client Export Utility.
  2. Выберите пользователя и сгенерируйте файл конфигурации.
  3. Распространите этот файл среди ваших пользователей, будучи уверенными, что указанный в нём хост — это ваше DNS-имя.

Заключение

Теперь, когда вы завершили настройку, ваши пользователи смогут подключаться к OpenVPN серверу, используя доменное имя, без необходимости вручную изменять IP-адрес в конфигурационном файле. Обязательно протестируйте подключения, чтобы убедиться, что всё работает корректно как из внутренней, так и из внешней сетей.

Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью или обращаться к сообществу pfSense для получения поддержки.

Оцените материал
Добавить комментарий

Капча загружается...