блокувати зовнішній dns, виправити dns leak ubuntu 18.04


10

Використовуючи тест на витік dns під час мого VPN, я виявив, що він протікає. Я налаштував свій VPN через NetworkManager, і він працює належним чином, крім витоку.

По-перше, я спробував додати block-outside-vpnдо конфігураційного файлу, за винятком того, що під /etc/NetworkManager/system-connectionsним не йде той самий формат. Я не зміг знайти документа про те, як правильно написати його для витоків у dns.

Також використання Ubuntu 18.04 resolutionv.conf не працює як раніше, всі інші відповіді засновані на цьому.

Коротко, як заблокувати зовнішню dns (утечку) за допомогою файлів конфігурації Network Manager або GUI?


block-outside-vpnяк правило, це лише варіант підключення Windows OpenVPN. Виправлення «витоку DNS» означало б використання конкретного DNS-сервера, який існує лише з іншого боку VPN. Які результати тесту DNS-герметичності ви побачили? (вони актуальні)
Thomas Ward

Відповіді:


3

Я пропоную використовувати dnscrypt.

Спочатку встановіть його:

sudo apt install dnscrypt-proxy

За замовчуванням він прослуховує 127.0.2.1порт 53.

Відредагуйте VPN або будь-яке інше з'єднання, яке вам подобається, і встановіть 127.0.2.1його DNS-сервер, використовуючи CLI, ви можете запустити:

nmcli connection modify [CONNECTION-NAME] ipv4.dns 127.0.2.1

І на всякий випадок заблокуйте вихідні запити DNS:

sudo ufw deny out 53

І переконайтеся, що брандмауер увімкнено:

sudo ufw enable

Мій DNS все ще протікає згідно з тестом на витік DNS. Також важливо зазначити, що відключення VPN під час увімкнення ufw призведе до недоступності Інтернету (заблокований порт 53).
Pobe

Виконайте цю команду: nmcli connection modify [CONNECTION-NAME] ipv4.ignore-auto-dns yesподивіться, чи допомагає вона.
Равексіна

3

Щоб виправити витоки DNS на Ubuntu 18.04, ви можете відредагувати файл, який називається /etc/dhcp/dhclient.conf. Відповідно до сторінки керівництва, цей файл "надає засоби для налаштування одного або декількох мережевих інтерфейсів за допомогою протоколу конфігурації динамічного хоста, протоколу BOOTP або якщо ці протоколи виходять з ладу, шляхом статичного призначення адреси".

Щодо виправлення ваших витоків у DNS, ми будемо редагувати цей файл. Відкривши його з належними дозволами, ви побачите коментований рядок, який виглядає приблизно так:

#prepend domain-name-servers 127.0.0.53;

Відкиньте цей рядок і змініть сервер доменних імен на інший, наприклад OpenDNS: 208.67.222.222. За допомогою цієї адреси OpenDNS цей рядок тепер виглядатиме так:

prepend domain-name-servers 208.67.222.222;

Після збереження файлу та перезавантаження системи це повинно усунути витоки DNS на Ubuntu 18.04.


Або ви можете просто відредагувати своє з'єднання в графічному інтерфейсі та отримати той самий результат: відкрийте вікно редагування для вашого з'єднання => Налаштування IPv4 / IPv6, змініть "Метод" на "Автоматично, лише адреси" та додайте свої "DNS-сервери".
GoodGuyNick

Метод @GoodGuyNick через GUI не працював для мене. Я цілий день переглядаю цю проблему, і працює лише трюк "додати сервери доменних імен". Алілуя за цю відповідь. Все, що я спробував (включаючи графічний інтерфейс для серверів DNS), перезаписувався і не пережив перезавантаження.
пестофаг

3

