Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Разное > Курилка

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2019, 17:39   #1
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Ограничение доступа к сайтам на OpenWRT

Нигде не нашел сабжа с белым листом и удобной настройкой. Например показывать последние 20-30 заблокированных запросов и добавлять в белый лист одним кликом.
Есть AdBlock, но его (в дефолтном исполнении) нельзя привязать к определенному MAC'у
Нет ли желающих поразмышлять над реализацией и интеграцией в Luci?
Tohin вне форума   Ответить с цитированием
Старый 03.04.2020, 21:14   #2
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию

Появилась мысль. на lan поднимаем виртуальный интерфейс на котором запускается вторая копия dnsmasq с альтернативным конфигом.
Для dhcp клиентов можно задать второй интерфейс, который будет возвращать страницу заглушку с локального uhttpd о том что доступ заблокирован.
На заглушке сделать кнопку "запросить доступ", которая пишет в лог запрошенный hostname и mac клиента. В люсю добавить страничку с обработкой этих запросов.
Файерволом заблочить передачу наружу запросов на 53 порт.
Пока ни разу не представляю как все это реализовать.
1. Сложность с IPv6. виртуальный интерфейс должен подхватывать и адрес 6й версии, но он зависит от того что мне выдал провайдер, я создал интерфейс br-lan.1, попытался получить на него адреса с br-lan с помощью udhcpc, но он не подхватывается. подозреваю что что-то делаю не так...
2. у штатного dnsmasq в openwrt запутанный init.d скрипт. в котором я не нашел ссылку на /etc/config/dnsmasq. как правильно запустить его второй раз в системе с указанием пути к альтернативному конфигу?
3. ...следующие вопросы буду задавать по мере понимания ответов на предыдущие...

Последний раз редактировалось Tohin; 04.04.2020 в 20:26.
Tohin вне форума   Ответить с цитированием
Старый 04.04.2020, 20:45   #3
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию

Так. а тут буду отвечать на свои вопросы.
1. Поднимаем второй ip в локалке. без vlan
/etc/config/network
Код:
config interface 'Virtual'
        option proto 'static'
        option ipaddr '192.168.1.10'
        option netmask '255.255.255.0'
        option ip6addr 'fd12:3456:789a:1::1'
        option ifname 'br-lan'
Tohin вне форума   Ответить с цитированием
Старый 05.04.2020, 00:11   #4
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию

Настройка DNS для host выглядит заморочно:
/etc/config/dhcp
Код:
config host
        option name 'test'
        option mac 'A0:B6:C6:0B:2D:9E'
        option ip '192.168.1.154'
        option tag 'test'
/etc/dnsmasq.conf
Код:
dhcp-option=net:test,6,192.168.1.2
Странно, но на опцию IPv6 матерится и не стартует:
dhcp-option=net:test,option6:6,2620:119:35::3 5,2001:4860:4860::8888

UPD: Оказывается dnsmasq в качестве DHCP сервера работает только на IPv4. а на IPv6 трудится odhcpd. Что за жесть?

Последний раз редактировалось Tohin; 05.04.2020 в 17:51.
Tohin вне форума   Ответить с цитированием
Старый 28.02.2021, 20:08   #5
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию

Вроде получилось. Криво конечно.

Развернуть для просмотра

Созданы правила iptables (все строки надо повторять для каждого фильтруемого устройства):
Заблокирован трафик IPv6 через web Luci
Код:
	IPv6-traffic
	From any host in lan with source 00:00:00:00:00:01
	To any host in wan	
	Refuse forward
Добавлен редирект на нестандартный порт dns:
Код:
iptables -t nat -I PREROUTING  -i br-lan -m mac --mac-source 00:00:00:00:00:01 -p udp -m udp --dport 53 -j REDIRECT --to-port 585 #Повторить строки для всех фильтруемых устройств



Создана страница заглушка для заблокированных сайтов:
Код:
/etc/config/uhttpd
config uhttpd 'second'

        list listen_http       '0.0.0.0:80'
        list listen_https       '0.0.0.0:443'
        list listen_http '[::]:80'
        list listen_https '[::]:443'
       # Server document root
        option home             '/mnt/www/uhttpd'
        option error_page  '/index.html'
        option rfc1918_filter '1'
        option max_requests '3'
        option cert             '/etc/uhttpd.crt'
        option key              '/etc/uhttpd.key'
        option cgi_prefix       '/cgi-bin'
        option script_timeout   '60'
        option network_timeout  '30'
        option tcp_keepalive    '1'


Создан конфиг для фэйкового ДНС сервера
/etc/dnsmasq2.conf

Код:
# fake dns for parent filter

resolv-file=/tmp/resolv.conf.auto
user=dnsmasq
group=dnsmasq
log-queries
log-facility=/var/log/dnsmasq.log
no-poll
domain-needed
bogus-priv
#listen-address=192.168.1.10
cache-size=150

#allowed sites

server=/yandex.ru/#
server=/googleapis.com/#
server=/wikipedia.org/#
server=/mos.ru/#
server=/dnevnik.ru/#
server=/microsoft.com/#
server=/google.com/#


#restrict all other
address=/#/192.168.1.1
запуск второго ДНС
Код:
/usr/sbin/dnsmasq -C /etc/dnsmasq2.conf  -x /var/run/dnsmasq/dnsmasq.restrict.pid -p 585 -k --log-facility=/mnt/data/dns-logs/dnsqueres.log&
[свернуть]

Косяки:
Почему-то не логируются запросы.
Нет удобного веб-интерфейса.

Очень интересно как это реализовано в заводских прошивках роутеров.
Tohin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:03. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика