Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.
Получать статьи этого сайта на почту:

 

23
Окт 2012
sergldom
автор
8
комментариев
Рейтинг статьи:
4
Средняя: 4 (1 оценка)

Установка на роутер DIR-320 новой прошивки от Vampirik, а также подключение репозитория Entware

Подключение репозитория Entware и прошивка роутера dir320 или Asus прошивкой Вампирика      Здравствуйте. Вот решил выложить новую инструкцию как подключить к роутеру прошитому прошивкой от энтузиастов на примере прошивки от Vampirika репозитория Entware и установки програмного обеспечения.

!!!  Инструкция работает на роутерах поддерживающих альтернативную прошивку от энтузиастов, такие как DIP-320, ASUS WL500gp, ASUS WL500gpv2, ASUS RT-N16 и т.д.

     На wifi роутер dir-320 на сайте человека с ником Vampirik, который продолжает делать для роутера dir320 замечательные прошивки, за что ему огромная благодарность, скачиваем последнюю прошивку по сылке <![CDATA[]]>http://vampik.ru/wl500g/rtn/4667/DIR320-1.9.2.7-rtn-r4667M.trx<![CDATA[]]> и прошиваем, если у вас уже стоит более ранняя прошивка от Vampirika либо от энтузиастов, можно прошить через веб интерфейс, иначе прошиваете через tftp по инструкции, только устанавливаете последнюю стабильную прошивку скачанную по ссылке выше.

      Для роутеров отличных от DIR-320 качаем прошивку с папки  <![CDATA[]]>http://vampik.ru/wl500g/rtn/4667/<![CDATA[]]>

     В данной прошивке из-за малого размера встроенной флеш памяти роутера, нет возможности отформатировать дополнительную флешку - не влезли утилиты для форматирования в прошивку. Потому если у вас есть флешка которую Вы хотите подключить к роутеру для установки на неё дополнительного программного обеспечения, необходимо её отформатировать либо в Linux на физической машине, либо подключив к виртуальной машине с установленным Linux, либо имея второй роутер, например WL500g - можно отформатировать флешку в нем.

     Лично я не использую флешку для качания на неё торентов, потому мне на флешке хватает раздела для SWAP и основного раздела opt, который будет подключен к папке в корне  /opt

     Так как в раздел swap постоянно происходят записи системы, из-за того, что оперативы маловато, а флешка имеет ограниченное количество записи, очень большая вероятность выхода из строя всей флешки за достаточно быстрый период примерно в 3-4 месяца. Возможное решение продлить жизнь флешки в 3 раза, это создать несколько разделов

     Приступим к форматированию флешки для dir320 на виртуальной машине установленной на Virtualbox либо на любом физическом устройтве, где установлен Linux и можно разбить флешку (винт) и отформатировать.

Втыкаем флешку в USB порт и выполняем команду fdisk -l для просмотра наличия внешних дисков в системе:

fdisk -l

Ответ системы, видим нашу флешку:

.....
Disk /dev/sdb: 2003 MB, 2003664896 bytes
255 heads, 63 sectors/track, 243 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x01021e00

  Device Boot Start    End Blocks   Id  System
/dev/sdb1   * 1    2441956672+   c  W95 FAT32 (LBA)
Partition 1 has different physical/logical endings:
    phys=(242, 254, 63) logical=(243, 152, 37)

Приступаем к разбивке флешки /dev/sdb:
Команды которыми мы будем пользоваться в процессе разбивки флешки:
p - просмотр разделов(если созданы) на флешке
n - создать раздел
d - удалить разделы
w - записать изменения
p  - primary partition (1-4) -  создаем такие разделы максимально можно создать 4 primary раздела
Partition number (1-4):  - указываем номер раздела, от 1 до 4
First cylinder - нажимаем Enter и ничего не пишем при запросе.
Last cylinder, +cylinders or +size{K,M,G} (1-243, default 243): - указываем размер раздела +64M - создаем раздел размером 64mb

Процесс выполнения разбивки флеш диска подробно:

fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 2003 MB, 2003664896 bytes
255 heads, 63 sectors/track, 243 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x01021e00

  Device Boot Start    End Blocks   Id  System
/dev/sdb1   * 1    2441956672+   c  W95 FAT32 (LBA)
Partition 1 has different physical/logical endings:
    phys=(242, 254, 63) logical=(243, 152, 37)

Command (m for help): d
Selected partition 1

