Идея: я хотел бы использовать несвязанный DNS, установленный на том же сервере, что и решение VPN, для блокировки рекламы и подобных нежелательных сайтов с DNS для всех подключений VPN.

В настоящее время unbound настроен для локальных запросов.

Как настроить Strongswan/ipsec для использования unbound в качестве DNS-сервера? Нужно ли открывать несвязанные с Интернетом или я могу как-то локально запрашивать DNS с VPN-подключения через сервер?

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

PS: Если вам нужна дополнительная информация о настройке, не стесняйтесь спрашивать.

1 ответ1

1

Один из способов сделать это - назначить IP-адрес серверу из подсети, которую вы используете для виртуальных IP-адресов ваших клиентов. Затем вы назначаете этот IP-адрес как DNS-сервер своим клиентам и исключаете IP-адрес из пула IP-адресов. При желании можно фильтровать доступ к этому IP-адресу через модуль сопоставления политик Netfilter (см. Справочную страницу iptables-extensions ), чтобы он был доступен только через VPN.

Например, если ваш пул IP-адресов 192.168.8.0/24 (например, настроен в rightsourceip в ipsec.conf или в разделе "пул" в swanctl.conf), вы назначаете свой сервер 192.168.8.1 (на любом интерфейсе, например, lo), а затем измените пул на 192.168.8.2/24 (поэтому первый адрес, назначенный клиенту, будет 192.168.8.2). Чтобы назначить 192.168.8.1 DNS-сервером, настройте его в rightdns в ipsec.conf или в разделе пула в swanctl.conf.

Хотя вы также можете использовать общедоступный IP-адрес сервера и разрешать доступ к UDP-порту 53 только через VPN с использованием упомянутого соответствия политик, это не будет работать с клиентами Apple, поскольку они не отправляют пакеты на общедоступный IP-адрес сервера через VPN ( таким образом, вам придется сделать DNS-сервер общедоступным или динамически добавить правила брандмауэра, которые разрешают доступ к нему с общедоступного IP-адреса клиента).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .