Небольшое HOW-TO на тему подмены/перехвата/логирования DNS запросов со стороны провайдера. Обойти этот неприятный момент нам поможет связка dnscrypt-proxy + dmsmasq. Покажу как настроить на примере Arch Linux.
1. Для начала нам понадобится установить нужные пакеты:
2. Далее редактируем файл /etc/resolv.conf меняем адрес nameserver на 127.0.0.1
3. Запрещаем изменения на файл /etc/resolv.conf
4. По желанию правим конфиг dnscrypt-proxy.socket и меняем там порты с 53 на 40 например.
5. Правим конфиг /etc/dnscrypt-proxy.conf, чтоб указать там сервер DNS. Адрес сервера выбираем из файла /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
и вписываем его в конфиг после ResolverName
6. Правим конфиг /etc/dnsmasq.conf , дописываем в самом конце
не забывайте указать правильный порт из пункта 4.
7. Далее активируем службы при загрузке системы
и запускаем их
8. Перезапускаем NetworkManager или то, чем вы пользуетесь
9. Проверяем доступность интернета
10. И на последок можем проверить результат на сайте
Всем спасибо за внимание.
1. Для начала нам понадобится установить нужные пакеты:
Код:
# pacman -S dnscrypt-proxy dnsmasq
2. Далее редактируем файл /etc/resolv.conf меняем адрес nameserver на 127.0.0.1
![2017-10-04-005241_679x745_scrot.png 2017-10-04-005241_679x745_scrot.png](https://codeby.net/data/attachments/9/9438-ce87e84ce7b7d16d9d7e8d1281664e12.jpg)
3. Запрещаем изменения на файл /etc/resolv.conf
Код:
# chattr +i /etc/resolv.conf
4. По желанию правим конфиг dnscrypt-proxy.socket и меняем там порты с 53 на 40 например.
Код:
# systemctl edit dnscrypt-proxy.socket --full
5. Правим конфиг /etc/dnscrypt-proxy.conf, чтоб указать там сервер DNS. Адрес сервера выбираем из файла /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
Код:
# localc /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
![2017-10-04-002624_679x745_scrot.png 2017-10-04-002624_679x745_scrot.png](https://codeby.net/data/attachments/9/9434-d2478de3eff1e18ca83904f691eba598.jpg)
![2017-10-04-002707_679x745_scrot.png 2017-10-04-002707_679x745_scrot.png](https://codeby.net/data/attachments/9/9435-4cfa1893e29324d838a5119df5a69e08.jpg)
6. Правим конфиг /etc/dnsmasq.conf , дописываем в самом конце
Код:
no-resolv
server=127.0.0.1#40
listen-address=127.0.0.1
7. Далее активируем службы при загрузке системы
Код:
# systemctl enable dnscrypt-proxy
# systemctl enable dnsmasq
Код:
# systemctl start dnscrypt-proxy
# systemctl start dnsmasq
8. Перезапускаем NetworkManager или то, чем вы пользуетесь
Код:
# systemctl restart NetworkManager
9. Проверяем доступность интернета
![2017-10-04-003657_1052x452_scrot.png 2017-10-04-003657_1052x452_scrot.png](https://codeby.net/data/attachments/9/9436-17f8e3378eefda97d4ad2c6e9a5c9446.jpg)
10. И на последок можем проверить результат на сайте
Ссылка скрыта от гостей
![2017-10-04-003919_1366x768_scrot.png 2017-10-04-003919_1366x768_scrot.png](https://codeby.net/data/attachments/9/9437-6df1842aa6f2deb4696bc9d38bfe2ff4.jpg)
Всем спасибо за внимание.
Последнее редактирование модератором: