Настоящий ресурс может содержать материалы 16+
Каменск-Уральский интернет портал

Форум Виртуального Каменска


Мы в социальных сетях:
Виртуальный Каменск в ВКонтакте  Виртуальный Каменск на Одноклассниках
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
24 Ноября 2024, 07:56:55

Войти
* Начало Помощь Поиск Войти Регистрация
+  Виртуальный Каменск
|-+  Тематические разделы
| |-+  Технический форум
| | |-+  Всё о Linux/Unix (Модератор: Ариец)
| | | |-+  OpenWRT
Страниц: [1]   Вниз
Печать
Автор Тема: OpenWRT  (Прочитано 19147 раз)
0 Пользователей и 1 Гость смотрят эту тему.
userdef
Старожил
****

Карма: +42/-17
Offline Offline

Пол: Мужской
Сообщений: 791


Постоянно на компом.


WWW
« : 24 Июня 2009, 22:49:09 »

Могу похвастаться первыми результатами работы на OpenWRT на модеме-роутере DLink-504T
Скачанная прошивка меня не устроила. Тормозила, и нестабильно работала. И этот ВЕБ интерфейс достал......
Решился собрать свою(скинул если че к Ведмедю). Установил !

На втором рисунке- прикрутил простейший учет траффика на основе iptables и шелл скриптов.
В планах- сделать систему откючения пользователей от инета, при перерасходе трафа.
Получился роутер класса SOHO на основе железки DLINK!!!!
з.Ы. Скорость инета после установки openwrt стала заметно лучше.......
« Последнее редактирование: 24 Июня 2009, 22:52:59 от userdef » Записан
userdef
Старожил
****

Карма: +42/-17
Offline Offline

Пол: Мужской
Сообщений: 791


Постоянно на компом.


WWW
« Ответ #1 : 24 Июня 2009, 22:57:26 »

Биллинг, блин.
Разделяю траф на WWW и остальной
Записан
Ариец
Самый самый перс
Модератор раздела
Ветеран
*****

Карма: +745/-432
Offline Offline

Пол: Мужской
Сообщений: 17343


Keep things moving!


« Ответ #2 : 25 Июня 2009, 07:46:51 »

Если бы ты это еще как новость оформил на сайте группы, а ведмед дал бы линк на прошиву, то это было бы круто.  Подмигивающий
Записан

Добро пожаловать в фан-уголок Свердловских Шофёров на k-ur.ru.

Любишь спорт? Есть что сказать? Не стесняйся, заходи!
userdef
Старожил
****

Карма: +42/-17
Offline Offline

Пол: Мужской
Сообщений: 791


Постоянно на компом.


WWW
« Ответ #3 : 25 Июня 2009, 09:52:01 »

Ариедз..... я как закончу работу(допилю учет траффика при перезагрузках роутера) -так оформлю.
Я кстати так и планировал......
а линк downloads.openwrt.org  , а свою прошиву я сам собирал из исходников на svn.openwrt.org
Записан
Ведметь
hardware hacker
Старожил
****

Карма: +82/-21
Offline Offline

Пол: Мужской
Сообщений: 909


в лесе жыву...


« Ответ #4 : 25 Июня 2009, 13:08:08 »

СЦЫЛКО  Улыбка
Записан

userdef
Старожил
****

Карма: +42/-17
Offline Offline

Пол: Мужской
Сообщений: 791


Постоянно на компом.


WWW
« Ответ #5 : 25 Июня 2009, 16:02:08 »

update :

токачто добавил DynDns в openwrt

ща как взрослый роутер ))) тока бы еще поддержка VLAN и VPN...... тогда бы LinkSys(CISCO) курил бы в сторонке
Записан
userdef
Старожил
****

Карма: +42/-17
Offline Offline

Пол: Мужской
Сообщений: 791


Постоянно на компом.


WWW
« Ответ #6 : 29 Июня 2009, 13:57:05 »

Бюджетный интернет комбайн для дома и малого офиса на базе OpenWRT  и роутера DLINK DSL-504T

