Введення:
Що таке dnscrypt-proxy?
- DNSCrypt шифрує та аутентифікує DNS-трафік між користувачем та засобом розпізнавання DNS, запобігає локальному спуфінгу запитів DNS, забезпечуючи надсилання відповідей DNS вибраним сервером. (Wiki)
Що таке dnsmasq?
- dnsmasq надає такі послуги, як кеш DNS та DHCP-сервер. Як сервер доменних імен (DNS) він може кешувати DNS-запити для покращення швидкості з'єднання з раніше відвіданими сайтами, а як DHCP-сервер dnsmasq може використовуватися для надання внутрішніх IP-адрес та маршрутів до комп’ютери в локальній мережі. Можна застосувати одну або обидві ці послуги. dnsmasq вважається легким і простим у налаштуванні; Він призначений для використання на персональному комп’ютері або для використання в мережі з менше ніж 50 комп’ютерами. Він також постачається з сервером PXE. (Wiki)
Що я використовував?:
- Для редагування файлів конфігурації, якими я користувався нано.
- Завжди я робив це зі своїм кореневим обліковим записом, але якщо вони налаштовані Суду, вони можуть спокійно ним користуватися.
- Щоб перевірити кеш за допомогою команди dig, він знаходиться в bind-tools
в офіційних сховищах, pacman -S інструменти для прив’язки 🙂
Установка:
- Як root або використовуючи sudo у нашому терміналі або tty, ми встановлюємо пакети dnscrypt-proxy та dnsmasq наступним чином:
- Попереджувальне повідомлення полягає в тому, що я їх уже встановив, вам просто потрібно підтвердити, натиснувши Enter:
Налаштування:
1 - Давайте увімкнемо dnscrypt-proxy (пам’ятаємо як root або використовуючи sudo):
2 - Тепер редагуємо файл / Etc / resolv.conf а на сервері імен ми видаляємо те, що є, і ставимо 127.0.0.1 (якщо вони хочуть, вони можуть зробити резервну копію файлу), і це повинно виглядати так:
- Беручи до уваги те, що NetworkManager пише файл resolv.conf, ми збираємося захистити його від запису наступною командою:
3 - Тепер ми будемо шукати сервер, який є найближчим до нашого місцезнаходження, але ви можете використовувати той, який за замовчуванням - dnscrypt.eu-nl, список можна відкрити за допомогою localc тут: / usr / share / dnscrypt-proxy / dnscrypt-resolvers.csv ось так: - Якщо ми хочемо змінити сервер, який вирішує DNS за замовчуванням, ми можемо редагувати так:
- В кінці файлу в розділі [Сервіс] ми модифікуємо вибране сірим кольором і розміщуємо сервер, який ми вже вибрали у списку:
4 - За замовчуванням dnscrypt-proxy використовує порт 53, оскільки це робить і dnsmasq, тому ми збираємося змінити його за допомогою:
systemctl редагуйте dnscrypt-proxy.service –full і в розділі [Socket] ми залишаємо це так:
5 - Тепер ми налаштовуємо dnsmasq, ми збираємось відредагувати файл /etc/dnsmasq.conf і додати ці три рядки в кінці:
не вирішено
сервер = 127.0.0.1 # 40
адреса прослуховування = 127.0.0.1
Зберігаємо зміни та закриваємо.
6 - Тепер ми робимо наступне:
- Ми перезапускаємо dnscrypt-proxy:
systemctl перезапустіть dnscrypt-proxy
- Ми активуємо dnsmasq:
systemctl увімкнути dnsmasq
- Ми виконуємо dnsmasq:
systemctl запустити dnsmasq
- Ми перезапускаємо підключення до Інтернету:
systemctl перезапустіть NetworkManager
7 - Ну, зараз ми перевіряємо, чи справді це працює з пінгом, наприклад, до google.com.ar:
8 - Ми перевіряємо, чи працює кеш dns за допомогою команди dig:
- Тут ми беремо до уваги, що при першому викопуванні, яке я роблю, є затримка 349 мсек, і коли я знову роблю запит за допомогою dig, що відбувається? 0 мсек, тому він кешує правильно.
9 - Готові dnscrypt-proxy та dnsmasq налаштовані та працюють належним чином!
Примітка: Я хочу пояснити, після пошуку в декількох місцях, це не спрацювало у мене жодним чином, що вони показали у вікі arch, іспанська версія погано перекладена (буде питання, чи хтось добре перекладе, або я зроблю це в якийсь момент), тому я використав версію в Англійська. Тож я в основному покладався на згадану вікі, всі кредити їм. У цьому випадку це кроки, які я використовував, і це спрацювало для мене.
Будь-які запитання чи незручності, які вони мені повідомили, і ми будемо говорити про це, поки це не спрацює!
Цілі обійми! 😀
Я не помічаю різниці з dnsmasq, можливо, з більшою кількістю користувачів кеш буде працювати, принаймні лише на моєму комп'ютері я не бачив змін у швидкості.
копати час із і без dnsmasq залишатися колишніми, можливо хтось знає про інший метод і поділитися ним.
привіт
як видно на екрані, ви можете побачити БАГАТО різниці, я думаю, це буде залежати і від пропускної здатності ... 🙂
Вкладене зображення:
imgur .com / 9RQ7yhF.png
Скільки часу є dns-адреси в кеші за допомогою dnsmasq? Я пам’ятаю, спробував це деякий час тому, і через кілька хвилин, 10 або 5, dnsmasq все забуває
Я насправді не довідався, що ... хороший момент. З нею проконсультуються, можливо, якийсь науковець знає і відповість нам 🙂
Привіт, коли я даю йому як root "systemctl start dnsmasq", я отримую повідомлення про помилку, коли я даю команду "systemctl status dnsmasq.service", це я отримую:
● dnsmasq.service - легкий DHCP-сервер і кешування DNS
Завантажено: завантажено (/usr/lib/systemd/system/dnsmasq.service; увімкнено; попередньо встановлене значення постачальника: вимкнено)
Активний: не вдалося (Результат: код виходу) з понеділка 2016-03-07 11:41:41 ART; 18 років тому
Документи: man: dnsmasq (8)
Процес: 7747 ExecStart = / usr / bin / dnsmasq -k –enable-dbus –user = dnsmasq –pid-файл (код = вийшов, статус = 2)
Процес: 7742 ExecStartPre = / usr / bin / dnsmasq –test (код = вийшов, статус = 0 / УСПІХ)
Основний PID: 7747 (код = вийшов, статус = 2)
Вівторок 07 11:41:41 Wisdom systemd [1]: Запуск полегшеного DHCP та кешування DNS-сервера…
Вівторок 07 11:41:41 Wisdom dnsmasq [7742]: dnsmasq: перевірка синтаксису OK.
Вівторок 07 11:41:41 Wisdom dnsmasq [7747]: dnsmasq: не вдалося створити прослуховувальний сокет для порту 53: Адреса вже використовується
Вівторок 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Вийшов основний процес, код = вийшов, статус = 2 / НЕПРИМІТКА
Вівторок 07 11:41:41 Wisdom systemd [1]: Не вдалося запустити полегшений DHCP та кешування DNS-сервера.
Вівторок 07 11:41:41 Система мудростіd [1]: dnsmasq.service: Підрозділ увійшов у невдалий стан.
Вівторок 07 11:41:41 Wisdom systemd [1]: dnsmasq.service: Помилка результату 'код виходу'.
Що я повинен зробити? Дякую.
Я виконав інструкції до листа, перевірте оригінальний підручник у своєму блозі. Я також залишив відео.
@ice ice, порівнюючи цю публікацію та ваше відео, зроблене на ній, я бачу, що в кроці 4 написано тут помилку. І помилка полягає в тому, що файл, який потрібно редагувати, не "systemctl edit dnscrypt-proxy.service –full", а повинен бути відредагований "systemctl edit dnscrypt-proxy.socket –full". (Зверніть увагу, що замість .service ви повинні написати .socket).
Ось чому @wisse wisse отримує це повідомлення про помилку, коли хоче запустити службу dnsmasq (оскільки те ж саме трапилось і зі мною).
Привіт!