Command (m for help): 1
1: unknown command
Command action
  a   toggle a bootable flag
  b   edit bsd disklabel
  c   toggle the dos compatibility flag
  d   delete a partition
  l   list known partition types
  m   print this menu
  n   add a new partition
  o   create a new empty DOS partition table
  p   print the partition table
  q   quit without saving changes
  s   create a new empty Sun disklabel
  t   change a partition's system id
  u   change display/entry units
  v   verify the partition table
  w   write table to disk and exit
  x   extra functionality (experts only)

Command (m for help): p
Disk /dev/sdb: 2003 MB, 2003664896 bytes
255 heads, 63 sectors/track, 243 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x01021e00

  Device Boot Start    End Blocks   Id  System

Command (m for help):n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-243, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-243, default 243): +64M

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (10-243, default 10):
Using default value 10
Last cylinder, +cylinders or +size{K,M,G} (10-243, default 243): +64M

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (19-243, default 19):
Using default value 19
Last cylinder, +cylinders or +size{K,M,G} (19-243, default 243): +64M

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Selected partition 4
First cylinder (28-243, default 28):
Using default value 28
Last cylinder, +cylinders or +size{K,M,G} (28-243, default 243):
Using default value 243

Command (m for help): p

Disk /dev/sdb: 2003 MB, 2003664896 bytes
255 heads, 63 sectors/track, 243 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x01021e00

  Device Boot Start    End Blocks   Id  System
/dev/sdb11 9  72261   83  Linux
/dev/sdb2    1018  72292+  83  Linux
/dev/sdb3    1927  72292+  83  Linux
/dev/sdb4    28    2431735020   83  Linux

Command (m for help):w

      Просмотр выполненной разбивки флешки:

fdisk -l
.....
Disk /dev/sdb: 2003 MB, 2003664896 bytes
255 heads, 63 sectors/track, 243 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x01021e00

Device Boot Start    End Blocks   Id  System
/dev/sdb11 9  72261   83  Linux
/dev/sdb2    1018  72292+  83  Linux
/dev/sdb3    1927  72292+  83  Linux
/dev/sdb4    28    2431735020   83  Linux
root@jabber:~#

 

     Я разбил флешку на 4 раздела, из них первые три по 64Мб они будут использованы как раздел подкачки (четыре)
Активируем разделы /dev/sdb1, sdb2, sdb3 на флешке как swap командой:

mkswap /dev/sdb1
Setting up swapspace version 1, size = 72256 KiB
no label, UUID=e44428ac-b2c6-45d2-859d-b896c012f0c6
root@jabber:~# mkswap /dev/sdb2
Setting up swapspace version 1, size = 72288 KiB
no label, UUID=5a41d37f-3b65-42c0-80e7-f0a62e22fd5a
root@jabber:~# mkswap /dev/sdb3
Setting up swapspace version 1, size = 72288 KiB
no label, UUID=bbfa564e-e97f-43cb-a875-83f397b1023c

      Отформатируем основной раздел, где будет примантирован /opt командой:

mkfs.ext3 /dev/sdb4

      Ответ системы на команду форматирования:

mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
108640 inodes, 433755 blocks
21687 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=444596224
14 block groups
32768 blocks per group, 32768 fragments per group
7760 inodes per group
Superblock backups stored on blocks:
  32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

      Создаем файл /etc/fstab в котором прописываем опции монтирования выполнив команду:

echo '#!/bin/sh
/dev/sda1 none swap sw 0 0
#/dev/sda2 none swap sw 0 0
#/dev/sda3 none swap sw 0 0
/dev/sda4 /opt ext3 rw,noatime 1 1' > /etc/fstab

      В каталоге /tmp/local/ создаем файл .files:

touch /tmp/local/.files

      Записываем в него путь к файлу /etc/fstab и сохраняем изменения на внутреннюю флешку роутера dir320:

echo "/etc/fstab" >> /tmp/local/.files
flashfs save && flashfs commit && flashfs enable

      После этого перезагружаем роутер. После перезагрузки проверяем, что флешка примонтирована, для этого выполняем команды df  и  free

df - показывает какой раздел примонтирован в каталог /opt

free - показывает свободную, занятую оперативную память, а также подключенный раздел подкачки, в нашем случае наши 64Mb swap раздела.

     Если у вас на роутере нет интернета, а сам роутер подключен к сети где есть интернет, этими командами настраиваем интернет(измений под свой шлюз и днс сервер):

ip route delete default
route add default gw 192.168.1.254 dev br0
echo "nameserver 192.168.1.254" > /etc/resolv.conf

      Создаем необходимые папки

mkdir -p /opt/etc/init.d
chmod 777 /tmp
mkdir -p /opt/var/log

      Устанавливаем репозиторий Entware:

cd /tmp
wget http://wl500g-repo.googlecode.com/svn/ipkg/entware_install.sh
chmod +x ./entware_install.sh
./entware_install.sh

      Если на официальном сайте нет доступа к файлу, можете скачать с моего сайта и установить командами:

cd /tmp
wget http://softnastroy.com/downloads/entware_install.sh
chmod +x ./entware_install.sh
./entware_install.sh

      После установки репозитория устанавливаем програмное обеспечение:

opkg install mc vim screen nmap htop mtr unzip unrar zip

 

      Создаем скрипты запускающиеся после загрузки и перед выключением роутера.
      Создаем папку в которой будут находится сами скрипты:

mkdir -p /tmp/local/sbin/

      Создаем скрипт /tmp/local/sbin/post-boot

vi /tmp/local/sbin/post-boot
#!/bin/sh
chmod 777 /tmp

## Samba File Shares (Web) - Disabled
nvram set usb_smbenable_x=0
nvram set usb_smbcset_x=utf8

## telnet - Off
#nvram set telnet_enable=0
nvram commit

# turn off wlan by default
#sleep 10
#/usr/sbin/wl radio off

 

      Создаем скрипт файрволла, в нем все закоментировано, можете изменить под свои нужды:

vi /tmp/local/sbin/post-firewall
#!/bin/sh

# port HTTP
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

### Ограничиваем доступ ребенку.
### Во время действия летнего времени срабатывает на 1 час позже:
### Создаем новую цепочку, дропаем в ней все по умолчанию.
### Заворачиваем на нее все интернет-пакеты ребенка
#iptables -N CHILD
#iptables -A CHILD -j DROP
#iptables -I FORWARD 1 -m mac --mac-source xx:xx:xx:xx:xx:xx -o ppp0 -j CHILD
#iptables -I FORWARD 1 -m mac --mac-source xx:xx:xx:xx:xx:xx -o ppp0 -j CHILD
#iptables -I FORWARD 1 -m mac --mac-source xx:xx:xx:xx:xx:xx -o ppp0 -j CHILD
### Включаем ребенку интернет по времени
#iptables -I CHILD 1 -m time --timestart 09:00:00 --timestop 20:00:00 --weekdays Sun,Mon,Tue,Wed,Thu,Fri,Sat -j RETURN

# openvpn Server
#iptables -I INPUT -p udp --dport 2121 -j ACCEPT #only Server (delete for Client)
#iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
#iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
#iptables -I INPUT -i tun0 -p tcp --dport 80 -j ACCEPT
#iptables -I INPUT -i tun0 -p tcp --dport 8080 -j ACCEPT
#iptables -I INPUT -i tun0 -p tcp --dport 139 -j ACCEPT
#iptables -I INPUT -i tun0 -p tcp --dport 445 -j ACCEPT
#iptables -I INPUT -i tun0 -p udp --dport 137 -j ACCEPT
#iptables -I INPUT -i tun0 -p udp --dport 138 -j ACCEPT
#iptables -I INPUT -i tun0 -p tcp --dport 901 -j ACCEPT
#iptables -I INPUT -i tun0 -p tcp --dport 9100 -j ACCEPT #printer
#iptables -I INPUT -i tun0 -p ICMP --icmp-type 8 -j ACCEPT
#iptables -I INPUT -i tun0 -p ICMP --icmp-type 11 -j ACCEPT

#iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o tun0 -j MASQUERADE

      Создаем скрипт /tmp/local/sbin/post-mount

vi /tmp/local/sbin/post-mount
#!/bin/sh
/opt/etc/init.d/rc.unslung start

