Как разрешить DNS через фильтрацию интерфейса с помощью iptables в Ubuntu Headless

Как упоминалось ранее, перейдите к /usr/share/applications, но вместо копирования / вставки (это скопирует все содержимое файлов), щелкните правой кнопкой мыши и сделайте ссылку, затем скопируйте ТО, который будет просто скопировать значок, а не всю папку содержание.

1
задан 7 November 2015 в 00:11

1 ответ

Первый вопрос: можете ли вы получить доступ к своему DNS-серверу? Если вы блокируете доступ ко всем, кроме tun0, вы можете блокировать доступ к DNS.

Если вы используете какой-то DNS-сервер локально, это полный Bind или что-то вроде dnsmasq, эта служба также должна иметь доступ к Интернету.

Я бы предложил добавить запись журнала в ваш iptables, прежде чем отклонять, чтобы увидеть, какой трафик отклоняется.

Использование порта 53 является стандартным способом защиты от безопасности, поэтому открытие *: 53, вероятно, неразумно, поэтому вам лучше всего назначить ваш DNS-сервер (локальный и восходящий) в качестве приемлемых целей для трафика. Я предполагаю, что --sport xxxx вы имели в виду, что используете нестандартный порт вместо: 80 для своего веб-сервиса. Если нет, вы должны указать, что в вашем правиле 192.168 (то же самое для IP, это должен быть полный адрес / 32).

Также не забывайте, что если вы хотите использовать ping для тестирования, вы 'll нужно настроить iptable записи для ICMP. ICMP 8 (эхо) - это пинг, ICMP 0 - ответ ping.

Также стоит подумать о том, какие маршруты у вас есть, так как вам необходимо убедиться, что маршрут по умолчанию для трафика - tun0. Если tun0 является единственным допустимым интерфейсом, вам необходимо обеспечить, чтобы все маршруты, которые вам нужны, отправляли трафик таким образом.

Если это не диагностирует ваши проблемы, используйте ethtool, чтобы сделать некоторые сетевые обнюхивания, посмотреть, какие разговоры делают это, а какие нет. Это может быть что-то странное, например REQ, но ACK не возвращается.

0
ответ дан 23 May 2018 в 16:06
  • 1
    Все работает правильно до тех пор, пока не будут добавлены правила iptables, после чего единственная проблема, с которой я страдаю, - это разрешение имени домена. Мой vpn также обеспечивает не-протоколирование DNS. Будет ли решение для этого изменить мою запись имени сервера /etc/network/interfaces с 192.168.x.1 на IP-адрес DNS, предоставленный моей VPN, а затем разрешить все подключения к этому DNS-IP до отклонения? Я хотел спросить, прежде чем пытаться это сделать, чтобы убедиться, что это безопасно, так как я считаю, что это логично, и два я предлагаю щедрость в любом случае. Я хочу убедиться, что утечек нет, и не хотите вводить один через DNS – DeeJayh 6 November 2015 в 22:45
  • 2
    Я перечитаю ваш ответ. вместо изменения interfaces Я должен просто разрешить 192.168.x.1 и VPN DNS IP явно до отклонения, а не мой предыдущий комментарий? Большое спасибо заранее! – DeeJayh 6 November 2015 в 22:55
  • 3
    Извините за все комментарии, не позволит вам редактировать через определенное количество времени? То, что я ДЕЙСТВИТЕЛЬНО хотел бы сделать, это заставить эти DNS-запросы через адаптер tun0, сделать ЛЮБОЕ сообщение с внешним миром от пользователя «vpnonly» " пройдите через VPN, если это вообще возможно. – DeeJayh 7 November 2015 в 00:08
  • 4
    Во-первых, не переходите на смену интерфейсов или какой-либо другой конфигурации, пока не убедитесь, что это сработает. /etc/resolv.conf - это местоположение преобразователя dns. Он должен быть где-то, с которым вы можете общаться, принимая правила брандмауэра. Имея удаленные DNS-серверы, это только разумно, если у вас также есть локальные серверы кэширования на основе сателлитов, которые отправляют все свои запросы на главный сервер. Как я уже сказал, я бы предложил установить локальное связывание на 127.0.0.1. Получите эту работу, затем, если она будет работать, да измените интерфейс. Но сначала запустите его (помните, что вам все равно нужен fw доступ к & lt; master DNS & gt;: 53) – sibaz 9 November 2015 в 18:02

Другие вопросы по тегам:

Похожие вопросы: