PDA

Bekijk de volledige versie : Вопросы по iptables и модулям ядра



someoneelse
17-04-2011, 13:48
Перед пунктом 4.2 How-To (http://www.wl500g.info/showthread.php?p=226318&highlight=menuconfig#post226318) выполнить:

$ cd ./broadcom/src/linux/linux-2.6
$ make menuconfig
и включить нужные модули. После окончания сборки модули будут в составе готового архива модулей.

СПАСИБО, ryzhov_al

только что увидел ответ, и уже успел написать mini-howto для ребят типа меня, кто столкнулся с подобной проблемой. Вот оно



Компилирование модулей ядра
а конкретно md.ko md-mod.ko linear.ko

keywords: как скомпилировать модуль ядра компиляция модуля module compile raid md.ko md-mod.ko linear.ko

Введение.

Поменял роутер с dir-32 на rt-n16. Еще на dir-320, я поразился неродной прошивке на основе linux. Хоть и пользуюсь linux уже 10 лет, все равно остаюсь чайником - прогресс несется. Могу про себя сказать, что я уверенный пользователь linux.

От dir-320 остался usb-hub, а у меня как раз есть 2 флешки на 8гб, надо признаться медленные на запись - тестил в windows xp/victoria. Возникла потребность в одном пространстве больше, чем 8гб, для того, чтобы положить на них torrent. Мой torrent client на роутере transmission. Погуглив немного, оказалось, что мне поможет утилита mdadm и режим linear. ipkg сказал, что mdadm есть в пакетах для роутера, я улыбнулся и установил. Переразбил флешку на 2 раздела - sda1(ext3), sda2(пространство для массива). Попросил mdadm собрать массив коммандой:


mdadm --create /dev/md0 --level=linear --force --raid-devices=1 /dev/sda2

mdadm сказал, что нет такого устройства. Погуглив оказалось, что мне нужен драйвер md.ko для ядра.
Полез в пакет драйверов от моей прошивки - драйвера нет.
Искал просто сам бинарный драйвер - никто не выложил.
Гуглил интернет, обыскал весь wl500g.info на предмет компиляция модуля ядра.
Нашел чудный линк
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Еле-еле собрал прошивку, пару мест в этом howto. Скрипт, на выходе дает дополнительные модули + готовую прошивку(!) Очень это меня поразило. Все пакеты заняли 800МБ, а я в свое время пожадничал место для юбунты, поэтому пришлось вспоминать, как монтировать луп-девайсы, которые лежат в windows разделе. У моего старенького ноутбука заняло 25 минут, скомпилировать прошивку и модули. Но, в папке модулей md.ko не оказалось.
Опять гуглил интернет, обыскал весь wl500g.info на предмет компиляция модуля ядра.
По итогам, не нашел ничего конкретного. Самое конкретное, что попалось это вот это высказывание:


Поскольку никакой конфигурялки при сборке нет, а мне нужен дополнительный модуль (cdc_ether), то я поступил так: собрал прошивку, потом пошел в директорию с ядром, и через make menuconfig включил нужное мне. После чего пересобрал прошивку вновь.

Вот это чистая удача. Решил написать свое mini-howto для тех ребят, кому понадобится собрать модули ядра для mips, входящие в основное ядро.

У меня стоит asus rt-n16 прошивка 1.9.2.7-rtn-r2775, простенький usb hub Defender Quadro и две флешки от adata(a-data rb3 8gb и a-data pd16 8gb, обе после ремонта). Была еще A-Data C702 8gb, жалко потерял - самая быстрая на запись, что когда либо держал в руках. Ноутбук acer 5315 и ubuntu 10.10

КАК СОБРАТЬ МОДУЛЬ

Будем собирать md модули для ядра 2.6.22.19

Основная инструкция вот тут
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware

1.Берем компьютер с ubuntu10.10 на борту и загружаемся

2.Устанавливаем пакеты через Система->Администрирование->Менеджер Пакетов Synaptic

build-essential
libncurses5-dev (у меня их два разных почему-то, с одним не работало, пришлось установить и второй)
gawk
g++ (их было много разных установил просто с таким именем)
flex
bison
zlib1g-dev
subversion

3. Открывает окно консоли Приложения->Стандартные->Терминал

4. Проверяем что хвает места в домашней директори (800мб). Пишем команды в консоль без знака $(доллара) и жмем enter.

$ df -h
/dev/sda7 962M 389M 525M 43% /home

У меня осталось 525Мб - не хватит места для компиляции, я монтирую луп девайс, а Вы читайте дальше.

5. Создаем директорию в домашней папке compile и переходим в нее

$ mkdir ~/compile && cd ~/compile

6. Проходим по ссылке
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
и скачиваем из интернета прям в эту директорию
hndtools-mipsel-uclibc-4.3.5-3.tar.bz2 (там еще лежат разные версии, мне помогла эта)
и ядро linux-2.6.22.19.tar.bz2

7. Выполняем команды:

создаем цепочку директорий

$ mkdir -p broadcom/src/linux

распаковываем код ядра

$ tar -C broadcom/src/linux -jxvf linux-2.6.22.19.tar.bz2

делаем ссылочку

$ ln -sf ~/compile/broadcom/src/linux/linux-2.6.22.19 broadcom/src/linux/linux-2.6

распаковываем Toolchain

$ tar -vxjf hndtools-mipsel-uclibc-4.3.5-3.tar.bz2

добавляем путь к Toolchain (если закроете окно консоли, путь сотрется, нужно будет повторить команду)

$ export PATH=$PATH:~/compile/hndtools-mipsel-uclibc-4.3.5/bin

получаем исходники прошивки

$ svn checkout http://wl500g.googlecode.com/svn/branches/rt-n/ ~/compile/broadcom/src/1.9.2.7-rtn

8. Сборка и компиляция

переход в папку 1.9.2.7-rtn

$ cd ~/compile/broadcom/src/1.9.2.7-rtn

сборка

$ make kernel ; make

у меня появилось:

Sources prepared for compilation

переходим в подготовленную папку с исходниками

$ cd ../linux/linux-2.6

выбираем что компилировать

$ make menuconfig

Дальше по меню, мне нужно было
Device Drivers -> Multi-device support (RAID and LVM)->пробел->RAID support_пробел(чтобы буква М появилась рядом)->Linear (append) mode(M)
Жмем пробел у тех пунктов, что нужны, чтобы у них появились буквы М, это значит, что скомпилируется отдельным модулем
Когда все выбрали, что надо, жмем на пункт exit до вопроса
Do you wish to save your new kernel configuration?
жмем yes

переход в gateway

$ cd ../../gateway

просим скомпилировать только модули

$ make kernel-modules

Дальше модули компилируются под общую гребенку. На моем стареньком ноутбуке процесс занял 8мин.
После окончания компиляции переходим обратно

$ cd ../linux/linux-2.6

и ВУАЛЯ
забираем нужные модули

$ find -name *.ko

На этом все. Рад, если помогло.

Ghost_SS
17-07-2012, 19:21
Почему не кто не хочет ответить на вопрос о ДДОС как можно зашитить раутер.
Подскажите правила iptables для раутера прошивка от олега одна из последних.
Не уж так сложно помочь.


Вот что я нашел.
iptables -N syn-flood
iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP


Лимит на 20 запросов в секунду для интерфейса eth0
iptables --new-chain car
iptables --insert OUTPUT 1 -p tcp --destination-port 80 -o eth0 --jump car
iptables --append car -m limit --limit 20/sec --jump RETURN
iptables --append car --jump DROP


iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN SYN -m limit --limit 100/sec -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN SYN -j DROP


iptables -N SECURITY
iptables -A SECURITY -p tcp --syn -m limit --limit 5/s -j RETURN
iptables -A SECURITY -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 5/s -j RETURN
iptables -A SECURITY -p udp -m limit --limit 5/s -j RETURN
iptables -A SECURITY -p icmp -m limit --limit 5/s -j RETURN
iptables -A SECURITY -j DROP

iptables -A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
iptables -A SECURITY -p udp -m limit --limit 5/sec -j RETURN
iptables -A SECURITY -p icmp -m limit --limit 5/sec -j RETURN

Многие из них одно и тоже ..... подскажите что где .... и чего не хватает

tempik
17-07-2012, 19:48
Почему не кто не хочет ответить на вопрос о ДДОС как можно зашитить раутер.
Подскажите правила iptables для раутера прошивка от олега одна из последних.
Не уж так сложно помочь.

Может просто включить в веб-морде???
Internet Firewall -> Enable Dos protection

Ghost_SS
17-07-2012, 21:38
Может просто включить в веб-морде???
Internet Firewall -> Enable Dos protection

Нет не получится слишком жесткие правила. Сервера видят зайти не могут.

don-pedro
18-07-2012, 15:24
Добрый день. У меня проблема ДДОСят.. раутер RT-N16, прошивка 1.9.2.7-rtn-r4405, хочу реализовать защиту на рауторе не прибегая к доп машине на линухе. Подскажите правила.
RT-N16 - это и есть "машина на линухе".

Для начала нужно определить тип атаки (флуд канала, флуд стека, флуд прикладных сервисов) и понять, что именно следует защитить. Ясность в эти вопросы поможет внести, например, википедия.

Ghost_SS
19-07-2012, 19:44
RT-N16 - это и есть "машина на линухе".

Для начала нужно определить тип атаки (флуд канала, флуд стека, флуд прикладных сервисов) и понять, что именно следует защитить. Ясность в эти вопросы поможет внести, например, википедия.

Подскажи как это посмотреть, в раутере, как настроить логи, что в них искать, на какие пакеты смотреть, тежко с нуля это все смотреть... тем более времени нету, а сервера падают, пинг скачет и т.д....
Заранее спасибо. Я просто не знаю, с чего начать.. но думаю с логов..... но как их записать и какое правило писать для лога чтобы она нормальные пакеты не писало, ну наверное по количеству соединений отсеять.


RT-N16 - это и есть "машина на линухе". - именно по этому брал.
В линухах я новичок могу по мануалам сделать, но как я понял для готовых решений нужно патчить ядро, точнее для iptables+ раутер онли рид почти везде, да еще момент на старом дире 320 можнобыло штатный фтп настроить для просотра root (корневой директории прошивки) и лазить через аклпад и редактировать потом просто прошивал и норм. А тут странно не получается.

Ghost_SS
21-07-2012, 07:26
sysctl почему данная программа отсутствует в ядре прошивки?.... или я ее не нашел?

Увеличение очереди «полуоткрытых» TCP-соединений:

# sysctl -w net.ipv4.tcp_max_syn_backlog=1024

Уменьшение времени удержания «полуоткрытых» соединений:

# sysctl -w net.ipv4.tcp_synack_retries=1

Включение механизма TCP syncookies:

# sysctl -w net.ipv4.tcp_syncookies=1

Конкретно эти настройки интересуют.

lly
21-07-2012, 07:57
Ghost_SS
По соображениям места во флэше и отсутствия полноценного /etc + rc.init.d
Используйте прямую запись в /proc/net/

Если уж полезли в такие дебри, придётся вам почитать по настройкам ядра сильно побольше. В частности, в 2.6.22 syncookies реализованы не полностью.

Ghost_SS
21-07-2012, 08:50
Ghost_SS
По соображениям места во флэше и отсутствия полноценного /etc + rc.init.d
Используйте прямую запись в /proc/net/

Если уж полезли в такие дебри, придётся вам почитать по настройкам ядра сильно побольше. В частности, в 2.6.22 syncookies реализованы не полностью.

Лезу туда от безысходности.... дома как хобби развивал игровой портал, теперь пришло время когда меня стали замечать и не всегда это добрые люди. Вот и сижу уже неделю под ДОС или ДДОС времени не было. На мои посты не кто четко не отвечает. Иди читай и т.д. ну как бы получается я читаю а тут пишу так для развлечения. Пока по теме не кто не ответил.
Да и еще, если флеш 32 мб на RT-N16 то зачем урезать функционал? проц мощный памяти тоже достаточно. Так смысл?
Подскажите какой прошивкой лучше прошить RT-N16 для полного функцианала iptables

AndreyUA
06-08-2012, 05:44
Господа, пытаюсь сделать следующее

iptables -I FORWARD -s 192.168.1.3 -m string --string "vk.com" --algo kmp --to 65535 -j DROP

он мне отвечает

iptables: Invalid argument. Run `dmesg' for more information.


dmesg |tail
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
Adding 262136k swap on /opt/.swapfile. Priority:-1 extents:1 across:262136k
vlan2: add 01:00:5e:40:98:8f mcast address to master interface
vlan2: dev_set_allmulti(master, -1)
vlan2: dev_set_allmulti(master, 1)



lsmod |grep xt_
xt_hl 1440 0
xt_length 1088 0
xt_dscp 1504 0
xt_HL 1984 0
xt_connlimit 3616 0
xt_DSCP 2048 0
xt_quota 1408 0
xt_CLASSIFY 896 0
xt_webstr 3856 0
xt_recent 8400 0
xt_iprange 1440 0
xt_multiport 1696 0
xt_string 1312 0

Что не так?

theMIROn
07-08-2012, 11:36
Что не так?
зачем велосипед, когда все есть внутри?
https://code.google.com/p/wl500g/source/browse/trunk/rc/firewall_ex.c#1000

AndreyUA
07-08-2012, 12:51
зачем велосипед, когда все есть внутри?
https://code.google.com/p/wl500g/source/browse/trunk/rc/firewall_ex.c#1000А для отдельного айпи?
Даже дело не в этом. Что не так? И где посмотреть, что не так?

Ghost_SS
09-08-2012, 09:40
А мне такую штука надо. Кто знает почему не пашет?

ссылка на скрипт фаирвола круто... может стоило не отвечать вопросом на вопрос. Хотя бы номер строки.


-А INPUT -p udp -m udp -m string --hex-string "|FFFFFFFF56|" --algo kmp -j DROP

AndreyUA
09-08-2012, 10:25
А мне такую штука надо. Кто знает почему не пашет?

ссылка на скрипт фаирвола круто... может стоило не отвечать вопросом на вопрос. Хотя бы номер строки.


-А INPUT -p udp -m udp -m string --hex-string "|FFFFFFFF56|" --algo kmp -j DROP
Ссылка с номером строки, смотрите внимательно

#ifdef WEBSTRFILTER
if (nvram_match("url_enable_x", "1") && nvram_invmatch("url_date_x", "0000000")) {

timematch_conv(timef, "url_date_x", "url_time_x");
for (i = 0; i < nvram_get_int("url_num_x"); i++)
{
memset(nvname, 0, sizeof(nvname));
sprintf(nvname, "url_keyword_x%d", i);
filterstr = nvram_safe_get(nvname);
if (strncasecmp(filterstr, "http://", strlen("http://")) == 0)
filterstr += strlen("http://");
else
if (strncasecmp(filterstr, "https://", strlen("https://")) == 0)
filterstr += strlen("https://");
if (*filterstr)
{
fprintf(fp,
"-I FORWARD -p tcp %s -m webstr --url \"%s\" -j REJECT --reject-with tcp-reset\n",
timef, filterstr);
}
}
}
#endif

Ghost_SS
14-08-2012, 05:53
-А INPUT -p udp -m udp -m string --hex-string "|FFFFFFFF56|" --algo kmp -j DROP так все таки хекс как?... умеет он или нет?

пишет не найдет фаил iptables .. как подключить к ip тейблес необходимые библиотеки, что бы он --hex-string команду понимал.

хотелось бы чтобы string \hex-string \hashlimit работали.

второй раз поднимаю этот вопрос, а в ответ тишина.

П.С. не надо бездумных коментов. Кто точно знает как сделать отпишитесь.

AndreyUA
14-08-2012, 05:55
второй раз поднимаю этот вопрос, а в ответ тишина.

П.С. не надо бездумных коментов. Кто точно знает как сделать отпишитесь.Может потому, что никто не знает?

Ghost_SS
14-08-2012, 06:01
Жаль... ну уж за месяц не посетил сайт не одиз из разработчиков прошивки?... или они уже не читают темы?.... Жаль асус норм железка но прошивка хорошая, но для "домохозяек". DD-WRT тоже этого не умеет, придется микротик покупать....

П.С. пользуюсь прошивкой много лет, много чего нравиться но урезанный iptables, самый важный компонет (на мой взгляд) портит это прекрасное впечатление.

ryzhov_al
14-08-2012, 06:17
Жаль... ну уж за месяц не посетил сайт не одиз из разработчиков прошивки?... или они уже не читают темы?.... Жаль асус норм железка но прошивка хорошая, но для "домохозяек". DD-WRT тоже этого не умеет, придется микротик покупать....

П.С. пользуюсь прошивкой много лет, много чего нравиться но урезанный iptables, самый важный компонет (на мой взгляд) портит это прекрасное впечатление.
"Мне не отвечают" > "Здесь нет разработчиков" > "Мы все умрём". Не чувствуете ошибку в подходе?



-А INPUT -p udp -m udp -m string --hex-string "|FFFFFFFF56|" --algo kmp -j DROP так все таки хекс как?... умеет он или нет?

пишет не найдет фаил iptables .. как подключить к ip тейблес необходимые библиотеки, что бы он --hex-string команду понимал.
Откуда начинать цепочку рассуждений вам AndreyUA показал. Даже не допускаете мысли о том, что придётся разбираться самому. Почему?

Ghost_SS
14-08-2012, 06:48
1.Подход .... ммм... я бы не писал на форум целый месяц если бы разобраться смог сам. Структура папок отличается от линукс.
2. Показал..... что показал ???? я внятно сказал нет там таких модулей, далее вопрос как их туда прикрутить. А теперь по теме, попросил не флудить своими размышлениями о жизни, не надо казаться умнее чем вы есть. На то они и форумы, а не мануалы, что бы тут люди помоши просили в тупиковых ситуациях, или ты предлагаешь изучить всю прошивку, разобраться что куда, Мне заняться больше не чем? Или мне так в своей роботе отвечать? " Вы что не понимаете?.... вам же сказал куда смотреть..." ППЦ... люди вы забыли что такое форумы? Чего вы везде вопросом на вопрос отвечаете. Не знаете, не надо учить жить. Задал конкретный вопрос дайте конкретный ответ. По мануалам я и без вас разберусь просто времени больше уйдет, тогда смысл вашего форума?... или уровень домохозяек? установить приложение ппц сложно... скачать с рипазитория или на через флеш.... умерь - с этими вопросами вы помогаете, а когда заходит о более сложных вещах сразу все умные такие аж тошно. Еще раз повторяю не знаете, не надо учить жить вез вас знаю, можите помочь помогите, все остально флуд набивка сообшений.

П.С. надоело, все забыли для чего форум, что не надо бросать сообщения без финального ответа, если человек просит помощи (тем более вопрос не очень легкий) не надо его мануалы курить посылать.

Не хотите бесплатно помочь, скажите сколько будет стоить готовая прошивка с полноценным iptables.

AndreyUA
14-08-2012, 07:16
Я может сейчас буду писать банальности, но вы, похоже, не понимаете как здесь все устроено.
1. Вам здесь никто ничего не должен.
2. Отвечать или не отвечать - личное дело каждого.
3. Скажите спасибо разработчикам, что они вообще что-то где-то делают, вы им зарплату не платите и здесь не официальный форум техподдержки, где можно что-то требовать.
4. Если разработчикам, либо кому нибудь еще, будет интересен этот вопрос и им есть что сказать - они напишут. Если не напишут - не вам их напрягать, см. п. 3
5. С таким подходом как у вас, если мне надо выкопать картошку, то я должен отписаться на с/х форуме и люди подъедут и выкопают, а иначе они все сволочи, их форум мертв и я туда ни ногой.

ЗЫ Извините, ничего, что я не разобрался в проблеме и не выложил решение сюда? Меня теперь отсюда не уволят?

ryzhov_al
14-08-2012, 07:40
...или ты предлагаешь изучить всю прошивку, разобраться что куда, Мне заняться больше не чем? Или мне так в своей роботе отвечать? "Круто! Использовать iptables хочу, но разбираться не хочу, даже не проси.


П.С. надоело, все забыли для чего форум, что не надо бросать сообщения без финального ответа, если человек просит помощи (тем более вопрос не очень легкий) не надо его мануалы курить посылать.Вы путаете свободные технологии с халявой. Здесь никто никому ничего не обязан и всё делается на добровольной основе.


Не хотите бесплатно помочь, скажите сколько будет стоить готовая прошивка с полноценным iptables.Не хочу каждый раз рассказывать одни и те же вещи лишь потому, что вы не потрудились затратить своё время на решение своих проблем. D следующий раз будет стоить дорого, раз не хотите пять минут погуглить:

$ insmod /opt/lib/modules/2.6.22.19/kernel/net/netfilter/xt_string.ko
$ iptables -I INPUT -p tcp --dport 81 -m string --hex-string "|c802006a00000000000000008008000000000001|" --algo kmp -j DROP

AndreyUA
14-08-2012, 08:25
$ insmod /opt/lib/modules/2.6.22.19/kernel/net/netfilter/xt_string.ko
$ iptables -I INPUT -p tcp --dport 81 -m string --hex-string "|c802006a00000000000000008008000000000001|" --algo kmp -j DROP
У меня вот так ругается на строчку выше
iptables: Invalid argument. Run `dmesg' for more information.


lsmod |grep xt_
xt_string 1312 0
И в логе пусто. Хоть бы сказал, что ему нужно. А то молча инвалидом обзывает...

ryzhov_al, а у тебя это работает? Может, если да, то модули откуда? я беру модуль из прошивки. У тебя, как я понимаю, прошивка асусовская?

Ghost_SS
14-08-2012, 08:35
Гуглил " Установка модулей iptables", я на решение этих проблем потратил три недели и не смог прикрутить, я слаб в linux учу по мере времени, поэтому и обратился за помощью.
По поводу открытых технологий и ни кто ни кому не обязан.... Про технология это я знаю.. опенсорс вешь крутая.... по поводу
обязан не обязан - ммм а для чего еще тогда форум, ну не хочешь не отвечай правельно, зачем то жизни учить??.... я когда знаю как и что... всегда стараюсь давать развернутый ответ.... чтобы следующий человек когда читать будет понимал что автор пытался сказать.. или я поиском на форуме не воспользовался? .... вроде тему от начало до конца прошерстил не нашел. Тяжело разбираться в том в чего касаешься изредко.

СПАСИБО ЗА ПОМОЩЬ!

lly
14-08-2012, 08:38
У меня вот так ругается на строчку выше
iptables: Invalid argument. Run `dmesg' for more information.
Фича ядерного textsearch - он молча пытается подгрузить модули и сообщения об ошибке не выдаёт.
Однако в доке на iptables всё расписано - для "--algo kmp" нужен соответствующий модуль ядра ts_kmp.ko

P.S. А вот если доку не читать, то и получиться срач в теме :(

ryzhov_al
14-08-2012, 08:40
ryzhov_al, а у тебя это работает? Может, если да, то модули откуда? я беру модуль из прошивки. У тебя, как я понимаю, прошивка асусовская?У меня-то да, но я показывал работоспособность не на своём девайсе, а на одном DIR-320 с энтузиасткой прошивкой, к которому у меня есть SSH-доступ.

$ cat /.version
1.9.2.7-rtn-r4317M
$ iptables --version
iptables v1.4.3.2

Модуль - из архива модулей от соответствующей прошивки, в саму прошивку он не входит.


ЗЫ Правильно lly говорит, я забыл упомянуть подгрузку ts_kmp.ko

$ insmod /opt/lib/modules/2.6.22.19/kernel/lib/ts_kmp.ko

Ghost_SS
14-08-2012, 09:03
Фича ядерного textsearch - он молча пытается подгрузить модули и сообщения об ошибке не выдаёт.
Однако в доке на iptables всё расписано - для "--algo kmp" нужен соответствующий модуль ядра ts_kmp.ko

P.S. А вот если доку не читать, то и получиться срач в теме :(

Можно ссылку о каких доках речь?... я почитаю.

lly
14-08-2012, 09:09
Можно ссылку о каких доках речь?... я почитаю.
А пользование гуглом уже считается злом? Начинать с http://netfilter.org/projects/iptables/index.html и далее...

Ghost_SS
14-08-2012, 09:18
Читал. На полном linux все уже установлено, там я настроил но держать еще одну машину ради шлюза в домашних условиях - это круто, вот и решил на раутере защитку поднять. А тут засада, мало того что надо знать как работает iptables так еще и модули, и как их прикрутить.

AndreyUA
14-08-2012, 09:39
Фича ядерного textsearch - он молча пытается подгрузить модули и сообщения об ошибке не выдаёт.
Однако в доке на iptables всё расписано - для "--algo kmp" нужен соответствующий модуль ядра ts_kmp.ko

P.S. А вот если доку не читать, то и получиться срач в теме :(Спасибо за подсказку. Модули загружаются. Пока не блокирует, но там такой срач в iptables сейчас, что все может быть. приду домой - попытаюсь разобраться.

Ghost_SS
14-08-2012, 10:20
можно еще один тупой вопрос, где взять скомпилированое ядро нужной версии, чтобы модули совподали, (2.6.22.19).
http://www.kernel.org/pub/linux/kernel/v2.6/ тут как я понимаю исходники. А можно ссылку на скомпилированыое ? и еще xt_string.ko как подобрать? по версии iptables&

MercuryV
14-08-2012, 11:07
можно еще один тупой вопрос, где взять скомпилированое ядро нужной версии, чтобы модули совподали, (2.6.22.19).
http://www.kernel.org/pub/linux/kernel/v2.6/ тут как я понимаю исходники. А можно ссылку на скомпилированыое ? и еще xt_string.ko как подобрать? по версии iptables&
Забудьте про kernel.org
Ядро у вас "прибито гвоздями", является неотъемлемой частью прошивки.
Ищите готовые модули там же, где брали прошивку.
Например, для местных прошивок на офсайте (http://code.google.com/p/wl500g/downloads/list), см. Additional kernel modules

Ghost_SS
15-08-2012, 08:53
Всем спасибо, очень помогли все реализовал, осталось только прописать в авто загрузку и все!

П.С. Извините за резкость просто три недели, не мог догднать на линухе работало а на раутере нет=(...

xt_hashlimit.ko - этого модуля нет в modules-1.9.2.7-rtn-r4330-MIPS32r2 . Как быть если товарищ MercuryV говорит, что только модули с сайта прошивки подключаются?

lly
15-08-2012, 09:59
xt_hashlimit.ko - этого модуля нет в modules-1.9.2.7-rtn-r4330-MIPS32r2 . Как быть если товарищ MercuryV говорит, что только модули с сайта прошивки подключаются?
Никто не просил и не тестировал этот модуль, вот его и нет.

Вариантов, как всегда, два:

пересобрать прошивку самому, включив в конфиге ядра этот модуль
дождаться пока это сделает кто-либо другой и/или включим в сборку в транке

MercuryV
15-08-2012, 10:00
xt_hashlimit.ko - этого модуля нет в modules-1.9.2.7-rtn-r4330-MIPS32r2 . Как быть если товарищ MercuryV говорит, что только модули с сайта прошивки подключаются?
Не все возможные модули собираются "по умолчанию" вместе с прошивкой.
Правильный ответ на вопрос "как быть": собрать прошивку (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware) с нужными модулями.

UPD: начиная с r4542 (https://code.google.com/p/wl500g/source/detail?r=4542) сборка модуля hashlimit включена в конфиг.
В "ночных сборках", например тут (http://asus.vectormm.net/rtn/4543/), модуль появился в составе привычного архива.

Ghost_SS
16-08-2012, 17:50
iptables -A INPUT -p udp -m udp --dport 27015:38015 -m length --length 50 -m recent --set --name getchallenge_hlds
iptables -I FORWARD -p udp -m udp --dport 27016:27027 -m hashlimit --hashlimit 50/sec --hashlimit-burst 50 --hashlimit-mode srcip --hashlimit-name hlds -j ACCEPT

библиотеки length и hashlimit успешно добавлены, походу тут не хватает еще одной библиотеки
(П.С. научите как узнавать какая библиотека нужна для каких команд.)

гугл пробовал, то ли запрос не правильно ставлю то ли мозгом не вышел.

Все разобрался - с первым
insmod /opt/lib/modules/2.6.22.19/kernel/net/netfilter/xt_recent.ko

Со вторым правилом не понятно. Подскажите.

Может модуль который дал мистер MercuryV все таки не подошел, как проверить?

ryzhov_al
16-08-2012, 18:25
Со вторым правилом не понятно. Подскажите.Слабо распаковать все модули и пройтись по ним поиском?

$ find /opt/lib/modules/ -name *hl*
В противном случае придётся просить помощи раз в сутки. Как сейчас.

Ghost_SS
21-08-2012, 09:25
Слабо распаковать все модули и пройтись по ним поиском?

$ find /opt/lib/modules/ -name *hl*
В противном случае придётся просить помощи раз в сутки. Как сейчас.
Проверил ваш вариант, результат есть оба модуля. Как проверить работает или нет(вроде понятный простой вопрос) если работает
то что не во втором правиле. я распаковал все модули, там не было, hashlimit -мне дал митер MercuryV , за что ему большое спасибо.

Ну может кому это азбука, а мне тяжко, не которые вещи не понимаю, некоторые понимаю. Но прошивка отличается от линукс машины,
которую я успешно настроил. Теперь задача перенести все настройки и избавиться от одного лишнего ПК.
Как посмотреть хелп для heshlimit. Как-то случено получилось и все, может в синтаксисе проблема?

вот вывод комынды lsmod

Module Size Used by Tainted: P
xt_hashlimit 8400 0
ts_bm 2016 0
ts_kmp 1984 18
xt_string 1312 18
ntfs 116656 0
usb_storage 82688 1
sd_mod 23872 2
scsi_mod 92736 2 usb_storage,sd_mod
usblp 14000 0
ohci_hcd 19952 0
ehci_hcd 38224 0
usbcore 135296 5 usb_storage,usblp,ohci_hcd,ehci_hcd
nf_nat_ftp 2336 0
nf_conntrack_ftp 7552 1 nf_nat_ftp
pppoe 11392 2
pppox 2192 1 pppoe
wl 1634048 0
et 52608 0
igs 18544 1 wl
emf 21600 2 wl,igs
модуль вроде подключен правила не работают. Я полагаю может есть еще связанный с ним модуль?
Вопрос как посмотреть синтаксис старонних модулей снят : iptables -m hashlimit -h
в /proc/net нету ipt_hashlimit он появляется при добавлении правила или при подключении библиотеки?

парни, ну еще чуток подсобите, ну не осилю я пересборку ядра, не мой профиль. Что как быть с hashlimit?
странно что он с авто запуска не работает. Может действительно модуль не подходит?

lly
21-08-2012, 18:29
# insmod xt_hashlimit
# lsmod|grep hash
xt_hashlimit 6816 0

# ls -ld /proc/net/*t_hashlimit
dr-xr-xr-x 2 admin root 0 Dec 31 19:03 /proc/net/ip6t_hashlimit
dr-xr-xr-x 2 admin root 0 Dec 31 19:03 /proc/net/ipt_hashlimit
работоспособность самих правил не проверял, но в выводе iptables -v... отражается кол-во пакетов попавших под это правило.

Ghost_SS
28-08-2012, 18:30
# insmod xt_hashlimit
# lsmod|grep hash
xt_hashlimit 6816 0

# ls -ld /proc/net/*t_hashlimit
dr-xr-xr-x 2 admin root 0 Dec 31 19:03 /proc/net/ip6t_hashlimit
dr-xr-xr-x 2 admin root 0 Dec 31 19:03 /proc/net/ipt_hashlimit
работоспособность самих правил не проверял, но в выводе iptables -v... отражается кол-во пакетов попавших под это правило.
ls -ld /proc/net/*t_hashlimit - пишет нет фаила или деректории, и правила которые содержат -m hashlimit пишет ошибку при добавлении.
1.9.2.7-rtn-r4405 может у кого есть hashlimit для этой версии прошивки?


Не все возможные модули собираются "по умолчанию" вместе с прошивкой.
Правильный ответ на вопрос "как быть": собрать прошивку (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware) с нужными модулями.

UPD: начиная с r4542 (https://code.google.com/p/wl500g/source/detail?r=4542) сборка модуля hashlimit включена в конфиг.
В "ночных сборках", например тут (http://asus.vectormm.net/rtn/4543/), модуль появился в составе привычного архива.
Не заметил сообщение, спасибо=).... спасибо всем кто объяснил и помог. Пойду крутить и курить=)

Ghost_SS
01-09-2012, 08:14
а вот iptables -A FORWARD -p udp -m udp -m string --hex-string "|FFFFFFFF56|" --algo kmp -j DROP я полагаю не работает так как смотрю снифером а там пакеты с этой последовательностью, синтаксис проверил, в чем может быть причина... ?
Забивал правила в таблици INPUT FORWARD с параметром I (в начало списка) A (в конец списка)


Все работает. Просто очередность правил была не правильная. Всем спасибо

necrom
23-09-2012, 16:10
Народ а подскажите в какой секции network option можно найти ts_kmp.ko как модуль при сборке модулей ядра.

Ghost_SS
28-09-2012, 05:39
Народ а подскажите в какой секции network option можно найти ts_kmp.ko как модуль при сборке модулей ядра.

Не, не подскажу. Ты именно собрать хочешь?. Ради одного файла?

MercuryV
28-09-2012, 06:38
Народ а подскажите в какой секции network option можно найти ts_kmp.ko как модуль при сборке модулей ядра.

он вроде "из коробки" собирается
посмотрите в broadcom/src/gateway/mipsel-uclibc/modules/lib/modules/2.6.22.19/kernel/lib

sanc_6
25-11-2012, 22:01
Или точнее: как заблокировать доступ по всем портам к компьютерам при помощи iptables? Я так понимаю, что за пакеты в локальную сеть, по идее, должна отвечать цепочка FORWARD! Какие правила можно написать? В Интернете море всяких примеров, но я хотел бы посоветоваться непосредственно здесь, на форуме! Может кто-то озадачивался этой проблемой. Извините, если повторяюсь темой! Я бы хотел получить качественные ответы! Спасибо!

MercuryV
26-11-2012, 07:11
Или точнее: как заблокировать доступ по всем портам к компьютерам при помощи iptables? Я так понимаю, что за пакеты в локальную сеть, по идее ...
Включенный firewall на роутере уже блокирует доступ извне в локальную сеть, из коробки. Чтобы "разблокировать" доступ, нужно явно это задать в Virtual Server (перенаправление) или Virtual DMZ или руками в iptables.

Toxa79
17-03-2013, 11:17
Добрый день.
Сломал голову - нужна помощь.

Необходимо закрыть ребенку выход с планшета на 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-адреса никуда достучаться нельзя)

в чем может быть дело? я правильно понимаю, тто если модуль ядра подгрузился без ошибок, то с ним все в порядке? Тогда в чем моя ошибка? Какая-то мистика...

Спасибо

ConstAntz
17-03-2013, 12:49
Добрый день.
Сломал голову - нужна помощь.

Необходимо закрыть ребенку выход с планшета на youtube и play.google.
...

я даже пытался запихнуть правило под первым номером и добавить определенный source-ip

iptables -I FORWARD 1 -s 192.168.1.10 -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP
опять безрезультатно.

...

в чем может быть дело? я правильно понимаю, ...
Тогда в чем моя ошибка?

Спасибо

Ну так и закрывайте ему доступ на youtube и play.google,
vkontakte.ru тут при чем? кстати они переехали на vk.com ))

Toxa79
17-03-2013, 13:38
Ну так и закрывайте ему доступ на youtube и play.google,
vkontakte.ru тут при чем? кстати они переехали на vk.com ))

:)
vkontakte - это готовый пример (http://sudouser.com/blokirovka-nezhelatelnyx-url-s-pomoshhyu-iptables.html). Мне так копипастить проще было. Для эксперимента. Но эксперимент (пока) не выходит. У меня уже руки опустились.
редирект на vk.com в данном случае непринципиален. Ожидается, что будет "резаться" http/get содержащий "vkontakte". До редиректа на vk.com доходить не должно.

Toxa79
17-03-2013, 17:06
Эврика!
в случае с NAT работает вот это:
iptables -t mangle -I PREROUTING 1 -s 192.168.1.189 -m string --string "yandex" --algo kmp --to 65535 -j DROP

Toxa79
18-03-2013, 04:58
Подстава с HTTPS (с использованием которого работают все сервисы гугл). Здесь, как выяснилось, использование string бесполезно. Контент весь шифрованный. Так шо будем думать дальше...

don-pedro
18-03-2013, 06:39
Подстава с HTTPS (с использованием которого работают все сервисы гугл). Здесь, как выяснилось, использование string бесполезно. Контент весь шифрованный. Так шо будем думать дальше...
Вариант: поднять на роутере прокси, средствами iptables запретить подшефному девайсу весть трафик, кроме прокси, доступом к сайтам управлять средствами прокси.

Toxa79
19-03-2013, 08:09
Вариант: поднять на роутере прокси, средствами iptables запретить подшефному девайсу весть трафик, кроме прокси, доступом к сайтам управлять средствами прокси.

можете посоветовать годный вариант для Wl-500gp?

еще рассматриваю вариант с dns-сервером. Если есть такие, которые могут возвращать разные адреса в зависимости от ip-источника (а если поддерживает разне правила для разного времени суток, то вообще отлично), то такое тоже сгодится, я думаю. можете что-нибудь посоветовать?

MercuryV
19-03-2013, 09:34
Toxa79, посмотрите тему по фильтрации контента (http://wl500g.info/showthread.php?28971)

Toxa79
21-03-2013, 07:35
всем привет.
пытаюсь начать с простейшей фильрации пакетов с помощью 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, то все отлично прогружается. В чем косяк?

don-pedro
21-03-2013, 08:56
#!/bin/sh

...

KVER=$(/bin/uname -r)
DIRM=/opt/lib/modules/${KVER}


...

а ts_kmp - не подгружается! При этом если самому ручками выполнить (из под admin) post-boot, то все отлично прогружается. В чем косяк?
1) где лежит post-boot? :)
2) почему модули в /opt/lib/modules? У меня в /lib/modules
3) существует ли на момент выполнения скрипта каталог /opt/lib ? Ведь в /opt монтируется внешний диск. Если в скрипте задействован внешний диск, то правильней, наверно, всё это в post-mount запихнуть.

Toxa79
21-03-2013, 11:16
1) где лежит post-boot? :)
2) почему модули в /opt/lib/modules? У меня в /lib/modules
3) существует ли на момент выполнения скрипта каталог /opt/lib ? Ведь в /opt монтируется внешний диск. Если в скрипте задействован внешний диск, то правильней, наверно, всё это в post-mount запихнуть.

похоже, действительно /opt не подмонтировался. оказывается, xt_string.ko успешно подгружается из /lib/modules... а как залить новые модули в /lib/modules? у меня это read-only file-system

ConstAntz
21-03-2013, 13:56
#!/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, то все отлично прогружается. В чем косяк?

Не знаю зачем автору скрипта понадобилась переменная MDIR. Там, где cd ${MDIR}/, замените на cd ${DIRM}/, а модули оставьте в /opt/lib/итд. Естественно, при отсутствии /opt, скрипт теряет смысл.

AndreyPopov
16-05-2013, 23:03
на прошивке 5110 поймал какие-то непонятные глюки

1. mount.cifs до этого работавший без проблем много лет начал вызывать Segmentation fault и соответственно перестали монтироваться шары

2. роутер не реагирует на команду reboot ни в консоле, ни из вэб морды

Vampik
17-05-2013, 06:44
Скорее всего ошибка где-то у вас. Если у вас флешка или жесткий диск с программами из optware или entware - отключите их.
Уж что-что, а reboot сломаться не мог.

lly
17-05-2013, 07:19
на прошивке 5110 поймал какие-то непонятные глюки
Могу только добавить в 1001 раз: без информации на каком ближайшем предыдущем билде было нормально, это бесполезная информация.

AndreyPopov
17-05-2013, 10:32
на 5100 все работало.

проявилось одновременно на трех роутерах
wl-500gpv1
wl-500gpv2
rt-n15u


даже если проблема с флэшками, на которых optware стоит - то на 5100 и ранее все это работало.

lly
17-05-2013, 10:50
на 5100 все работало.
Есть возможность проверить ночную сборку 5104? Ошибки в сислоге?

Единственное, что могло повлиять - коммит 5104, но у себя на нескольких флэшках я проверял.

AndreyPopov
17-05-2013, 11:27
Есть возможность проверить ночную сборку 5104? Ошибки в сислоге?

Единственное, что могло повлиять - коммит 5104, но у себя на нескольких флэшках я проверял.

с reboot разобрался - он перестает работать именно после Segmantaion fault от mount.cifs

теперь пока прошью 5100.

------------------------------

прошил 5100 - mount.cifs отрабатывает нормально все шары подключаются.

сейчас попробую 5104 (хотя у vampik такой сборки нет). скачаю у vectormm
прошил 5104 от vectormm - mount.cifs отрабатывает нормально. шью 5110 от vectormm
(да уж, забыл что у старой вэб-морды проблемы с IE10 - перешиваю в Chrome)
5110 от vectormm - Segmantaion fault при mount.cifs!!!!!!!!!!!!!!

что-то закралось 5105-5110!!!!!! у меня такое впечатление, что 5107 и/или 5108????

lly
17-05-2013, 11:51
с reboot разобрался - он перестает работать именно после Segmantaion fault от mount.cifs

теперь пока прошью 5100.
А можно как-нибудь развернуть? Чтобы каждую частичку информации не приходилось тянуть клещами?
Вот мне например непонятно откуда был взят mount.cifs? Раз перестаёт работать reboot, значит проблема в ядре, а оно почти всегда отмечается в syslog. И т.п.


прошил 5104 от vectormm - mount.cifs отрабатівает нормально
Тогда под подозрением 5107, 5108

AndreyPopov
17-05-2013, 12:27
в System Log в вэб-морде никаких сообщений не видно.

mount.cifs тут на форуме как мне помнится кто-то скомпилил и выложил уже давненько лет 5 назад (или это был smbmount)

а может mount.cifs я выдернул потом из openwrt или dd-wrt. уже точно и не помню.

сейчас верну обратно везде 5100 и дам ссылку на mount.cifs

ftp://78.25.8.242/mount.cifs

кстати как побочный эффект не могу получить доступ к флэшке ни по ftp ни по samba - не пускает и все (это на 5110).

lly
17-05-2013, 13:51
mount.cifs тут на форуме как мне помнится кто-то скомпилил и выложил уже давненько лет 5 назад (или это был smbmount)

а может mount.cifs я выдернул потом из openwrt или dd-wrt. уже точно и не помню.

Ну в таком варианте возможностей для проявления проблем масса, и, самое главное, так и не понятно нафига он он нужен, если работает "mount -t cifs ..."


сейчас верну обратно везде 5100 и дам ссылку на mount.cifs

ftp://78.25.8.242/mount.cifs
И что предлагаешь с бинарником делать?


кстати как побочный эффект не могу получить доступ к флэшке ни по ftp ни по samba - не пускает и все (это на 5110).
Воспроизвести проблему не могу.

AndreyPopov
17-05-2013, 14:25
для чистоты эксперимента попробовал mount.cifs вот отсюда:
http://downloads.openwrt.org/snapshots/trunk/brcm47xx/packages/cifsmount_5.4-1_brcm47xx.ipk

на 5100 все работает отлично. на 5110 сам бинарник mount.cifs отрабатывает и выдает help
даже когда запускаешь mount.cifs \\<Share_name> /<mount_point>
то спрашивает пароль - ну а поcле ввода пароля вываливается Segmеntation fault


Воспроизвести проблему не могу.
ну наверное это тоже следствие после Segmеntation fault.
сейчас mount -t cifs попробую. помнится как-то он не очень хотел.
mount -t cifs вызывает все тот же Segmentation fault на 5110

так что дело не в бинарнике! шью обратно 5100.
сделаю на сайте проекта запись об ошибке.

lly
17-05-2013, 17:32
mount -t cifs вызывает все тот же Segmentation fault на 5110!!!!!!!!!

так что дело не в бинарнике!
Updated: "поспешишь - людей насмешишь" - это я про себя ;)

Модули ядра забыл обновить в /opt/lib/modules! Я бэкпортами периодически ломаю внутреннее API ядра и поэтому билд модулей ядра должен совпадать!

AndreyPopov
18-05-2013, 11:36
Модули ядра забыл обновить в /opt/lib/modules! Я бэкпортами периодически ломаю внутреннее API ядра и поэтому билд модулей ядра должен совпадать!

таки да. при чем строго соответствовать. даже модули от следующего билда не катят.

если билд 5140 - то и модули 5140


что не очень удобно. т.е. надо с начала обновить модули и не перегружаясь обновить прошивку.

до этого я обновлял прошивку и потом "по случаю" обновлял модуля.

при чем точное сооветстсвие версии билда касается не всех модулей. так к примеру у меня poptop с tun.ko продолжал отлично работать. а вот mount -t cifs отказался.

Vampik
18-05-2013, 17:33
вас переместили, потому как у вас похожая проблема, какая возникла у меня.

надо чтобы билд модулей в точности совпадал с билдом прошивки.

обновите модуля до версии вашей прошивки.

Так у вас все заработало, бага в прошивке нет?

AndreyPopov
18-05-2013, 18:38
Так у вас все заработало, бага в прошивке нет?

ну если считать, что строгое соответствие версии билда прошивки версиям модулей - это такая фича, а не баг ;)

при строгом соответсвии билда модулей билду прошивки - все работает.

хотя я считаю, что это баг. потому как до этого версия билда модулей была НЕ принципиальна.
тем более при разнице билдов 10 или 20.
теперь разница даже в 1 (один) недопустима.

а теперь получается, что прежде чем обновлять прошивку, надо обновить модули.
потому как если этого не сделать, то какой-то модуль потом может вызвать Segmantation Fault и после этого может не работать reboot и еще бог знает что.

Vampik
18-05-2013, 21:17
потому как до этого версия билда модулей была НЕ принципиальна.
тем более при разнице билдов 10 или 20.
теперь разница даже в 1 (один) недопустима.

Разница принципиальна, только при серьезных изменениях в ядре, ломающих совместимость. Кроме того, встроенные в прошивку модули всегда актуальны, архив с дополнительными модулями нужен только для продвинутых пользователей ;) (хотя мне честно говоря даже в голову не приходит, что там есть такого, что может понадобиться на роутере и при этом не встроено в прошивку).

MercuryV
18-05-2013, 21:22
ну если считать, что строгое соответствие версии билда прошивки версиям модулей - это такая фича, а не баг ;)
... хотя я считаю, что это баг. потому как до этого версия билда модулей была НЕ принципиальна.
так и изменения в ядре не каждый день :)
"до этого" вам везло. то, что ядерные модули должны быть собраны под конкретное ядро - не на этом форуме придумано. честно.

MercuryV
18-05-2013, 21:39
хотя мне честно говоря даже в голову не приходит, что там есть такого, что может понадобиться на роутере и при этом не встроено в прошивку
ext4 уже в прошивке? (давно не обновлялся, а в коммитах не припомню)
еще могут понадобиться модули для bluetooth :)

AndreyPopov
20-05-2013, 12:25
так и изменения в ядре не каждый день :)
"до этого" вам везло. то, что ядерные модули должны быть собраны под конкретное ядро - не на этом форуме придумано. честно.

при том, что версия ядра 2.6.22.19 не меняется уже сколько лет? года три? или больше?
то вообще непонятно какая зависимость модулей от ядра?
на linux модули в пределах версии ядра хх.уу обычно совместимы без проблем.

а тут версия ядра одна 2.6.22.19 - только билд сборки отличается - и все! модуля не работают.

ну вот как при одном и том же ядре 2.6.22.19 модули от билда 5100 НЕ работают на прошивке билда 5110??????

а еще более убивает то, что модули из следующих сборок НЕ работают на более ранних прошивках - что для linux вообще нонсен.
как на прошивке билда 5110 НЕ работают модуля билда 5140?

кроме как "стандартной отмазкой": это не баг - это фича и не прикроешься. тем более что до этого годами все работало!



Разница принципиальна, только при серьезных изменениях в ядре, ломающих совместимость. Кроме того, встроенные в прошивку модули всегда актуальны, архив с дополнительными модулями нужен только для продвинутых пользователей ;) (хотя мне честно говоря даже в голову не приходит, что там есть такого, что может понадобиться на роутере и при этом не встроено в прошивку).

ну вот монтирование самбовской шары, или тот же PPTP сервер.

вот и вы мне ответьте на вопрос: каким образом модуля билда 5100 НЕ работают с прошивкой 5110?
и почему модуля билда 5140 НЕ работают с прошивкой 5110?

вот как по мне - это баг прошивки!

AlexeyS
20-05-2013, 12:37
при том, что версия ядра 2.6.22.19 не меняется уже сколько лет? бред несёте, это только версия базового ядра, фактически у проекта своя ветка ядра и она достаточно часто обновляется частями из новых ядер...

lly
20-05-2013, 12:48
при том, что версия ядра 2.6.22.19 не меняется уже сколько лет?
Могу поменять, вам будет легче?

Kernel API между версиями так нехило меняется. Именно из-за этого в 2.6 и 3.x загрузить модули из другой версии просто невозможно.

А не менял просто потому, чтобы народ не искал по архивам kernel.org версию 2.6.22.100. После перехода на git(надеюсь мы всё же найдём время на эту задачу), буду менять при очередной смене API.

Ну и насчёт "до этого годами все работало!" - очевидная ложь или уверенность основанная на незнании. Если и везло с каким-то одним модулем, то это чистая случайность.

MercuryV
bluetooth не включаю так как никто и не сподобился протестировать.

AndreyUA
20-05-2013, 13:23
при том, что версия ядра 2.6.22.19 не меняется уже сколько лет? года три? или больше?
то вообще непонятно какая зависимость модулей от ядра?
на linux модули в пределах версии ядра хх.уу обычно совместимы без проблем.

а тут версия ядра одна 2.6.22.19 - только билд сборки отличается - и все! модуля не работают.

Банальная смена флага -Os на -O2 при компиляции без изменения кода скорее всего сломает совместимость с модулями. 2.6.22.19 - это версия ванильного ядра на которые накладываются патчи. Откройте историю коммитов на гугле и посмотрите сколько изменений в ядре. Это чудо, что какой-то модуль оставался совместимым со старыми версиями.

AndreyPopov
20-05-2013, 13:37
Могу поменять, вам будет легче?


конечно будет легче. тогда будет хоть понимание ПОЧЕМУ модули отказываются работать - будет видно, что версия ядра поменялась!

да, я зайду в /lib/modules и увижу, что там не 2.6.22.19, а 2.6.22.156
увижу, что в новых модулях тоже /lib/modules/2.6.22.156 и что мне в post-mount надо путь изменить.

кого вы вводите в заблуждение 2.6.22.19?
или вы мне предлагаете все три тысячи коммитов проштудировать с момента 2.6.22.19, чтобы понять, что версия ядра уже реально 2.6.22.100?



Kernel API между версиями так нехило меняется. Именно из-за этого в 2.6 и 3.x загрузить модули из другой версии просто невозможно.



как говорится, давече, на OpenWrt на ядре 3.8.11 отлично работали модули версии 3.7.8 для USB WiFi rt73



Ну и насчёт "до этого годами все работало!" - очевидная ложь или уверенность основанная на незнании. Если и везло с каким-то одним модулем, то это чистая случайность.



именно годами (пять лет точно!!!!). и НИКОГДА такого не было, чтобы модули от двух смежных билдов не воспринимались.
всегда обновлял прошивку, а модуля когда обновлял, когда нет.

ну значит smbfs.ko и cifs.ko какие-то супер-совместимые попались.


Это чудо, что какой-то модуль оставался совместимым со старыми версиями.
да проблема по-хлеще! модули билда 5100 не работают на прошивке 5110. как не работают модули 5140 на прошивке 5110.
надо, чтобы билд модуля сторого совпадал с билдом прошивки.

т.е. нельзя сказать про "старость" версии.

ALL если всех устривает этот баг в виде фичи - так я тут не собираюсь с пеной у рта доказывать обратное. вам так хорошо - и ладно. пусть будет фича!
фича так фича!

lly
20-05-2013, 14:19
конечно будет легче. тогда будет хоть понимание ПОЧЕМУ модули отказываются работать - будет видно, что версия ядра поменялась!
Ок, но тогда с глупыми вопросами "где мне взять ядро 2.6.22.200?" на форуме нам надо помогать.
Ну и менять версию для ночных сборок я, в любом варианте, не буду. Только для релизов.


кого вы вводите в заблуждение 2.6.22.19?
Только тех, кто хочет заблуждаться...

MercuryV
20-05-2013, 14:39
Ну и менять версию для ночных сборок я, в любом варианте, не буду. Только для релизов.
Имхо, не стоит вообще суету разводить. Простое правило: обновил прошивку, обнови модули, что используешь :)
Дело то минутное.

lly
20-05-2013, 14:55
Имхо, не стоит вообще суету разводить. Простое правило: обновил прошивку, обнови модули, что используешь :)
Дело то минутное.
Суету - однозначно. Но для релизов действительно проще иметь жёсткое сообщение - "пошёл нафиг со старыми модулями" ;)

AndreyPopov
20-05-2013, 18:34
есть вопрос: вот тут указано RT-N-1.9.2.7-rtn-r4051 (2012-04-02)

◦netfilter backports:
◾xt_iprange v1
◾xt_TOS/xt_tos v1 merged into xt_DSCP/xt_dscp
◾u32 match
◾xt_mark v1, xt_MARK v2, merge xt_MARK into xt_mark
◾xt_string v1
◾xt_connmark v1, merge xt_CONNMARK into xt_connmark
◾xt_owner v1
◾xt_connlimit v1
◾xt_addrtype v1 (EXPERIMENTAL)
◾xt_hashlimit v1 (EXPERIMENTAL)
и если xt_DSCP/xt_dscp видно в списке модулей, то xt_MARK into xt_mark и xt_CONNMARK into xt_connmark не видно. где теперь эти модули?

и что не так с приведенной ниже командой:

[admin@cs-ukrtel root]$ iptables -t mangle -A PREROUTING -p TCP --dport 22 -j TOS --set-tos 0x10
iptables: No chain/target/match by that name.
или надо ipt_TOS.ko подгрузить?


не пробовали использовать QoS с включеным TCP vegas (новые прошивки DD-WRT уже с ним идут) никаких тормозов с включеным и правильно настроеным КоС нет, даже при использовании 2х WAN
еще вопрос как активировать режим TCP Vegas?

подгрузить модуль потом добавить tcp_allowed_congetion_algoritm vegas
и прописать в tcp_congention_control vegas ????

lly
20-05-2013, 18:58
то xt_MARK into xt_mark и xt_CONNMARK into xt_connmark не видно.
где теперь эти модули?
Вы только не обижайтесь, но если где-то сделано отлично от того, как вы привыкли, надо таки читать доки...

Hint.: компоненты netfilter могут быть уже в ядре, глянуть можно в конфиге ядра или например через
cat /proc/net/x_tables_matches
cat /proc/net/ip_tables_matches


и что не так с приведенной ниже командой:
[admin@cs-ukrtel root]$ iptables -t mangle -A PREROUTING -p TCP --dport 22 -j TOS --set-tos 0x10
iptables: No chain/target/match by that name.

iptables -m tos -h уже не катит?

AndreyPopov
21-05-2013, 11:13
iptables -m tos -h уже не катит?
не катит, потому как в команде то как раз все правильно.
а вот xt_DSCP.ko xt_dscp.ko надо было подгрузить принудительно, поскольку они не в ядре.

rt-n15u 5144 модуля точно R2(перепроверил) в логе вижу:

May 28 17:46:42 kernel: ipt_TOS: version magic '2.6.22.19 mod_unload MIPS32_R1 32BIT ' should be '2.6.22.19 mod_unload MIPS32_R2 32BIT '
May 28 17:46:42 kernel: ipt_tos: version magic '2.6.22.19 mod_unload MIPS32_R1 32BIT ' should be '2.6.22.19 mod_unload MIPS32_R2 32BIT '
вопрос перенесли из Вопросы по прошивке Вампика сюда - и все? на этом все заглохло?

AndreyPopov
14-08-2013, 10:53
не знаю может никто еще не сталкивался с этим, но проблема есть:
TCP Congnestion Algoritm Vegas перестал работать с некоторыми провайдерами - ориенитровачно конец июля начало августа.

в Днепропетровске есть провайдер Vega(Optima) - так вот с последними версиями прошивок DD-WRT где Vegas забит по умолчанию возникли проблемы при работе.

у других провайдеров вроде нет проблем.

поскольку Vegas рекомендован для асимметричных соеднинений (как раз для ADSL), то я и на прошивке энтузиастов у себя настроил Vegas, вместо стандартного Cubic.

и меня также возникли проблемы:
- сайты долго открываются
- сессия PPPoE все время обрывается, при чем обрывает роутер. роутер пишет, что не получил 6 echo ответов и потому обрывает сессию.


КТО подскажет, какие патчи ядра могут приводить к этому или может были последние изменения в самом драайвере Vegas?