rm /opt/var/run/*.pid

      Создаем скрипт /tmp/local/sbin/pre-boot

vi /tmp/local/sbin/pre-boot
#!/bin/sh

#Both these lines are required/recommended for protection against unwanted multi
#logins based on ipt_recent ( http://wl500g.info/showpost.php?p=69660&postcount=
#date 010101012000
#insmod /usr/local/lib/ipt_recent.o

#insmod ipt_recent.o

      Создаем скрипт запуска /tmp/local/sbin/pre-mount

      P.S. Если на новой прошивке при подключении модема Huawei, он не определяется в системене, не появляется /dev/ttyUSB*  добавьте в файл /usr/local/sbin/post-mount:

vi /tmp/local/sbin/pre-mount
#!/bin/sh

swapon -a
kernel="$(uname -r)"
kernel=${kernel:0:3}
 
if [ "$kernel" = "2.4" ]; then
acm_mod="acm"
else
acm_mod="cdc-acm"
fi
 
usbserial="$(lsmod | grep usbserial)"
acm="$(lsmod | grep $acm_mod)"
option="$(lsmod | grep option)"
 
[ -z "$usbserial" ] && insmod usbserial;
[ -z "$acm" ] && insmod $acm_mod;
[ -z "$option" ] && insmod option;

      Очень жаль, но места на флешке очень мало, потому программ для проверки и форматирования флешек нет в прошивке.
      Назначаем на созданные скрипты права на выполнение:

cd /tmp/local/sbin
chmod +x /usr/local/sbin/*

Сохраняем все изменения в энергонезависимой памяти:

flashfs save && flashfs commit && flashfs enable

      Задача выполнена, репозиторий Entware подключен к роутеру dir-320 и установлены программы: mc, vim, screen, nmap, htop, mtr, unzip, unrar, zip

 

      Сделаем небольшой перерывчик и посмотрим видео ролик:

Рейтинг статьи: 

4
Средняя: 4 (1 оценка)

Вам понравилась статья? Хотите получать уведомления о выходе новых статей с этого сайта на свой почтовый адрес? Подписывайтесь пожалуйста. Введите свой почтовый адрес и нажмите кнопку Хочу получать статьи!

<![CDATA[]]><![CDATA[]]>

 

*Адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

 

 
 

 

8 комментария:
Александр Рыжов
21/04/2013 - 08:48
> На wifi роутер dir-320 на сайте человека с ником Vampirik, Какой Vampirik?! Посмотрите на сайте-первоисточнике какой у Андрея Тихомирова ник.   > Если на официальном сайте нет доступа к файлу… …тогда затаскивать его на свой хостинг не имеет никакого смылся, т.к. этот скрипт начинает закачивать весь необходимый контент с googlecode.com.  
21/04/2013 - 11:13
      Здравствуйте Александр Рыжов.       Никаких вопросов, это сделано на случай если скрипт недоступен, удален, сломан, некорректно обновлен итд. Я же проверил работоспособность именно этой версии, потому всегда стараюсь забекапить рабочую версию программы либо скрипта у себя на сайте.
Александр Рыжов
28/04/2013 - 11:18
Забэкапить вместе со всем репозиторием Entware? Потому как в отрыве от него скрипт установки Entware смысловой нагрузки не имеет.
Николай
09/04/2014 - 10:31
Здравствуйте, установил прошивку с Вашей темы и доступ к репозиторию Entware - из репозитория установил asterisk chan_dognle. Оказалось что в /dev отсутствует ttyUSB0 - при подключении модема e1550 к Ubuntu есть ttyUSB0 1 2. Судя по всему не хватает модуля для распознания модема как последовательного устройства подключенного через USB порт... Не подскажете что за модуль? Может kmod-usb-serial - в Entware его не обнаружил.
Denis
04/06/2014 - 00:02
У меня тоже самое!  /dev/ttyUSB* отсутствуют
Denis
04/06/2014 - 00:04
Тоже самое /dev/ttyUSB* отсутствуют!!! Где под пилить?
04/06/2014 - 00:12
Здравствуйте. У меня в данный момент нет возможности проверить на новых прошивках работу модема в dir320. Натолкнулся сам на просторах интернета недавно на данную инфу, сохранил себе, проверте пожалуйста: p.s. Если Модем подключен и не определяется в системе добавьте в файл /usr/local/sbin/post-mount Код: kernel="$(uname -r)" kernel=${kernel:0:3} if [ "$kernel" = "2.4" ]; then acm_mod="acm" else acm_mod="cdc-acm" fi usbserial="$(lsmod | grep usbserial)" acm="$(lsmod | grep $acm_mod)" option="$(lsmod | grep option)" [ -z "$usbserial" ] && insmod usbserial; [ -z "$acm" ] && insmod $acm_mod; [ -z "$option" ] && insmod option;   Только не забудьте сохранить в флешку изменения в скрипте.
Denis
04/06/2014 - 00:28
Огромное спасибо! Я просторы обрывал с собаками несколько дней так и не смог найти волшебный КОД! После вашего кода заработало: [root@ASUS-58E828 root]$ ls -la /dev | grep USB crw-rw----    1 root     root      188,   0 Jun  3 21:23 ttyUSB0 crw-rw----    1 root     root      188,   1 Jun  3 21:23 ttyUSB1 crw-rw----    1 root     root      188,   2 Jun  3 21:26 ttyUSB2 [root@ASUS-58E828 root]$   само собой dongle запустился и теперь МегаФон зашагает по Крыму SIPом :)  

Добавить комментарий

Filtered HTML

  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.