Будь-які затримки в перетворенні позначаються на швидкості мережевих з'єднань і серфінг в Інтернеті не виняток. Хочете прискорити роботу Ubuntu в Інтернеті? Вперед.
НОВАЧКАМ краще НЕ ЗАСТОСОВУВАТИ поради викладені в даній статті!
Спочатку опишу зміни в роботі DNS. які відбулися в Ubuntu 12.04.
Раніше все DNS сервера, в ручну або автоматично отримані від DHCP, прописувалися в файлі /etc/resolv.conf. Тепер введена служба resolvconf і файл /etc/resolv.conf нею перезаписується і ваші ручні правки будуть загублені.
Тепер Resolvconf зберігає в /etc/resolvconf/resolv.conf.d/ каталозі файли base, head, original і tail файли. Все зберігається в resolv.conf форматі:
- base: використовується, коли немає взагалі ніяких даних
- head: використовується для заголовка в /etc/resolv.conf
- original: просто резервна копія оригінального resolv.conf під час установки resolvconf
- tail: будь-яка інформація з цього файлу додається в кінець /etc/resolv.conf
Можна піти іншим шляхом і вказати ваші DNS сервера через параметр dns-nameservers в / etc / network / interfaces у кожного з'єднання.
Друга зміна в роботі DNS - Dnsmasq тепер Резолвер DNS за умовчанням.
Для чого це придумано? А справа в тому, що стандартний дозвіл імен DNS здійснювалося бібліотекою і вона не могла визначати стан ваших DNS серверів і якщо з ним були проблеми, то виникали не потрібні таймаут при вирішенні імен DNS.
Вже за це не варто лаяти Dnsmasq службу, а подякувати її за вміння визначати "мертві" сервера DNS і виключати тимчасово їх з обслуговування.
І друге, Dnsmasq вміє відправляти DNS трафік через відносно повільний VPN тільки для пов'язаних з ним подсетями і доменами. Решта DNS трафік може йти через інші, можливо, швидкі локальні з'єднання.
Вихід в Інтернет провайдер здійснює через додаткове з'єднання, яке ви повинні були налаштувати за інструкцією. Найчастіше це PPTP сервер провайдера, який "виведе" вас в Інтернет.
Така схема, улюблена російськими провайдерами, з якогось дива прижилася, хоча в усьому світі це вважається моветоном. Ну це ліричний відступ.
І так у вас вже два з'єднання. Одне - локальне з'єднання з мережею провайдера, де ви слухаєте музику, граєте, качаєте файли з локальних серверів провайдера. Друге з'єднання - для доступу до Інтернет.
Так ось це друге з'єднання теж може аннонсіровалі свої DNS сервера і в результаті у вас є список DNS серверів провайдера, які обслуговують вас.
Dnsmasq вміє НЕ посилати все DNS запити в ваше VPN (PPTP, PPPoE і т.д.) з'єднання і забивати досить латентний канал VPN, а посилати в VPN канал тільки потрібний трафік. Всі інші запити, наприклад до локальних сайтів, підуть через локальне швидке з'єднання.
Тільки в цій бочці щастя, одна ложка дьогтю! Dnsmasq - виявляється все таки кешируєтся разрешатель імен DNS, але не рівня Bind. Dnsmasq помітно програє Bind, особливо при наявності декількох мереж і безлічі DNS серверів в системі.
Проблема може посилиться тим, що якщо ви любитель ручних налаштувань мережі та вас коробить від NetworkManager, ви можете вказати в / etc / network / interfaces для кожного з'єднання потрібний DNS сервер за допомогою dns-nameservers.
АЛЕ забути уточнити (за допомогою dns-search і dns-domain) для будь доменів звертатися, тоді ми отримуємо ситуацію, коли Dnsmasq довбати з запитами до конкретного DNS сервера, той не може або не хоче обслуговувати нас і виникають затримки. Dnsmasq змушений дочекатися закінчення часу очікування і перейти до опитування наступного DNS сервера. І так на кожен запит.
Вихід?
Поставити кешируєтся DNS Резолвер BIND, який є офіційним стандартом від ISC. Він буде запам'ятовувати наші запити / відповіді та перетворення імен прискориться. Істотно.
Вказати в системі що у вас єдиний DNS перетворювач імен та це ви самі.
Як це зробити?
- Нагадайте собі ваші поточні DNS сервера. cat /etc/resolv.conf
- Ставимо Bind. sudo apt-get install bind9
- Визначтеся як ви розрулювати мережу. Автоматично через NetworkManager або в ручну.
- Що робити якщо мережа налаштовуєте в ручну і вас дратує NetworkManager?
через /etc/resolvconf/resolv.conf.d/tail
nameserver 127.0.0.1
або через / etc / network / interfaces
dns-nameservers 127.0.0.1А набагато стане краще? Якщо ви фанат Google Chrome, який за замовчуванням використовує трюк для прискорення і все що згадуються сайти на сторінці заздалегідь ні перетворювати, то виграш, взагалі, просто супер.
Та й взагалі, тепер у вас на борту свій кешируєтся DNS сервер, який не тільки перетворює імена, але і запам'ятовує відповіді.
Сподіваюся ви оціните швидкість. В цілому прискорити систему ви зможете за статтею Прискорення Ubuntu.
Схожі статті
- Що робити якщо мережа налаштовуєте в ручну і вас дратує NetworkManager?