Вопрос или проблема
У меня есть сервер с Ubuntu 14, на котором работают pptpd
и dnsmasq
.
Я испытываю трудности с настройкой ufw
, чтобы позволить клиентам pptp
разрешать их DNS-запросы с использованием локального сервера dnsmasq
.
Я правильно настроил и pptpd, и dnsmasq (на сервере есть несколько других сервисов, использующих dnsmasq), и клиенты pptpd
могут разрешать сайты, когда pptp-options
установлен непосредственно на публичный DNS Google: ms-dns 8.8.8.8
.
Если я устанавливаю ms-dns
на 127.0.0.1
, они не могут разрешать. Я также пробовал различные конфигурации NAT и разные внутренние IP (я понимаю, что установка DNS на 127.0.0.1 приведет к попытке клиента разрешить DNS на их локальной машине, и пробовал установить его на публичный IP-адрес сервера, но естественно, это блокируется UFW).
Я стараюсь не делать dnsmasq доступным для всего мира.
Как я могу настроить ufw
для корректного разрешения подключающимися клиентами pptp с использованием localhost?
Я настроил pptpd, следуя этому руководству: https://askubuntu.com/questions/119534/easiest-way-to-setup-ubuntu-as-a-vpn-server
Спасибо за любые советы/помощь/поддержку!
Вы пробовали открыть /etc/default/ufw
и изменить опцию “DEFAULT_FORWARD_POLICY” с “DROP” на “ACCEPT”? Это помогло мне.
Большое спасибо, Иван Линко. Просто заменил одно слово и готово.
.
Ответ или решение
Для успешной настройки UFW, PPTPD и Dnsmasq на одном сервере Ubuntu 14 и обеспечения возможности PPTP-клиентам разрешать DNS-запросы через локальный сервер Dnsmasq, необходимо выполнить следующие шаги:
Анализ проблемы
Ваша проблема заключается в том, что PPTP-клиенты могут разрешать доменные имена только при использовании внешних DNS-серверов. При попытке использования локального Dnsmasq через 127.0.0.1 или публичный IP-адрес сервера, разрешение блокируется брандмауэром UFW.
Шаги по решению проблемы
-
Настройка Dnsmasq:
Убедитесь, что Dnsmasq настроен на прослушивание запросов на соответствующих интерфейсах, включая интерфейсы PPTP. В файле конфигурации/etc/dnsmasq.conf
добавьте или измените строку:listen-address=127.0.0.1,10.0.0.1
где 10.0.0.1 замените на IP-адрес, используемый PPTP-сервером в локальной сети.
-
Обновление конфигурации pptpd:
Проверьте настройки в файле/etc/pptpd.conf
и в файле опций/etc/ppp/pptpd-options
. Убедитесь, что параметрms-dns
указывает на внутренний IP-адрес Dnsmasq, например:ms-dns 10.0.0.1
-
Настройка UFW для разрешения трафика:
Откройте/etc/default/ufw
и изменитеDEFAULT_FORWARD_POLICY
сDROP
наACCEPT
:DEFAULT_FORWARD_POLICY="ACCEPT"
Это позволит платформе пересылки UFW позволять трафику проходить через него.
-
Специальные правила для UFW:
Создайте UFW правила для разрешения входящих и исходящих запросов на DNS на локальных интерфейсах. Выполните следующие команды для настройки:sudo ufw allow in on ppp+ to any port 53 sudo ufw allow out on ppp+ from any port 53
Это будет разрешать DNS-трафик от VPN-клиентов к Dnsmasq через интерфейсы PPTP.
-
Перезапустите службы:
После всех изменений перезапустите необходимые службы:sudo service ufw restart sudo service dnsmasq restart sudo service pptpd restart
Заключение
Следуя вышеописанным шагам, ваши PPTP-клиенты смогут использовать Dnsmasq для разрешения DNS-запросов. Эти настройки обеспечивают безопасность, поскольку Dnsmasq будет доступен только для локальных клиентов сервера. Убедитесь, что все конфигурационные файлы настроены правильно, и что после внесения изменений службы были перезапущены.
Постоянно следите за логами (/var/log/syslog, /var/log/ufw.log) для выявления и разрешения возможных проблем.