Настройка ufw pptpd и dnsmasq на одном сервере

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

У меня есть сервер с 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.

Шаги по решению проблемы

  1. Настройка Dnsmasq:
    Убедитесь, что Dnsmasq настроен на прослушивание запросов на соответствующих интерфейсах, включая интерфейсы PPTP. В файле конфигурации /etc/dnsmasq.conf добавьте или измените строку:

    listen-address=127.0.0.1,10.0.0.1

    где 10.0.0.1 замените на IP-адрес, используемый PPTP-сервером в локальной сети.

  2. Обновление конфигурации pptpd:
    Проверьте настройки в файле /etc/pptpd.conf и в файле опций /etc/ppp/pptpd-options. Убедитесь, что параметр ms-dns указывает на внутренний IP-адрес Dnsmasq, например:

    ms-dns 10.0.0.1
  3. Настройка UFW для разрешения трафика:
    Откройте /etc/default/ufw и измените DEFAULT_FORWARD_POLICY с DROP на ACCEPT:

    DEFAULT_FORWARD_POLICY="ACCEPT"

    Это позволит платформе пересылки UFW позволять трафику проходить через него.

  4. Специальные правила для 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.

  5. Перезапустите службы:
    После всех изменений перезапустите необходимые службы:

    sudo service ufw restart
    sudo service dnsmasq restart
    sudo service pptpd restart

Заключение

Следуя вышеописанным шагам, ваши PPTP-клиенты смогут использовать Dnsmasq для разрешения DNS-запросов. Эти настройки обеспечивают безопасность, поскольку Dnsmasq будет доступен только для локальных клиентов сервера. Убедитесь, что все конфигурационные файлы настроены правильно, и что после внесения изменений службы были перезапущены.

Постоянно следите за логами (/var/log/syslog, /var/log/ufw.log) для выявления и разрешения возможных проблем.

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

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