Добрый день.
Сломал голову - нужна помощь.
Необходимо закрыть ребенку выход с планшета на youtube и play.google. Только с этого устройства, поэтому штатный wl500gl URL-фильтр (1.9.2.7-rtn-r4923) не работает.
Нашел описание функциональность netfilter/string. Правило не добавляется:
iptables -A FORWARD -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP
No chain/target/match by that name
Порылса по форумам, откопал, что в ядре не хватает модулей:
xt_string.ko
ts_lmp.ko
Скачал доп.модули с https://code.google.com/p/wl500g/downloads/list.
вставил usb-flash накопитель. Все туда скачнул. Перед тем как править post-firewall решил поэкспериментировать.
Добавил модули (insmod) прямо из /tmp/mnt/disca_1/. Вроде бы все ок:
[admin@WL-001BFC918E51 disca_1]$ lsmod|egrep "xt|ts"
xt_string 880 1
ts_kmp 1520 1
iptables -A FORWARD -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP
отрабатывает без ошибок
новый маршрут появляется в таблице маршрутов
[admin@WL-001BFC918E51 disca_1]$ iptables -L FORWARD |grep "vkon"
DROP all -- anywhere anywhere STRING match "vkontakte.ru" ALGO name kmp TO 65535
но ничего не работает!!!
я даже пытался запихнуть правило под первым номером и добавить определенный source-ip
iptables -I FORWARD 1 -s 192.168.1.10 -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP
опять безрезультатно.
при этом такое правило
iptables -I FORWARD 1 -s 192.168.1.10 -j DROP
отрабатывает нормально (с указанного IP-адреса никуда достучаться нельзя)
в чем может быть дело? я правильно понимаю, тто если модуль ядра подгрузился без ошибок, то с ним все в порядке? Тогда в чем моя ошибка? Какая-то мистика...
Спасибо
DIR-320 & RTN-r3297 from USB>r3478>r3539>r3722>r3815>r3877>r4051>r4990>r5163
vkontakte - это готовый пример (http://sudouser.com/blokirovka-nezhe...-iptables.html). Мне так копипастить проще было. Для эксперимента. Но эксперимент (пока) не выходит. У меня уже руки опустились.
редирект на vk.com в данном случае непринципиален. Ожидается, что будет "резаться" http/get содержащий "vkontakte". До редиректа на vk.com доходить не должно.
Эврика!
в случае с NAT работает вот это:
iptables -t mangle -I PREROUTING 1 -s 192.168.1.189 -m string --string "yandex" --algo kmp --to 65535 -j DROP
Подстава с HTTPS (с использованием которого работают все сервисы гугл). Здесь, как выяснилось, использование string бесполезно. Контент весь шифрованный. Так шо будем думать дальше...
можете посоветовать годный вариант для Wl-500gp?
еще рассматриваю вариант с dns-сервером. Если есть такие, которые могут возвращать разные адреса в зависимости от ip-источника (а если поддерживает разне правила для разного времени суток, то вообще отлично), то такое тоже сгодится, я думаю. можете что-нибудь посоветовать?
Toxa79, посмотрите тему по фильтрации контента
всем привет.
пытаюсь начать с простейшей фильрации пакетов с помощью iptables -m string и сразу косяки.
завел post-boot.
#!/bin/sh
KVER=$(/bin/uname -r)
DIRM=/opt/lib/modules/${KVER}
FVER=$(cat /.version)
case "${KVER}" in 2.6*)
CPUV=$(sed -n '/.*MIPS.*74K.*/p' /proc/cpuinfo)
if [ -n "${CPUV}" ]; then MVER=-MIPS32r2; else MVER=-MIPS32r1; fi
;;esac
MDIR=${DIRM}_${FVER##*-rtn-}
iptables -t mangle -I PREROUTING 1 -s 192.168.1.10 -p tcp --dport https -m time --timestart 7:00 --timestop 23:00 -j DROP
cd ${MDIR}/kernel/net/netfilter
insmod xt_string.ko
cd ${MDIR}/kernel/lib
insmod ts_kmp.ko
iptables -t mangle -I PREROUTING 1 -s 192.168.1.10 -m string --string "video.yandex" --algo kmp --to 65535 -m time --timestart 7:00 --timestop 23:00 -j DROP
а ts_kmp - не подгружается! При этом если самому ручками выполнить (из под admin) post-boot, то все отлично прогружается. В чем косяк?
1) где лежит post-boot?
2) почему модули в /opt/lib/modules? У меня в /lib/modules
3) существует ли на момент выполнения скрипта каталог /opt/lib ? Ведь в /opt монтируется внешний диск. Если в скрипте задействован внешний диск, то правильней, наверно, всё это в post-mount запихнуть.
WL500gp 1.9.2.7-d-r2624, Optware.
DIR-320 & RTN-r3297 from USB>r3478>r3539>r3722>r3815>r3877>r4051>r4990>r5163
на прошивке 5110 поймал какие-то непонятные глюки
1. mount.cifs до этого работавший без проблем много лет начал вызывать Segmentation fault и соответственно перестали монтироваться шары
2. роутер не реагирует на команду reboot ни в консоле, ни из вэб морды