На своём роутере (ASUS RT-N66U) я попытался заблокировать DNS запросы для телевизора Самсунг:
▶
Но блокировка не сработала. Причина довольно смешная:
Https webpages cannot be filtered.
Я подумал, что может это ограничение только из-за того, что мой роутер не совсем новый. В надежде, что у новых моделей этой проблемы нет, я почитал инструкцию к одному из самых дорогих роутеров ASUS — там было то же самое!
Тогда я решил попробовать заблокировать эти сайты через dnsmasq, подключившись к роутеру через ssh.
- Изменяем файл конфигурации dnsmasq:
nano /etc/dnsmasq.conf
/etc/dnsmasq.confaddress=/ya.ru/127.0.0.1
- Проверяем, все ли настройки корректные:
dnsmasq --test
dnsmasq: syntax check OK.
- Узнаём PID этого процесса:
ps | grep dnsmasq
19528 admin 1524 S grep dnsmasq 21071 nobody 1288 S dnsmasq --log-async
- Убиваем этот процесс:
kill 21071
- Перезапускаем его (хотя может 2-4 пункты и не нужны):
service restart_dnsmasq
Done.
Ничего не получилось.
Поэтому для роутера ASUS RT-N66U пойду другим путём. На нём установлена прошивка Merlin — это модифицированная стоковая прошивка. Нам нужна настройка для изменения файлов конфигурации.
1. Для начала нужно активировать эту функцию:
▶ ▶ ▶ [ ] ▶
2. Поскольку мне не нужно заменять файл конфигурации dnsmasq, а лишь дополнить его, я изменю файл, с окончанием .add:
nano /jffs/configs/dnsmasq.conf.add
conf-file=/jffs/configs/blocklist.conf
3. Создадим отдельный файл со списком заблокированных доменов:
nano /jffs/configs/blocklist.conf
address=/osb-apps.samsungqbe.com/
address=/osb-v1-alb.samsungqbe.com/
address=/osb-v2.samsungqbe.com/
address=/osb-apps-v2.samsungqbe.com/
address=/osb-auth-eusvc-v2.samsungqbe.com/
address=/lcprd1.samsungcloudsolution.net/
address=/d7luqmstmj331.cloudfront.net/
address=/mediaservices.cdn-apple.com/
address=/eu-auth2.samsungosp.com/
address=/otn1.samsungcloudcdn.com/
address=/www.samsungotn.net/
address=/samsungcloudsolution.net/
address=/d1oxlq5h9kq8q5.cloudfront.net/
4. Проверяем, все ли настройки корректные:
dnsmasq --test
dnsmasq: syntax check OK.
5. Перезапускаем службу:
service restart_dnsmasq
Done.
7. Проверим, сработала ли блокировка:
nslookup osb-apps.samsungqbe.com
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost.localdomain
nslookup: can't resolve 'osb-apps.samsungqbe.com'
Если бы настройки не сработали, ответ был бы примерно такой:
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost.localdomain
Non-authoritative answer:
Name: osb-apps.samsungqbe.com
Addresses: 18.153.6.82
3.120.101.141
52.28.78.142
52.57.178.187
54.93.137.194
52.29.76.141
35.158.219.72
18.153.6.78
Расширенные настройки
По-умолчанию у моего роутера выставлен DNS-сервер вручную (я указал адреса Семейного DNS, чтобы блокировать не только рекламу, но и контент для взрослых):
▶ ▶ ▶ ▶
Connect to DNS Server automatically = No
DNS Server1 = 94.140.14.15
DNS Server2 = 94.140.15.16
Т.е. по-умолчанию, для всех клиентов сети выдаются адреса dns-сервера AdGuard Семейный — там блокируется не только реклама, но и доступ к «взрослым» сайтам, что удобно, если к сети цепляется устройство ребёнка. Я бы и сам использовал эти настройки, но мне неудобно, что часто в youtube из-за этого блокируются комментарии к видео. Поэтому я настрою для своих устройств исключения.
Полный список опций для настроек DHCP в dnsmasq по этой ссылке. Меня интересует следующая опция:
6 dns-server
Нам она пригодится для такого правила:
# Specify an option which will only be sent to the "default" network
# (see dhcp-range for the declaration of the "default" network)
# Note that the tag: part must precede the option: part.
dhcp-option = tag:default, option:dns-server, 94.140.14.14
Теперь этот тэг можно использовать здесь:
# Send extra options which are tagged as "default" to any machine whose
# MAC address matches the pattern.
dhcp-mac=set:default,8E:F3:76:4B:9C:C4
В этом случае для клиентского устройства, с указанным MAC-адресом, будет выдан вместо дефолтового адреса DNS-сервера другой адрес: 94.140.14.14.
Полный файл у меня получился такой (комментарии в файле можно удалить, это я для себя оставил):
# Specify an option which will only be sent to the "default" network
# (see dhcp-range for the declaration of the "default" network)
# Note that the tag: part must precede the option: part.
dhcp-option = tag:default, option:dns-server, 94.140.14.14
# Send extra options which are tagged as "default" to any machine whose
# MAC address matches the pattern.
dhcp-mac=set:default,E8:3F:67:4B:9C:C4
# Include another lot of configuration options.
conf-file=/jffs/configs/blocklist.conf
Не проверял, но скорее всего можно указать не только основной, но и альтернативный DNS-сервер:
dhcp-option = tag:default, option:dns-server, 94.140.14.14, 94.140.15.15
После изменения файла, необходимо сделать его проверку и перезапустить службу:
dnsmasq --test
dnsmasq: syntax check OK.
service restart_dnsmasq
Done.
Бонус
В п.2 мы создали конфигурационный файл, который стартует при запуске роутера. Аналогичным образом можно создать файл-скрипт профиля (profile.add), который будет стартовать при логине по SSH.
export PS1="\[\e[32m\][\u@\h] \[\e[36m\]\w\[\e[37m\]> \[\e[m\]"
Пока мне не нужны alias’ы, поэтому я настроил лишь внешний вид командной строки и её цвет:
Игнорировать клиента с MAC-адресом
# Never offer DHCP service to a machine whose Ethernet
# address is 11:22:33:44:55:66
dhcp-host=11:22:33:44:55:66,ignore
Блокировать ДЗЕН-видео
Блокирую в основном для телефона ребёнка, а не для телека.
Тут я не нашёл изысканного способа, поэтому блокировал по имени сервера (не знаю, все ли адреса используются, поэтому список огромный)…
address=/s3.dzeninfra.ru/
address=/1.hot-video.dzeninfra.ru/
address=/2.hot-video.dzeninfra.ru/
address=/3.hot-video.dzeninfra.ru/
address=/4.hot-video.dzeninfra.ru/
address=/5.hot-video.dzeninfra.ru/
address=/6.hot-video.dzeninfra.ru/
address=/7.hot-video.dzeninfra.ru/
address=/8.hot-video.dzeninfra.ru/
address=/9.hot-video.dzeninfra.ru/
address=/10.hot-video.dzeninfra.ru/
address=/11.hot-video.dzeninfra.ru/
address=/12.hot-video.dzeninfra.ru/
address=/13.hot-video.dzeninfra.ru/
address=/14.hot-video.dzeninfra.ru/
address=/15.hot-video.dzeninfra.ru/
address=/16.hot-video.dzeninfra.ru/
address=/17.hot-video.dzeninfra.ru/
address=/18.hot-video.dzeninfra.ru/
address=/19.hot-video.dzeninfra.ru/
address=/20.hot-video.dzeninfra.ru/
address=/21.hot-video.dzeninfra.ru/
address=/22.hot-video.dzeninfra.ru/
address=/23.hot-video.dzeninfra.ru/
address=/24.hot-video.dzeninfra.ru/
address=/25.hot-video.dzeninfra.ru/
address=/26.hot-video.dzeninfra.ru/
address=/27.hot-video.dzeninfra.ru/
address=/28.hot-video.dzeninfra.ru/
address=/29.hot-video.dzeninfra.ru/
address=/30.hot-video.dzeninfra.ru/
address=/31.hot-video.dzeninfra.ru/
address=/32.hot-video.dzeninfra.ru/
address=/33.hot-video.dzeninfra.ru/
address=/34.hot-video.dzeninfra.ru/
address=/35.hot-video.dzeninfra.ru/
address=/36.hot-video.dzeninfra.ru/
address=/37.hot-video.dzeninfra.ru/
address=/38.hot-video.dzeninfra.ru/
address=/39.hot-video.dzeninfra.ru/
address=/40.hot-video.dzeninfra.ru/
address=/41.hot-video.dzeninfra.ru/
address=/42.hot-video.dzeninfra.ru/
address=/43.hot-video.dzeninfra.ru/
address=/44.hot-video.dzeninfra.ru/
address=/45.hot-video.dzeninfra.ru/
address=/46.hot-video.dzeninfra.ru/
address=/47.hot-video.dzeninfra.ru/
address=/48.hot-video.dzeninfra.ru/
address=/49.hot-video.dzeninfra.ru/
address=/cdn.dzen.ru/
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024