Решил для дома собрать интернет роутер. Причин для этого было несколько:
1. Роутеры я собитать умею.
2. Всвязи с переходом на "Лимитный тариф" интернета(это когда платишь на каждый мегабайт скаченного траффика).
3. Не устраивает ограниченная функциональность роутеров мыльниц(например DLink).
На мыльницу выбор пал по очевидным причинам. Это низкое энергопотребление и никакого шума в работе. Конечно и недостатков полно, например объем оперативной памяти всего 16 мб(пользователям современных ПК с виндовс на борту это звучит как то дико), и объем постоянной памяти(флэш память) - 4МБ. А на это все надо еще и операционку положить, и логи траффика хранить.
В этих условиях нереально хранить статистику по посещаемым сайтам, и по дням. Поэтому делаем так: храним информацию о траффике суммарную по каждому IP сети, как сказали бы бухгалтера "нарастающим итогом". В конце месяца инфу отчищаем, или записываем в файл итогов(это как кому надо). Хранить будем в текстовых файлах(типа у нас выбор есть Подмигивающий

Ну чтож, приступим:

1 этап

Сборка прошивки роутера есть на сайте http://downloads.openwrt.org/kamikaze/8.09/ar7/
Для справки, AR7 это архитектура нашего процессора. Выбираем прошивку openwrt-ar7-squashfs.bin
В принципе это готовая к употреблению прошивка, включающая в себя даже WEB интерфейс. Но меня почему-то она не устроила, и я собрал свою. При этом тот же WEB интерфейс и отключил, чтобы не мешал думать :)
Сборка прошивки :
Код:
#apt-get install flex bison autoconf zlib1g-dev libncurses5-dev automake g++ patch gawk
#mkdir /home/trunk
#cd /home/trunk
#svn co https://svn.openwrt.org/openwrt/trunk/
#make menuconfig
#make
Для сборки прошивки понадобитя интернет(линкер качает много всего недостоющего, в т.ч исходники ядра Linux). В опциях MENUCONFIG выбрать платформу AR7.
Ну вот. Если все правильно, через 2 часика соберется прошивка :)) Долгий процесс, из-за кросс-компиляции. У нас то платформа 86 , а там AR7.
В папке "/home/trunk/8.9/bin/ " появится файл openwrt-ar7-squashfs.bin - его та нам и надо )

2 этап