Якщо у вас витік DNS, як зазначено, перевірте на веб- сайті browserleaks.com або dnsleaktest.com ,

  1. Вимкніть VPN-з'єднання

  2. Спроба скасувати будь-які зміни файлу .conf, які ви вже витратили на час. Якщо ви намагаєтеся безліч різноманітних пропозицій, найкращим шансом може бути нова установка та переконайтесь, що ви також встановили networkmanager-openvpn-gnome, оскільки Ubuntu не імпортує конфігурацію VPN, надану за замовчуванням.

  3. Встановіть dnsmasq

    sudo apt update
    sudo apt install dnsmasq  
    
  4. Відключити вирішено

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service 
    
  5. Видаліть / etc/resolv.confі створіть новий:

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf  
    
  6. Введіть у порожній .confфайл:

    nameserver 127.0.0.1`         that's all!
    
  7. Натисніть Ctrl+, x щоб вийти з редактора. Введіть yдля збереження і натисніть, Enterщоб перезаписати новий resolv.confфайл.

  8. Відредагуйте файл NetworkManager.conf

    sudo nano /etc/NetworkManager/NetworkManager.conf 
    

    і додайте наступне:

    dns=dnsmasq 
    

    під рядками (навігація за допомогою клавіш зі стрілками), [main] та плагінів = ifupdown, keyfile точно так, як додано новий рядок.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Натисніть Ctrl+, xщоб вийти з редактора. Введіть, y щоб зберегти, а потім натисніть, Enterщоб перезаписати файл.

  9. Вийдіть із терміналу та перезавантажте систему та перевірте результати пошуку на своєму dnsleak test.

Завдяки Anonymous VPN , рішення для витоків у Ubuntu / Network Manager здаються добре дослідженими та успішними. Вони працювали, і коли жодне інше рішення не працювало на мене, це було. Вищеописане рішення працює для Ubuntu 17.x та 18.04 LTS . Дивіться його інше рішення за 16.04 LTS .


Я перевірив це рішення на віртуальний комп'ютер і все працювало. Потім я спробував на головній машині і побачив dns від VPN та dns утечі. На nameserverзміненому VM, перетвореному 127.0.2.1на 192.168.122.1і коли я підключаюсь до VPN, resolv.confя бачу дві nameserverлінії: одна з, 192.168.122.1а друга з dns VPN, але на головній машині я завжди бачу дві лінії search lan nameserver 127.0.1.1.
GoodGuyNick

як я можу робити те, що не має мережевого менеджера? просто поставити dns в / etc / network / інтерфейси?
Мехді

1

Я боровся з цим точним питанням 2 дні, перш ніж знайти рішення, яке працювало для мене тут: https://unix.stackexchange.com/a/470940

TL; DR

$ cd /etc/NetworkManager/system-connections

Тут зберігаються зв’язки, створені з Менеджером мережі.

$ sudo nmcli connection modify <vpn-connection-name> ipv4.dns-priority -42

Проста команда для зміни конфігураційного файлу з'єднання. Це можна зробити і вручну, але я вважаю, що це простіше.

$ sudo service network-manager restart

Зробіть внесені зміни до вашої системи.

В основному копія, вставлена ​​з посилання вище, зараховує оригіналу автора.

Якщо ваша система не знає nmcli або додавання з'єднань за допомогою GUI Network Manager видає помилку, рекомендую це посилання

Тепер для того, що менше пояснень і більше коментарів (досить зрозуміло, що я сам).

Я спробував багато рішень, включаючи резоль.conf, dnsmasq та dnscrypt, і все це призводить до того, що мій Інтернет блокується повністю або коли вимкнено з'єднання vpn. Жоден з них не вирішив витік dns, повідомляє dnsleaktest.com . У разі спроби будь-якого з них слід відслідковувати кожен крок на шляху, щоб мати змогу їх змінити у разі небажаного результату. Мені не потрібно було короткої кількості часу, щоб виправити свій розбитий час в Інтернеті і знову без, вгадайте, інтернету. Я не претендую на те, що ці рішення не працюють, я, можливо, десь помилився.
Однак рішення, з яким я пов’язаний, має величезну перевагу в тому, що воно не возиться із загальними мережевими налаштуваннями, а лише з одним підключенням, яке ви змінюєте.

Далі, блок-за межами dns, як згадувалося тут раніше, - це рішення лише для Windows і викинуло якусь невпізнану помилку варіантів на мою систему ubuntu.

Використання команд ovpn cli не вирішило протікання ні для мене.

Посилання, яке я надавав, згадує пояснення ( тут ) про деякі невідповідності версій, які зафіксовані в ubuntu 18.10, можливо, хтось, хто має більше знань з цієї теми, захоче пояснити далі. Якщо це правда, користувачам LTS доведеться чекати квітня наступного року afaik.

Нарешті, я хочу зазначити, що для жителів країн, що мають цензуру в Інтернеті, витік dns є серйозною проблемою, оскільки надання доступу до місцевого іспиту до вашого трафіку може і призведе до блокування цензурованих доменів, незважаючи на підключення до vpn. Тому для майбутніх відвідувань Китаю тощо, це те, про що ви хочете заздалегідь подбати.

Сподіваюсь, це допомагає.


0

Спробуйте скористатися update-systemd-resolvedсценарієм, який не вносить зміни до resolv.conf, а натомість використовує systemd-resolvedслужбу за допомогою API DBus

Отримайте його з git та встановіть його:

git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make

Тепер редагуйте nsswitch.confза:

sudo nano /etc/nsswitch.conf

а потім змінити рядок, починаючи з hosts:слова

hosts: files resolve dns myhostname

Увімкніть послугу та переконайтеся, що вона працює автоматично:

sudo systemctl enable systemd-resolved.service
sudo systemctl start systemd-resolved.service

ПРИМІТКА. Якщо ви не хочете виконувати вищезазначені кроки, і ви добре використовуєте термінал, витік DNS виникає лише під час використання NetworkManager, але, на мій досвід, це не відбувається, коли ви запускаєте openvpn з терміналу зsudo openvpn --config config.ovpn


Яка буде лінія в config.ovpn, яка б блокувала витік? Чи є у вас приклад цього? (Рішення вище для мене не вийшло).
Pobe

0

Я намагався майже кожне рішення, яке я міг знайти в Інтернеті, щоб виправити проблему протікання dns. Openvpn почався чудово, але показав, що він протікає, коли я зайшов на тестові майданчики. Після того, як я не отримав радості пробувати всі засоби захисту, я зайшов у налаштування свого wifi та ethernet і використав dns-сервери openvpn замість своїх провайдерів і відтоді все було добре. Я впевнений, що ви бачили ip адреси всюди, але ось вони є, якщо у вас їх немає: 208.67.222.222 та 208.67.220.220.


0

Все, що вам потрібно зробити - це

  1. Використовуйте таблиці IP для примусового використання всього через тунель VPN
  2. Налаштуйте на своєму ПК статичну IP-адресу з сервером DNS на ваш вибір (DHCP не є вашим другом)

Детальніше: https://github.com/OrangeReaper/abStartupManager/wiki/Some-notes-on-Ubuntu-Desktop-Security

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.