Заливка прошивки в роутер. Дело в том, что для России эти железяки делают с урезанной памятью. Т.Е. вместо 16 МБ оперативки делают 8 МБ. Разлочить это дело можно с помощью утилит, написанных Олегом (http://wl500g.info).

Сама заливка прошивки на роутер(в самом простом случае) выглядит так :
1. Приготовим на компьютере в коммандной строке(у меня Линукс)
Код:
#telnet 192.168.1.199
или сразу
#ftp 192.168.1.199
Отключиль питание от роутера, и через 2 сек. включили. при загрузке, загрузчик  ADAM2 создает на адресе 192.168.1.199 фтп сервер. Быстренько логинимся в него(быстренько-потому что послу 5 секундной задержки ADAM2 начнет загрузку текущей прошивки)
Код:
login: adam2
password:adam2
Если нас известили, что пользователь adam2 успешно залогинился, значит пока все идет по плану Подмигивающий
Переходим в папку, где находится файл пришивки

Код:
#cd /home/trunk/8.09/bin/

В интерпритаторе вводим команды:

Код:
#debug
#bin
#hash
#quote "MEDIA FLSH"
#put "openwrt-ar7-squashfs.bin" "openwrt.bin  mtd4"

У меня например надпись об успешной прошивке появилась далеко не с первого раза.
Если все нормально, переходим дальше, если нет......курите документацию, и молите великого ктулху Подмигивающий

3 этап

Настройка комбайна

Итак, прошивка лежит на месте. Входим сначала по TELNET, потом надаем пароль для пользователя ROOT, потом уже входим по SSH и отключаем TELNET.

Код:
#telnet 192.168.1.1
#passwd root
#ssh root@192.168.1.1
root@OpenWrt#/etc/init.d/telnet stop
root@OpenWrt#/etc/init.d/telnet disable

Меняем скрипт /etc/init.d/firewall  на самописный

Код:
 #scp /home/firewall root@192.168.1.1:/etc/init.d/firewall
 #ssh root@192.168.1.1
 root@OpenWrt#chmod 755 /etc/init.d/firewall

Меняем файл /etc/config/network  под реалии интернета

Код:
# Copyright (C) 2006 OpenWrt.org

config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0

config interface lan
option type bridge
option ifname eth0
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0
option nat 1

## Example for ATM bridging.
## Useful for PPPoE or IP over ATM. Will create 'nas${unit}'
#
config atm-bridge
option unit 0
option encaps llc
option vpi  1
option vci  50
option payload bridged # some ISPs need this set to 'routed'


config interface wan
## PPPoE:
option ifname nas0
option proto pppoe

## PPPoA:
# option ifname atm0
# option proto pppoa
# option encaps llc
# option vpi  8
# option vci  35

## Both:
option username "Пользователь_PPPoE"
option password "Пароль_PPPoE"

Пример скрипта /etc/init.d/firewall

Код:
#!/bin/sh

iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# VARIABLES
NB_IP=192.168.1.10
PC_IP=192.168.1.3
#POLICIES & DEFAULTS
iptables -P INPUT  DROP
iptables -P FORWARD  DROP
iptables -P OUTPUT  ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#CUSTOM CHAINS
iptables -N NOTEBOOK_WWW
iptables -N MAIN_WWW
iptables -N NOTEBOOK_OTHER
iptables -N MAIN_OTHER

iptables -A NOTEBOOK_WWW -j ACCEPT
iptables -A NOTEBOOK_OTHER -j ACCEPT
iptables -A MAIN_WWW -j ACCEPT
iptables -A MAIN_OTHER -j ACCEPT

iptables -A FORWARD -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
#INPUTS
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
# FORWARDS CUSTOM
#iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT

iptables -A FORWARD -s $PC_IP -p tcp --dport 80 -j MAIN_WWW
iptables -A FORWARD -s $PC_IP -p tcp --dport ! 80 -j MAIN_OTHER
iptables -A FORWARD -s $PC_IP -p ! tcp -j MAIN_OTHER
iptables -A FORWARD -d $PC_IP -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j MAIN_WWW
iptables -A FORWARD -d $PC_IP -p tcp --sport ! 80 -m state --state ESTABLISHED,RELATED -j MAIN_OTHER
iptables -A FORWARD -d $PC_IP -p ! tcp -m state --state ESTABLISHED,RELATED -j MAIN_OTHER



iptables -A FORWARD -s 192.168.1.4 -j MAIN_WWW
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.1.4 -j MAIN_WWW


iptables -A FORWARD -s $NB_IP -p tcp --dport 80 -j NOTEBOOK_WWW
iptables -A FORWARD -s $NB_IP -p tcp --dport ! 80 -j NOTEBOOK_OTHER
iptables -A FORWARD -s $NB_IP -p ! tcp -j NOTEBOOK_OTHER
iptables -A FORWARD -d $NB_IP -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j NOTEBOOK_WWW
iptables -A FORWARD -d $NB_IP -p tcp --sport ! 80 -m state --state ESTABLISHED,RELATED -j NOTEBOOK_OTHER
iptables -A FORWARD -d $NB_IP -p ! tcp -m state --state ESTABLISHED,RELATED -j NOTEBOOK_OTHER
#MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

Как видно из скрипта, у меня 2 компа- ноутбук с IP=192.168.1.10 и основной ПК с IP=192.168.1.3
Траффик я решил делить на "Веб траффик" и "НеВеб траффик". Создаем 4 цепочки правил : MAIN_WWW, MAIN_OTHER, NOTEBOOK_WWW, NOTEBOOK_OTHER
Весь траффик так или иначе будет попадать в одну из цепочек. Ну а сосчитать траффик в каждой- это умеет IPTABLES(iptables -L <цепочка> -nvx).

Привожу пример скриптов формирования отчетов и сохранения показателей счетчиков при перезагрузке роутера.

/www/count.sh
Код:
#!/bin/sh

sh /www/ipt
file=/www/index.html;
nb_www=$(cat /www/NOTEBOOK_WWW);
nb_ot=$(cat /www/NOTEBOOK_OTHER);
pc_www=$(cat /www/MAIN_WWW);
pc_ot=$(cat /www/MAIN_OTHER);


echo > $file;
echo '<html><body>' >> $file;
echo '<H1>Traffic counter</H1> <br>' >> $file;

echo 'Notebook(www) = ' >> $file;
echo $(($nb_www/1024)) >> $file;
echo ' kB' >> $file;
echo '<br>' >> $file;

echo 'Notebook(other) = ' >> $file;
echo $(($nb_ot/1024)) >> $file;
echo ' kB' >> $file;
echo '<br>' >> $file;

echo 'Main(www) = ' >> $file;
echo $(($pc_www/1024)) >> $file;
echo ' kB' >> $file;
echo '<br>' >> $file;

echo 'Main(other) = ' >> $file;
echo $(($pc_ot/1024)) >> $file;
echo ' kB' >> $file;
echo '<br><br>' >> $file;
IT=$(cat /www/ITOG);ITOG=$(($IT/1024))
echo '<H2>SUMM '$ITOG' kB</H2>' >> $file;
echo '<hl><br>' >> $file;
echo $(date) >> $file;
echo '</body></html>' >> $file;

/www/ipt
Код:
#!/bin/sh

nbw=$(iptables -L NOTEBOOK_WWW   -nvx|grep ACCEPT|awk {'print $2'})
nbwf=$(cat /www/NOTEBOOK_WWW)
nb1=$(($nbwf+$nbw))
echo $nb1>/www/NOTEBOOK_WWW
iptables -L NOTEBOOK_WWW -nvZ > /dev/null

nbo=$(iptables -L NOTEBOOK_OTHER -nvx|grep ACCEPT|awk {'print $2'})
nbof=$(cat /www/NOTEBOOK_OTHER)
nb2=$(($nbo+$nbof))
echo $nb2>/www/NOTEBOOK_OTHER
iptables -L NOTEBOOK_OTHER -nvZ > /dev/null

mw=$(iptables  -L MAIN_WWW       -nvx|grep ACCEPT|awk {'print $2'})
mwf=$(cat /www/MAIN_WWW)
m1=$(($mwf+$mw))
echo $m1>/www/MAIN_WWW
iptables -L MAIN_WWW -nvZ > /dev/null

mo=$(iptables  -L MAIN_OTHER -nvx|grep ACCEPT|awk {'print $2'})
mof=$(cat /www/MAIN_OTHER)
m2=$(($mof+$mo))
echo $m2>/www/MAIN_OTHER
iptables -L MAIN_OTHER -nvZ > /dev/null
itog=$(($nb1+$nb2+$m1+$m2));export ITOG=$itog
echo $ITOG>/www/ITOG

Скрипт count.sh должет отрабатывать по cron у. Он создает файл index.html в папке
  /www - это корневая папка WEB сервера openwrt.

Что это дало Непонимающий
1. Повышение скорости работы интернет(у меня безлимитка 1МБ, канал стал по настоящему 1МБ)
2. Возможности подсчета траффика
3. Переброс портов и DDNS есть и в стандартной прошивке, но на линуксе они гибче настраиваются.
4. Возможности расширения функционала.При наличии терпения, можно запихать туда OpenVPN, OpenSWAN, SQUID

На OPENWRT можно утанавливать пакеты так же как и на обычный линукс(есть утилита opkg, схожая по функциям с дебиановской apt-get)
Ну вот соссно и фсе !!! по тому же крону читстите показания iptables и файлы хранилищ в конце месяца. Дальнейшие навороты сделаете сами ! Пока.userdef.
« Последнее редактирование: 29 Июня 2009, 14:16:49 от userdef » Записан
Ариец
Самый самый перс
Модератор раздела
Ветеран
*****

Карма: +745/-432
Offline Offline

Пол: Мужской
Сообщений: 17343


Keep things moving!


« Ответ #7 : 29 Июня 2009, 14:14:42 »

Это плюс. Очепятки подправить и хоть щас на http://kamensk.net Подмигивающий

Как вариант можно попробовать поднять cryptcat (аналог netcat) и подробную статистику лить на взрослый комп по крону или при наличии подключения. Если подключения нет, то логи тереть, оставив только суммарную информацию. Такое не каждый взрослый роутер умеет  Подмигивающий. Как-то так.
Записан

Добро пожаловать в фан-уголок Свердловских Шофёров на k-ur.ru.

Любишь спорт? Есть что сказать? Не стесняйся, заходи!
userdef
Старожил
****

Карма: +42/-17
Offline Offline

Пол: Мужской
Сообщений: 791


Постоянно на компом.


WWW
« Ответ #8 : 29 Июня 2009, 14:19:02 »

Это плюс. Очепятки подправить и хоть щас на http://kamensk.net Подмигивающий

Как вариант можно попробовать поднять cryptcat (аналог netcat) и подробную статистику лить на взрослый комп по крону или при наличии подключения. Если подключения нет, то логи тереть, оставив только суммарную информацию. Такое не каждый взрослый роутер умеет  Подмигивающий. Как-то так.

Оставь свой email, я те скину текст статьи в TXT формате. И Поправишь опечатки, и выложишь на kamensk.net
P.S. Надо понимать, что дисковое пространство ОООООООЧЕНЬ ограниченно! Прошивка занимает 2.3 метра. Уменьшить ее можно, но тоже не до прежела. Е меня после установки mc, ip, tc осталось 600 кб
Кстати вспомнил. с помощью утилиты TC можно офигенно гибко ограничивать пропускную способность траффика.
« Последнее редактирование: 29 Июня 2009, 14:23:28 от userdef » Записан
Ариец
Самый самый перс
Модератор раздела
Ветеран
*****

Карма: +745/-432
Offline Offline

Пол: Мужской
Сообщений: 17343


Keep things moving!


« Ответ #9 : 29 Июня 2009, 14:22:03 »

Это плюс. Очепятки подправить и хоть щас на http://kamensk.net Подмигивающий

Как вариант можно попробовать поднять cryptcat (аналог netcat) и подробную статистику лить на взрослый комп по крону или при наличии подключения. Если подключения нет, то логи тереть, оставив только суммарную информацию. Такое не каждый взрослый роутер умеет  Подмигивающий. Как-то так.

Оставь свой email, я те скину текст статьи в TXT формате. И Поправишь опечатки, и выложишь на kamensk.net


Я текст могу и отсюда взять. У тебя там кликуха gartphild, вроде, да?
from Userdef: ага!!!  тока garphild я.... и если не влом включи текст про TC в статью..... а то мне влом уже Подмигивающий
« Последнее редактирование: 29 Июня 2009, 14:25:33 от userdef » Записан

Добро пожаловать в фан-уголок Свердловских Шофёров на k-ur.ru.

Любишь спорт? Есть что сказать? Не стесняйся, заходи!
Ведметь
hardware hacker
Старожил
****

Карма: +82/-21
Offline Offline

Пол: Мужской
Сообщений: 909


в лесе жыву...


« Ответ #10 : 01 Июля 2009, 18:27:22 »

userdef, ЖЖОШ!
Оффтоп: Ариец, вбиваю сегодня в гугле "ядра линукс" получаю ссылку на каменск.нет на первой странице. ЖЖОШ!
« Последнее редактирование: 01 Июля 2009, 18:39:49 от Ведметь » Записан

dellby
Новичок
*

Карма: +1/-0
Offline Offline

Сообщений: 1


« Ответ #11 : 12 Января 2010, 19:44:22 »

Пытаюсь сделать прошивку для dlink 3340s. На сайте написано , что он поддерживается.
Выбираю процессор
модуль wifi и др. пакеты
после компиляции прошивки в bin вижу кучу (штук 20)скомпилированных  файлов
 openwrt-AG1B-jffs2-128k-code
...
openwrt-ar7-squashfs.bin
...
openwrt-WAG54GP2v2-squashfs-code.bin

Что из этого мне должно подходить? Пытался искать в инете - не нашел.
Помогите пожалуйста, мой девайс поддерживается, а вот что лить после компиляции непонятно.
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Новости
Каменска-Уральского

Все новости
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!