Перейти к содержанию

Настройка роутера WL500g Premium

Материал из Викиучебника — открытых книг для открытого мира

Введение

[править]

Все, что написано здесь, подходит и к другим моделям роутеров фирмы ASUS, таким, как WL300g/WL500g/WL500g Deluxe/WL500b/WL500bv2/WLHDD/WL550gE/WL500W

В корпусе Asus WL500G сосредоточены практически все функции, которые могут пригодиться при развертывании небольшой компьютерной сети, вплоть до организации на базе WL-500g Premium центра сетевых закачек, принт-сервера или публичного ftp-сервера. Но самое главное это то что этот роутер работает под управлением операционной системы Linux и по сути является небольшим компьютером, что позволяет практически неограничено (ограничения только в возможностях железа) расширять выполняемые им функции.

Технические характеристики

[править]

Более подробное техническое описание можно посмотреть по адресу http://www.overclockers.ru/lab/23627.shtml

Изменение прошивки на альтернативную

[править]

Обоснование необходимости смены прошивки

[править]

Обновление прошивки роутера на самую последнюю неофициальную, которая намного лучше, нужно по причинам:

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

Можно перешивать с любой версии официальной прошивки и обратно - ограничений нет. Лучше перешить роутер в любом случае - пока он на гарантии проверить, что флэш не битая.
На странице Upgrade пишется имя Вашего устройства, смотрите внимательно! Не пытайтесь прошить чужую прошивку!
Взять самые последние версии можно отсюда [1] Всегда берите самую последнюю и не перепутайте с прошивкой от других устройств.

Для обычного WL500g (c LPT и USB 1.1) прошивки имеют имя wl500g-...
Для WL500b (c LPT и USB 1.1) прошивки имеют имя wl500b-...
Для обычного WL500g v2 (c WiFi Ralink) (c LPT и USB 1.1) прошивки имеют имя wl500bv2-...
Для WL-HDD: wlhdd-
Для WL500g Deluxe (wl500gd/wl500gx): wl500gx-...
Для WL550g Encore: wl550gE-...
Для WL500g Premium: wl500gp-...

Обратите внимание, что wl520g на азиатских рынках продаётся как WL500g-X, что не тоже самое, что wl500gx.
Сама прошивка представляет собой файл с расширением .trx, поэтому если Вы скачали прошивку в виде zip файла, то предварительно распакуйте его.

До перешивки рекомендуется проверить, что роутер функционирует нормально - все порты, лампочки и USB разъемы работают. Под ножкой роутера есть пломба из тонкого пластика, поэтому перед тем как влезать внутрь роутера, убедитесь, что он работает и все пломбы целы.
В будущем, когда будете обновлять неофициальные прошивки на более новые, Вам нужно будет сохранить настройки. В веб-интерфейсе зайдите в System Setup-> Flashfs Management->HERE. Они сохранятся в виде файла WL500g.Deluxe.tar.gz.
После обновления прошивки на новую нужно будет этот файл залить (кнопка Upload) из того же меню.
Есть еще настройки веб-интерфейса System Setup->Setting Management->HERE, но они не сбрасываются при обновлении прошивок. Их можно сохранить разве что на всякий случай.

Дополнительные возможности, которые появляются после перепрошивки

[править]
  1. Доступ к роутеру по telnet. Возможность настроить доступ по SSH
  2. Поддержка ext3 (upd: Имеется в стандартной прошивке)
  3. При использовании дополнительного репозитария можно поставить много самых разных программ.
  4. Можно одновременно работать в интернете по VPN и локальной сети.
  5. Со стандартной прошивкой у многих провайдеров просто не удается подключиться к интернету.
  6. Существует возможность выполнения пользовательских программ в определённые моменты времени. Такие программы можно написать на языке встроенного shell (ash), но будет работать и ELF исполняемый код (например, откомпилированная Си программа).
  7. Поддерживается программное изменение nvram (например, есть программная возможность сменить mac адрес - чего нельзя сделать со стандартной прошивкой) (upd: Смена MAC-адреса доступна и в стандартной прошивке)

Первый метод перепрошивки

[править]
  1. Отключите сетевой шнур от WAN, чтобы возможные сетевые атаки не повлияли на процесс, выньте из USB портов шнуры всех устройств.
  2. Перегрузите роутер. Это можно сделать командой reboot через телнет или веб-оболочку (При использовании стандартной прошивки для этого необходимо в браузере открыть страницу Main_AdmStatus_Content.asp, вбить Вашу команду и нажать на кнопку Refresh так же можно попробовать нажать просто Enter, но это не работает в некоторых прошивках. В родных прошивках Вы получите обратно содержимое стандартного вывода, но сообщений об ошибках Вы не получите. В альтернативной прошивке все это оставлено, но дополнительно добавлен редирект и для ошибок). Несколько секунд после перегрузки или включения питания НЕЛЬЗЯ выключать питание роутера - в первую секунду после подачи питания он пишет в nvram. По этой же причине вставлять шнур питания нужно быстро и чётко, а не втыкая-вытыкая его. Если nvram будет поврежден, то роутер может не загрузиться. Также нельзя выключать питание роутера, если вы дали команды на запись nvram явно: заливаете firmware, или дали команду "nvram commit".
  3. Зайдите на страницу администрирования Sytem Setup -> Firmware Upgrade. Нажмите кнопку Browse , выберите файл с прошивкой (имеет расширение trx). Нажмите кнопу Upload. При этом не ошибитесь страничкой, поскольку есть еще страница загрузки файла настроек. Через какое-то время роутер перегрузится - обычно через 2 минуты. Если в момент перешивки выключилось питание или перешивка не удалась - ничего страшного - прошивку можно залить программой от ASUS rescuer.exe даже если загрузился только бутлоадер.
  4. После перешивки роутер перегрузится. Если вы меняете версии прошивки, например, 1.8 на 1.9, то Вам нужно сбросить в настройки по умолчанию нажав на его корпусе кнопку RESET и удерживая ее 10 секунд. Если переходите внутри версии, например с 1.9.6 на 1.9.7, то это не нужно. Кнопку RESET надо жать ТОЛЬКО после того как роутер полностью загрузится – для этого надо подождать хотя бы минуту после перезагрузки.

Второй метод перепрошивки (с использованием утилиты восстановления ASUS-a)

[править]

Его отличия от первого метода

[править]
  1. Прошивка через веб очищает область памяти с настройками, если в этот момент выключить роутер или перегрузить, то будет проблема. Утилита восстановления шьёт только прошивку и делает это в 3 раза быстрее, поэтому получить проблемы если вдруг во время перешивки выключится питание менее вероятно.
  2. Для работы утилиты восстановления нужно назначить компьютеру с которого перешивать только один адрес по умолчанию 192.168.1.222 и нажимать кнопку RESET до включения питания - неудобство, если руки дрожат или адрес менять лень.

Перепрошивка загрузчика

[править]

Бутлоадер (загрузчик, CFE) – это программа которая грузит прошивку и при смене прошивок не меняется. Новая версия загрузчика выпускалась ТОЛЬКО для wl500g deluxe. Если в момент перешивки бутлоадера отключится питание, устройство можно нести в ремонт. Сейчас роутеры поставляются с новым загрузчиком и маловероятно, что вы купите со старым загрузчиком. Устройства со старым загрузчиком в wl500g deluxe имели проблему: распознавали только 16Мб из 32Мб установленной памяти и при перегрузке роутер несколько секунд работал как свитч. Ссылка на инструкцию по перешивке бутлоадера [2] вкратце:

  1. Проверить, что нужно перешивать. Можно зайти telnetом на роутер - имя admin пароль - какой установлен в веб-оболочке. Дать команду

nvram get hardware_version должен выдать WL500gx-01-01-01-33 - надо перешивать, память не распознается WL500gx-01-03-01-33 - можно перешить WL500gd-01-04-01-50 - перешивать не нужно, бутлоадер новый Если нужно перешивать, то серийный номер роутера должен начинаться на 49, 4A, 4B, 4C, 51, 52, 53 - на них есть проблемы и перешивка проверялась.

  1. скачайте программы для обновления с этого адреса [3]
  2. подсоедините роутер только к компьютеру, на компьютере запретить все сетевые интерфейсы и оставить только один IP-адрес 192.168.1.2/255.255.255.0 Убедиться, что роутер виден с компьютера.
  3. включите питание роутера, нажав кнопку на роутере и удерживая ее в нажатом состоянии . Когда лампочка на роутере начнет мигать, тогда можно отпустить кнопку. Роутер останется в режиме восстановления.
  4. запустите программу burnboot.exe и нажмите единственную кнопку в окошке этой программы, появится окно с выбором файла - выберите pmon.bin и нажмите Save
  5. кнопка в окне поменяется, нажмите на нее. В этот момент начнется перешивка лоадера, питание не выключать. Примерно через 7 секунд роутер пойдет на перезагрузку и лампочка на нем перестанет мигать. Программа выдаст сообщение Pass. После этого закройте окно программы.
  6. Бутлоадер перешит, но MAC-адрес неверен, его надо поменять. Нужно снова выключить питание роутера, потом нажмите кнопку на роутере и удерживая ее в нажатом состоянии включите питание роутера. Лампочка на роутере начнет мигать, тогда можно отпустить кнопку. Роутер останется в режиме восстановления.
  7. Запустите программу burnmac.exe В поле ввода вставьте MAC адрес, который написан на корпусе роутера. Причем вводить нужно без двоеточий. Например, 0011D8A94455 вместо 00:11:D8:A9:44:55. Может состоять только из чисел и английских букв ABCDEF, буквы "O" быть не может, только нуль. Если ввести неверный адрес, например все нули, то придется либо возиться с консольным кабелем, либо идти в сервис.
  8. Нажмите в окне программы кнопу OK. Надпись на кнопке поменяется на Writing. После успешного обновления появится сообщение Pass и роутер перегрузится. Закройте окно программы.
  9. Зайдите на страницу администрировнаия, чтобы убедиться, что роутер успешно загрузился. После этого нажмите на роутере кнопку Reset и удерживайте ее пока лампочка не начнет мигать - примерно 10 секунд. Роутер будет сброшен в настройки по умолчанию -все это нужно, чтобы избежать глюков.

Помните, что нажатие кнопки RESET на роутере всего лишь дает сигнал прошивке сбросить настройки и не более. Если прошивка не загрузилась нормально (кривая, не к этой модели), то кнопка RESET ничего не делает. Еще - если нажать ее до включения питания, она дает сигнал бутлоадеру не грузить прошивку, а перейти в rescue режим

Настройка роутера

[править]

Есть два варианта настройки роутера – с использование веб интерфейса и с использованием telnet-a (потом можно настроить доступ по ssh). Ряд настроек можно сделать только через telnet (ssh)

Получение доступа к роутеру с использованием веб-интерфейса

[править]

Для получения доступа введите следующий адрес в ваш интернет браузер: http://192.168.1.1 По умолчанию имя пользователя и пароль: admin. После входа вы увидите домашнюю страницу маршрутизатора.

Для начала рекомендуется сразу же сменить имя пользователя и пароль. Для этого зайдите в пункт System Setup . Там есть два пункта: пункт Change Name - в нем Вы должны дважды ввести свое новое имя и нажать кнопку save. пункт Change Password – аналогично два раза вводите новый пароль и нажимаете кнопку save. Перезагрузите роутер.

Получение доступа к роутеру через Telnet

[править]

При работе в операционных системах семейства Windows вы можете поставить программу PuTTY
Или в cmd.exe (для компьютера с операционной системой Mac OS X нужно вызвать Terminal) (для компьютера с операционной системой Windows Vista нужно установить telnet http://windowshelp.microsoft.com/Windows/ru-RU/help/81b6d4b7-905e-4d70-8379-7934913fedb01049.mspx) набрать:

telnet 192.168.1.1

либо

telnet 192.168.1.1 23

где 192.168.1.1 - адрес роутера, 23 - порт telnet (по-умолчанию)

Начальные настройки

[править]

Для корректной работы с русским языком в версиях до 1.9.2.7-8.8 введите:

nvram set usb_vfat_options=codepage=866,iocharset=cp1251
nvram set usb_ntfs_options=iocharset=cp1251
nvram set usb_smbcpage_x=866
nvram set usb_smbcset_x=1251
nvram commit

Для отключения STP (чтобы не засорять сеть лишними данными) введите:

nvram set lan_stp=0
nvram commit

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

mkdir -p /usr/local/sbin/
echo "#!/bin/sh" > /usr/local/sbin/post-boot
echo "#!/bin/sh" > /usr/local/sbin/post-mount
echo "#!/bin/sh" > /usr/local/sbin/post-firewall
echo "#!/bin/sh" > /usr/local/sbin/pre-shutdown
echo "#!/bin/sh" > /usr/local/sbin/pre-boot
chmod +x /usr/local/sbin/p*
flashfs save && flashfs commit && flashfs enable

Автоматический переход на зимнее/летнее время

[править]

По умолчанию железяка не хочет понимать наших проблем с переводом часов на летнее/зимнее время. Это проблема uclibc, там таймзоны кривые. Что же, поправляем.

[ ! -e /usr/local/sbin/pre-boot ] && echo "#!/bin/sh" >> /usr/local/sbin/pre-boot && chmod +x /usr/local/sbin/pre-boot
echo 'TZ="MST-3MDT,M3.5.0/2,M10.5.0/3"
echo "$TZ" > /etc/TZ
nvram set time_zone="$TZ"' >> /usr/local/sbin/pre-boot
flashfs save && flashfs commit && flashfs enable

Не забудьте подставить правильные параметры тайм-зоны. Значение можно взять из списка ниже:

Ashgabat/Ashkhabad  TMT-5
Baku                AZT-4AZST,M3.5.0/4,M10.5.0/5
Bishkek             KGT-6
Irkutsk             IRKT-8IRKST,M3.5.0,M10.5.0/3
Kaliningrad         EET-2EEST,M3.5.0,M10.5.0/3
Kamchatka           PETT-12PETST,M3.5.0,M10.5.0/3
Krasnoyarsk         KRAT-7KRAST,M3.5.0,M10.5.0/3
Kyiv                EET-2EEST,M3.5.0/3,M10.5.0/4
Magadan             MAGT-11MAGST,M3.5.0,M10.5.0/3
Minsk               EET-2EEST,M3.5.0,M10.5.0/3     EET-3EEST (с 2011 года часы больше не переводят, FET - роутер не знает)
Moscow              MSK-3MSD,M3.5.0,M10.5.0/3
Novosibirsk         NOVT-6NOVST,M3.5.0,M10.5.0/3
Omsk                OMST-6OMSST,M3.5.0,M10.5.0/3
Riga                EET-2EEST,M3.5.0/3,M10.5.0/4
Sakhalin            SAKT-10SAKST,M3.5.0,M10.5.0/3
Samarkand           UZT-5
St.Petersburg       MST-3MDT,M3.5.0/2,M10.5.0/3
Tallinn             EET-2EEST-3,M3.5.0/03:00:00,M10.5.0/04:00:00
Tashkent            UZT-5
Tbilisi             GET-4
Tel_Aviv            IDDT
Ulan_Bator          ULAT-8
Vladivostok         VLAT-10VLAST,M3.5.0,M10.5.0/3
Yakutsk             YAKT-9YAKST,M3.5.0,M10.5.0/3
Yekaterinburg       YEKT-5YEKST,M3.5.0,M10.5.0/3
Yerevan             AMT-4AMST,M3.5.0,M10.5.0/3

Настройка работы с флеш-памятью и переносным жёстким диском

[править]

Форматирование

[править]

Сначала смотрим что и куда примонтировано с помощью mount:

/dev/root on / type squashfs (ro1)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part1 on /tmp/mnt/disc0_1 type xxx (rw,noatime)

Демонтируем:

umount /tmp/mnt/disc0_1

Затем форматируем:

mke2fs -j /dev/discs/disc0/part1

Монтируем, для нормальной работы инсталлируемых приложений требуется монтирование к /opt:

mount -o noatime,rw /dev/discs/disc0/part1 /opt

Обслуживание

[править]

Проверка файловой системы:

e2fsck /dev/discs/disc0/part1

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

проверка диска: посмотреть что смонтировано командой mount, демонтировать диск, если не демонтируется убить процессы stupid-ftp smbd nmbd и дать команду

e2fsck -f -y -v /dev/discs/disc0/part1

-f заставит проверить структуру файловой системы диска

-y ответит на все вопросы утвердительно

-v выдаст больше информации

Чтобы не выдавалось сообщений, что нужно проверить раздел ext3 можно выполнив tune2fs ( нужно установить e2fsprogs ):

tune2fs -c 0 -i 0 /dev/discs/disc0/part1

раздел перед этим должен быть смонтирован.

Настройка файла подкачки

[править]
#инициализация
dd if=/dev/zero of=/opt/swapfile bs=1024 count=65536 #создаем 64Mb файл
mkswap /opt/swapfile

#включаем своп
echo "swapon /opt/swapfile" >> /usr/local/sbin/post-mount
swapon /opt/swapfile

Настройка беспроводной сети

[править]

ПРОИЗВОДИТСЯ В МЕНЮ WIRELESS В нем настраивается Wi-Fi. Если вы его использовать не будете рекомендую сразу же отключить его. Для этого надо войти в пункты Status & Log --- Wireless – и нажать кнопку Disable. Если потом захочется его включить нажмите кнопку Enable.

Все настройки вводятся в веб-интерфейсе. Интерфейс прост. Помните о нескольких моментах:

  • Operation Mode обычно Home Gateway - будет работать как NAT.
  • Wireless->Interface: выбрать канал подальше от тех, которые слышны поблизости. Помните, что спектр сигнала Wi-Fi занимает несколько соседних каналов. Для минимизации интерференции следует использовать 1, 6 или 11 канал. Диапазон каналов с 4 по 8 сильно зашумлён, так-как многие Wi-Fi устройства используют канал 6 "по умолчанию".
  • Для шифрования лучший выбор - WPA-PSK и TKIP, шифрование None - ввести только WPA Pre-Shared Key, остальные поля по умолчанию (если ставить TKIP+AES или еще WEP, то карта авторизуется но трафик не пройдет). *Пароль можно вводить ASCII или HEX - преобразование стандартизовано. Второй вариант - взломоопасный Shared key+WEP128bit при этом вводить нужно WEP Key 1 в 16-ричном виде, можно еще и Passphrase так как у ASUSа нестандартное преобразование (преобразование общепринято, хотя нестандартизовано).
  • Wireless->Access Control можно добавить MAC-адреса тех беспроводных карт которым позволено подключаться. В Advanced поставить Hide SSID=Yes, Set AP Isolated=No
  • IP Config->Route: если домашняя сеть сегментирована, можно ввести маршруты, но если маршрутов много или есть особенности (default gateway типа ADSL-модема во внутренней сети: домашняя сеть для файлов, модем для интернета), то лучше в этом окне не вводить, а ввести в файле post-boot (о нем ниже).
  • IP Config->Miscellaneous: Enable UPnP=Yes, NTP Server =pool.ntp.org, NTP synchronization interval (hours)=24
  • USB Application->FTP Server: Enable FTP Server=Yes, Allow Anonymous User to Login=No (иначе дыра в безопасности - по умолчанию ftp доступен из WAN), Allow Super User to Login=Yes, Login Timeout in Seconds=120 и добавить пользователя с именем anonymous паролем * (значок звездочка) Rights=read only. Если отключить ftp, то автомонтирования дисков не будет.
  • Enable Samba Demo mode=Yes, Enable hidden read-write share=Yes (если только не выставлять порт самбы вовне, по умолчанию он закрыт)
  • НЕ отключайте базовый firewall (Internet Firewall->Basic config).

После введения всех настроек на любой странице нажать Finish - роутер запишет в nvram параметры и перегрузится.

Если всё верно настроили, а беспроводной клиент не цепляется к роутеру, то его надо выключить и включить из розетки. Из-за того, что при изменении настроек беспроводной сети (например, список разрешенных MAC адресов) беспроводная часть без выключения питания не применяет настройки. Помните, что выключать питание роутера надо когда он полностью загрузится.

Иногда бывает глюк (это для продвинутых пользователей со специальными требованиями к маршрутизации): веб-интерфейс криво ставит маршруты, поэтому можно посмотерть их через telnet командой route -n и убедиться, что все маршруты верны. Если не верно, то маршруты можно выставить в файле post-boot.

Как сделать доступными все каналы Wi-Fi

[править]

Информация может пригодиться владельцам роутеров Asus с загрузчиком,
не настроенным на европейский рынок (т.е. доступны только 11 каналов),
либо отъезжающим в Японию (доступны 14 каналов, а не 13, как в Европе).

Итак, чтобы разрешить все 14 каналов (All World), необходимо выполнить либо
в telnet, либо через скрытую web-страницу (System Setup -> System Command) :
http://my.router/Main_AdmStatus_Content.asp

nvram set regulation_domain=0X00ALL
nvram commit

А для того, чтобы использовать европейские нормы (13 каналов) :

nvram set regulation_domain=0X30DE
nvram commit

После этого устройство нужно перезагрузить.

Чтобы посмотреть, какой регион стоит сейчас :

nvram get regulation_domain

Внимание: Использование 14-го канала в России крайне не
приветствуется "Государственным радиочастотным центром",
поэтому Вы берёте на себя полную ответственность за это. © Oleg

http://wl500g.info/showpost.php?p=17721&postcount=10&langid=3

Частоты каналов Wi-Fi (GHz)

  • 1 - 2,4125
  • 2 - 2,4175
  • 3 - 2,4225
  • 4 - 2,4275
  • 5 - 2,4325
  • 6 - 2,4375
  • 7 - 2,4425
  • 8 - 2,4475
  • 9 - 2,4525
  • 10 - 2,4575
  • 11 - 2,4625
  • 12 - 2,4675
  • 13 - 2,4725
  • 14 - 2,4700

Совет: Нужно выбрать канал подальше от тех, которые слышны вблизи.
Помните, что спектр сигнала Wi-Fi занимает несколько соседних каналов.
Для минимизации интерференции - следует использовать 1, 6 или 11 канал.
Диапазон каналов с 4 по 8 сильно зашумлён, т.к. многие Wi-Fi устройства
используют канал 6 "по умолчанию", если стоит выбор канала в "Auto". © @

http://forum.netbynet.ru/index.php?showtopic=95021&view=findpost&p=1131844

Настройка ПО

[править]

Установка

[править]

Для устанавливаемых программ нужен раздел ext3 (он желателен из-за поддержки прав доступа к файлам и возможности создания симлинков.).

  • Отключите ftp server (usb application -> ftp server -> enable ftp server = no).
  • перезагрузить роутер (finish, save&restart)
  • заходим на роутер телнетом

Флешка должна быть примонтирована в /opt ( и желательно отформатирована в ext3 как указано выше ), если этого еще не сделали можно сделать так:

mkdir /tmp/mnt/disc0_1/opt
mount --obind /tmp/mnt/disc0_1/opt /opt #смонтирует имеющуюся поддиректорию с флешкой в /opt (/tmp/harddisk/opt в старых моделях роутера)

Введите:

ipkg.sh update
ipkg.sh install ipkg-opt
ipkg update

Теперь можно устанавливать программы. Установка простая:

ipkg install имя_сборки

Чтобы посмотреть весь список доступных програм введите:

ipkg list

Список установленных программ:

ipkg list_installed

Если установка пакетов повредит предыдущие, можно переустановить поврежденный пакет командой

ipkg install -force-reinstall имя_сборки

Установка SSH-сервера

[править]

Если нужно, то можно установить SSH-сервер. Он полезен для доступа к роутеру не из дома, дома проще пользоваться телнетом. Зайдите при помощи telnet-а на роутер (описано выше) и введите команды:

mkdir -p /usr/local/etc/dropbear
dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
mkdir -p /usr/local/sbin/
echo "#!/bin/sh" >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
echo "dropbear" >> /usr/local/sbin/post-boot
dropbear
flashfs save && flashfs commit && flashfs enable

Теперь можно будет заходить по SSH с клиентов типа putty (в параметрах putty Windows->Translation можно выставить кодировку Win1251)

Настройка SAMBA

[править]
Настройка рутера как Workgroup Master
[править]

Для начала отключаем через вэб-интерфейс поддержку samba, ибо подымать ее будем ручками. Затем настраиваем конфигурационный файл:

echo \
"[global]
local master = yes
domain master = no
preferred master = yes 
interfaces = br0
bind interfaces only = yes
workgroup = workgroup
server string = asus
guest account = nobody
security = user
browseable = yes
dns proxy = no
guest only = no
guest ok = yes
log level = 1
max log size = 100
encrypt passwords = yes
preserve case = yes
short preserve case = yes
client code page = 866
character set = 1251
wins support = yes
time server = yes
os level = 255
hosts allow = 192.168.1.

[share$]
path = /
comment = share
guest ok = no
writable = yes
force user = admin
browseable = no
valid users = admin
" > /usr/local/etc/smb.conf

echo ln -s /usr/local/etc/smb.conf /etc/smb.conf >> /usr/local/sbin/post-boot
ln -s /usr/local/etc/smb.conf /etc/smb.conf

echo ln -s /usr/local/etc/smbpasswd /etc/smbpasswd >> /usr/local/sbin/post-boot
ln -s /usr/local/etc/smbpasswd /etc/smbpasswd

#автозагрузка
echo nmbd -D -s /usr/local/etc/smb.conf >> /usr/local/sbin/post-boot
echo smbd -D -s /usr/local/etc/smb.conf >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot

#сохраняем
flashfs save && flashfs commit && flashfs enable && reboot

Это позволит корректно отображать русские символы, позволит обращаться компам из подсети 192.168.1.0 и создаст скрытый каталог share$ - в котором будут видны все файлы на рутере.

Настройка роутера как Domain Controller
[править]
Настройка пользователей
[править]

Добавлять можно только тех юзверей, которые есть в passwd. Добавляем admin:

smbpasswd -a admin

Добавляем нового пользователя:

adduser -h /opt -s /sbin/nologin -G root -H new_user
smbpasswd -a new_user

Заменяем стандартный syslogd на syslog-ng

[править]

первым делом устанавливаем syslog-ng

ipkg update
ipkg install syslog-ng

после установки заменяем или исправляем файл запуска /opt/etc/init.d/S01syslog-ng на следущее:

#!/bin/sh
#
# Startup script for syslog-ng
#

# Stop syslogd if running
if [ -n "`pidof syslogd`" ]; then
    killall syslogd 2>/dev/null
    sleep 1
fi

if [ -n "`pidof klogd`" ]; then
    killall klogd 2>/dev/null
    sleep 1

    # copy content of original syslogd to new syslog.
    cat /tmp/syslog.log >> /opt/var/log/syslog-ng.log
    # remove old syslog.log
    rm /tmp/syslog.log

    ln -s /opt/var/log/syslog-ng.log /tmp/syslog.log
fi
	
# Stop itself if running
if [ -n "`pidof syslog-ng`" ]; then
    killall syslog-ng 2>/dev/null
    sleep 2
fi

/opt/sbin/syslog-ng

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

заменяем файл конфигурации /opt/etc/syslog-ng/syslog-ng.conf на следующее:

################################################################################
# Syslog-ng configuration
# /opt/etc/syslog-ng/syslog-ng.conf
#

###############################################################################
# tiwag's active filters and logs
#

options { long_hostnames(off); sync(0); };

source src { file("/proc/kmsg");unix-stream("/dev/log"); internal(); };
source net { udp(); };

destination mysyslog {
file("/opt/var/log/syslog-ng.log"
owner("root")
group("root")
perm(0640)
template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
); 
};

destination authwarnlog { 
file("/opt/var/log/authwarn.log"
owner("root")
group("root")
perm(0640)
template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
); 
};

destination vsftpdlog   { file("/opt/var/log/vsftpd.log"
template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
);
};
destination dropbearlog { file("/opt/var/log/dropbear.log"
template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
);
};
destination cronlog     { file("/opt/var/log/cron.log"
template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
);
};

filter f_ni_syslog-ng { not ( level(info) and program(syslog-ng) ); };
filter f_ni_thttpd    { not ( level(info) and program(thttpd)    ); };
filter f_ni_vsftpd    { not ( level(info) and program(vsftpd)    ); };
filter f_ni_cron      { not ( (level(notice) and program(cron) ) or ( level(info) and  facility(cron) ) ); };

filter f_vsftpd   { ( program(vsftpd)   ); };
filter f_dropbear { ( program(dropbear) ); };
filter f_cron     { ( level(notice) and  program(cron) ); };
filter f_authwarn { ( ( ( level(info) or level(warning) ) and program(dropbear) ) or ( ( level(warning) ) and  program(vsftpd) ) ); };

###############################################################################
# active logs
#

log { source(src); 
filter(f_ni_vsftpd); 
filter(f_ni_thttpd); 
filter(f_ni_syslog-ng); 
filter(f_ni_cron);
destination(mysyslog); };

log { source(src); 
filter(f_vsftpd);   
destination(vsftpdlog); };

log { source(src); 
filter(f_dropbear); 
destination(dropbearlog); };

log { source(src); 
filter(f_authwarn); 
destination(authwarnlog); };

log { source(src); 
filter(f_cron); 
destination(cronlog); };

после перезагрузок лог сохраняется.

Соответственно системный лог находится в /opt/var/log/syslog-ng.log,

ошибки авторизации /opt/var/log/authwarn.log

подключения по ftp /opt/var/log/vsftpd.log

подключения по ssh /opt/var/log/dropbear.log

логи cronа /opt/var/log/cron.log

для приведения логов CRONа в порядок, заменяем скрипт /opt/bin/run-parts на следущее:

#!/bin/sh
#
# runparts.sh by macsat@macsat.com
# intended for use with cron
#
# based on rc.unslung by unslung guys :-)
#
if [ -z "$1" ]
then
echo "Usage : $0 "
fi

RUNDIR=$1"/*"

for i in $RUNDIR ;do

# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue

case "$i" in
*.sh)
# Source shell script for speed.
(
logger -t "$i" "running"
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
logger -t "$i" "running"
$i start
;;
esac
done

Для того чтоб логи сильно не раздувались, написал скрипт для автоматического архивирования любых логов, находящихся в папке логов. Скрипт помещаем в папку ежечасного запуска CRONa /opt/etc/cron.hourly/archivelog.sh

#!/bin/sh

log_dir="/opt/var/log"
archive_dir="/opt/var/log/archive"
log_max_size=100  #Kb

sleep 1

for i in $log_dir/* ;do

# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue

if (expr $(du $i | sed 's/\/.*//') \> $log_max_size > /dev/null 2>&1) then
  { 
  archive_file=`echo "0" $i | sed 's:^.*/\(.*\):\1:g'`
  archive_file=`date +%Y%m%d%H-$archive_file`
  archive_file="$archive_dir/$archive_file"

  cp "$i" "$archive_file"
  printf "Contents of this file are placed in archive $archive_file.gz\n" > $i
  gzip "$archive_file" 

  sleep 1

  prg=`echo "0" $0 | sed 's:^.*/\(.*\):\1:g'`
  logger -t "$prg" "$i compressed to $archive_file.gz"
  }
fi

done

скрипт проверяет директорию с логами, если находит лог размером более указанного, то архивирует его в указанную папку.

ЗЫ: я у себя перенастроил все программы, чтоб логи писались в папку /opt/var/log/

Не забываем сделать скрипты исполняемыми:

chmod +x /opt/etc/init.d/S01syslog-ng
chmod +x /opt/etc/cron.hourly/archivelog.sh

и создать директорию для архивов

mkdir -p /opt/var/log/archive/

ну и чтоб все это начало работать:

reboot

arpwatch

[править]
  • Установить arpwatch, esmptd и syslog-ng и настроить их по минимуму.
  • Создать для arpwatch'a файл с базой /opt/arpwatch/arp.dat
  • Добавить arpwatch -N -i vlan1 в автозагрузку
  • Создать обработчик логов /opt/bin/syslog-ng-arpwatch, будет писать письма:
#!/bin/sh
sign='\n\n--\nRegards,\nAsus WL500gp'
sender='Asus WL500gp<mail@from.ru>'
subj='Probable ARP Spoofing'
rcpt='from@from.ru'
while read line
do
mac="$(echo $line | grep 'changed ethernet address' | awk '{print $10}')"
[ -z "$mac" ] && continue
(echo -e "From: $sender\nTo: $rcpt \nSubject: $subj \n\n$line $sign" | sendmail $rcpt)
done
  • Добавить в конфиг syslog-ng:
destination dp_arpspoofing { program("/opt/bin/syslog-ng-arpwatch"); 
file("/opt/var/log/arpspoof.log"); };
destination df_arpwatch { file("/opt/var/log/arpwatch.log"); };
filter f_arpwatch { program("arpwatch"); };
filter f_arpspoofing { program("arpwatch") and match ("(changed ethernet address|mismatch) нужный-для-слежки-ip"); };
log { source(src); filter (f_arpwatch); destination(df_arpwatch); };
log { source(src); filter (f_arpspoofing); destination(dp_arpspoofing); };

Работа с NVRAM

[править]

Учетные записи HTTP

[править]

Узнаем текущие login/password:

nvram get http_username
nvram get http_passwd

Меняем на новые:

nvram set http_username=newname
nvram set http_passwd=newpassword

Руссификация самбы в версиях до 1.9.2.7-8.8

[править]
nvram set usb_vfat_options=codepage=866,iocharset=cp1251
nvram set usb_ntfs_options=iocharset=cp1251
nvram set usb_smbcpage_x=866
nvram set usb_smbcset_x=1251

Сброс настроек UPnP

[править]

UPnP не подчищает за собой port mappings и оставляет записи в nvram. Посмотреть эти записи можно так:

nvram show | grep "forward_port"

forward_port0=9999-9999>192.168.1.1:9999-9999,udp,on,Azureus UPnP 9999 UDP
forward_port1=9999-9999>192.168.1.1:9999-9999,tcp,on,Azureus UPnP 9999 TCP
forward_port2=49001-49001>192.168.1.1:49001-49001,udp,on,Azureus UPnP 49001 UDP
forward_port3=3000-3000>192.168.1.1:3000-3000,tcp,on,EiskaltDC++ 3000 (TCP)
forward_port4=3031-3031>192.168.1.1:3031-3031,tcp,on,EiskaltDC++ 3031 (TCP)
forward_port5=3000-3000>192.168.1.1:3000-3000,udp,on,EiskaltDC++ 3000 (UDP)

После перезагрузки эти записи попадают в iptables и могут портить настройки NAT.

iptables -t nat -L -nv

Удалить записи из nvram можно командой "nvram unset XXX"

Очистить все записи можно скриптом:

for a in `nvram show | grep "forward_port" | sed "s/=.*//"` ; do nvram unset $a ; done

Настройка нескольких WAN

[править]

Создание

[править]

Нужно тем, у кого несколько провайдеров или если хочется разделить порты и раздавать интернет независимо. В роутере используется свитч с поддержкой vlan.

Порты нумеруются USB-1-2-3-4-0, где 0-WAN.

Чтобы сделать например 1 порт независимым нужно дать команды:

robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
vconfig add eth0 2

После этого появится полноценный интерфейс vlan2. Посмотреть список интерфейсов командой:

ifconfig -a

Посмотреть конфигурацию портов свитча:

robocfg show

Новому интерфейсу можно назначить свой MAC адрес командой:

ifconfig vlan2 hw ether 00:11:32:23:32:23

Запустить интерфейс:

ifconfig vlan2 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0 up

Пошаговая настройка роутера для работы двух провайдеров:

[править]

Что необходимо: получить интернет и локальные ресурсы от П1 и получить локальные ресурсы от П2.
Что дано: 2 провайдера, по 1 кабелю от каждого.
1-й провайдер, назовем его "П1", второй, соответственно, "П2"

П1 подключен к основному wan порту, у него автоматическая раздача настроек (DHCP). Подразумевается, что интернет от П1 уже настроен, прописаны необходимые маршруты и т.д.
У П2 настройки производятся вручную (DHCP нет).
Из особенностей, диапазон внутренней сети пересекается: у обоих сеть вида 10.0.0.0/255.0.0.0 Для необходимого диапазона адресов просто настроим маршрутизацию.

Вопрос решается двумя способами:
- только через редактирование и добавление строк в файлы post-boot и post-firewall
- настройка второго wan производится уже не через post-boot. А маршрутизация все также в post-firewall (второй вариант лучше, т.к. интерфейс wan2 при перезагрузке уже работает, а в первом - он поднимается только с загрузкой файла post-boot, т.е. до момента загрузки файла роутер может отправлять не правильные пакеты в сеть П2).

1-й вариант:

Нужно добавить следующие строки в файл post-boot:

#!/bin/sh 
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t" #строка создает из интерфейса lan1 второй wan
vconfig add eth0 2 #задает название второму интерфейсу
ifconfig vlan2 hw ether 00:00:00:00:00:00 #строка присваивает второму интерфейсу wan определенный мак-адрес, нужно, если провайдер осуществляет привязку по мак'у (вместо 00:00:00:00:00:00 вводим свой мак-адрес)
ifconfig vlan2 10.xx.xx.xx broadcast 10.10.255.255 netmask 255.255.0.0 up #строка запускает, определяет диапазон сети для второго интерфейса. 10.xx.xx.xx - ВАШ IP адрес, заданный провайдером! 10.10.3.10, например

Нужно добавить следующие строки в файл post-firewall:

#!/bin/sh 
route add -net 75.75.75.20 netmask 255.255.0.0 gw 10.yy.yy.yy dev vlan2 #задаем необходимые адреса П2, которые нужны для доступа к его ресурсам, вместо 10.yy.yy.yy пишем шлюз П2
route add -net 10.12.0.0 netmask 255.255.0.0 gw 10.yy.yy.yy dev vlan2
route add -net 95.75.75.20 netmask 255.255.0.0 gw 10.yy.yy.yy dev vlan2
iptables -A INPUT -i vlan2 -m state --state NEW -j SECURITY #защита от DoS (не обязательно)
iptables -A FORWARD -i vlan2 -m state --state NEW -j SECURITY #защита от DoS (не обязательно)
iptables -t nat -A POSTROUTING -o vlan2 ! -s 10.xx.xx.xx -j MASQUERADE #вместо 10.xx.xx.xx прописываем IP, который задан на втором WAN, он же IP, который ВАМ выдал П2)
iptables -A FORWARD -i ! br0 -o ! br0 -j DROP #чтобы роутером не пользовались как халявным прокси
iptables -t nat -A PREROUTING -d 10.xx.xx.xx -j VSERVER #чтобы проброс портов из веб-интерфейса работал для второй сети, вместо 10.xx.xx.xx - ВАШ IP адрес, заданный провайдером

После введения строк в файлы post-boot и post-firewall, необходимо сохранить изменения и выполнить перезагрузку роутера:

flashfs save && flashfs commit && flashfs enable && reboot

2-й вариант:

в консоли пишем следующие строки:

robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
vconfig add eth0 2
ifconfig vlan2 hw ether 00:00:00:00:00:00
ifconfig vlan2 10.xx.xx.xx broadcast 10.10.255.255 netmask 255.255.0.0 up

Опять таки, вместо 00:00:00:00:00:00 указываем необходимый мак-адрес. Вместо 10.xx.xx.xx указываем IP адрес, заданный провайдером.

Обязательно после настройки сохранить результат командой:

nvram commit

Переходим к заполнению файла post-firewall, здесь все тоже самое из первого варианта настройки.

Сохраняем настройки и перезагружаемся:

flashfs save && flashfs commit && flashfs enable && reboot

Балансировка трафика

[править]

Создание PPTP соединения вручную

[править]

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

[править]

Настройка программ для работы через роутер

[править]

Настройка работы DC++ в активном режиме

[править]

Действие первое: настраиваем DC++ без роутера! Чтобы быть уверенным что все вообще работает.

Действие второе: подключаем роутер, настраиваем DC++ снова. Для примера привожу настройки клиента StrongDC++ (в других программах аналогично)
(X) Firewall With manual Port Forwarding
Ports TCP 16002 (для 192.168.1.2, чтобы потом не запутаться, для 192.168.1.123 будет 16123 и т.д.)
Ports UDP 16002
External\WAN IP : Внешний IP моего роутера
(X) Don't Allow HUB\UPNP to override
(_)Auto update IP on startup
Правка 28.04.2009: - еще пример настроек клиента FlylinkDC-r382-build-1685 для провайдера, который дает динамические реальные IP. Заходим в Файл - настройки - настройки соединения.Там пишем:

Сетевой интерфейс для всех соединений - 0.0.0.0

Настройки входящих соединений - Брандмауэр с ручным перенаправлением портов.

Обновить IP при старте - ставим галку (у ряда провайдеров с динамическими IP автоматическое обновление IP при старте не происходит, тогда нужно вручную при каждой смене сессии РРоЕ и старте клиента Flylink, нажимать кнопку "Найти IP адреса").

настройки исходящих соединений - Прямое соединение.

Порты TCP и UDP - ставим любые удобные, но больше 1048. Главное, чтобы именно они были затем прописаны в роутере. Упомянутый выше 16002 - подходит.

Действие третье: настраиваем роутер. Router:
NAT Settings -> Virtual Server
Enable Virtual Server: (X) Yes
PortRange 16002
Local IP 192.168.1.2
Protocol BOTH ИМЕННО BOTH!
LocalPort 16002
Protocol No. (Пусто)
Правка 28.04.2009:- Аналогичные правила нужно создать для протоколов TCP и UDP.

Теперь сохраняемся, перегружаемся и проверяем ДЦ.

Должно работать все кроме поиска (Правка 28.04.2009:- включая поиск). Если не работает, дальше не переходим, а смотрим где ошибка в предыдущих действиях.

Для Активных работает. К сожалению, не имею возможности проверить на пассивных, ибо локалка и все активы. Но вроде должно.

В принципе если пользователей мало, то на этом можно закончить. Если пользователей в ДЦ много, больше 100, едем дальше!

Данные о найденных файлах в ДЦ приходят в виде UDP-пакетов. По умолчанию роутер принимает только 5 UDP-пакетов в секунду, остальные - отшибает навсегда. о есть если вам придет 100 результатов поиска за 1 секунду(что реально для локальных сетей), вы увидите только 5 из них. Чтобы это победить надо сделать:

Записать в автозапуск строку iptables -I SECURITY -p udp --dport 16002:16254 -j RETURN .
Как это сделать, если сами не знаете, описывается далее. Если знаете то дальше читать не надо

Шарящих просьба вдумываться в написанное и делать поправку на свою ситуацию.

Для прошивки Олега (в асусовской у вас будет глючить поиск, будет мало результатов):
Зайдите на роутер, на вкладку System Setup / Services
Запомните значение параметра Enable telnet access:. Теперь меняем:
Enable telnet access: YES - включили доступ на роутер через telnet.
Нажимаем Finish, потом Save and Restart.
Ждем полной загрузки роутера + еще 30 секунд.

Пуск-Выполнить-"telnet 192.168.1.1"-ОК - 192.168.1.1 - IP роутера
Видим filimonic.local.zelan login:
Вводим логин роутера (поумолчанию admin) и жмем
Видим Password:
Вводим пароль роутера (по умолчанию admin) и жмем
Видим приглашение командной строки роутера
[ххх@filimonic root]$
Пишем следующие команды
Код:
cd /usr/local
mkdir -p /usr/local/sbin/
cd sbin
ls <ENTER>
Далее следуют два варианта: файл post-firewall есть, либо его нет

Вариант когда есть, роутер выдаст (среди строк присутствует post-firewall, могут быть и другие файлы):

[ххх@filimonic sbin]$ ls
post-firewall
Вариант когда нет, роутер выдаст (среди строк НЕТ post-firewall, но могут быть другие файлы, КОТОРЫЕ НАС НЕ ИНТЕРЕСУЮТ: [ххх@filimonic sbin]$ ls [ххх@filimonic sbin]$

Если нет, делаем это: Цитата: touch ./post-firewall
chmod +x ./post-firewall
echo '#!/bin/sh' > ./post-firewall ( знак > перезаписывает файл и добавляет туда строку)
echo iptables -I SECURITY -p udp --dport 16002:16254 -j RETURN >> ./post-firewall
(знак >> НЕ ПЕРЕЗАПИСЫВАЕТ ФАЙЛ, а добавляет строку в конец)
Если есть, делаем так:
cat post-firewall

Если первая строка выглядит так: #!/bin/sh, делаем

chmod +x ./post-firewall
echo iptables -I SECURITY -p udp --dport 16002:16254 -j RETURN >> ./post-firewall

Если первая строка выглядит НЕ так: #!/bin/sh, делаем

chmod +x ./post-firewall
echo '#!/bin/sh' > ./post-firewall ( знак > перезаписывает файл и добавляет туда строку)
echo iptables -I SECURITY -p udp --dport 16002:16254 -j RETURN >> ./post-firewall

Теперь пишем (в любом случае, независимо от предыдущих "если")
flashfs save
flashfs commit
flashfs enable
reboot
Заходим на роутер, в System Setup -> Services и ставим Enable Telnet Access в прежнее значение Save, Finish and Restart.

Настройка работы торрент клиентов

[править]

Взято с http://wl500g.info/showpost.php?p=112888&postcount=1232 ADOS & MySql & Curl— Замена Download Master

Эта система работает с 3 типами баз данных. В данной статье я хочу показать как работать с MySql. Также, в качестве модуля закачек система может работать тоже с тремя типами, я выбрала Curl. По материалам http://wl500g.info/showthread.php?t=10012 , http://vectormm.net/routery-asus/6-ustanovka-ados.html Для устройства WL500g Premium v.1, прошивка 1.9.2.7-10а

1. Устанавливаем нужные вспомогательные пакеты:

ipkg update
ipkg install lighttpd mod-fastcgi php-fcgi php-mysql php-mbstring libcurl mysql sqlite cron mc

2. Установка ADOS Создаем директорию где у нас будет ADOS Код:

mkdir -p /opt/share/www/ados

переходим в директорию Код:

cd /opt/share/www/ados

Скачиваем сам дистрибутив Код:

wget http://download.dini.su/ados/stable

Распаковываем Код:

tar zxvf ./*

3. редактируем /opt/etc/lighttpd/lighttpd.conf

mcedit /opt/etc/lighttpd/lighttpd.conf

(Используйте F10 или Esc 0 для выхода. Вам возможно надо запускать mcedit с опциями "mcedit -xc" (то есть xterm color ). Для обучения клавиатуре наберите Esc 9 o k Enter F1 Tab Enter F2 ... и так все клавиши. Не забудьте сохранить конфигурацию).

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

server.event-handler = "poll"
  1. иначе буде ругатся: lighttpd (server.c.1105) fdevent_init failed

Раскомментируем (удаляем в начале строки #) строки:

"mod_fastcgi"

Раскомментируем (удаляем в начале строки #) строки:

dir-listing.activate = "enable"
  1. это чтобы можно было листать директории, не содержащие index.* и т.п. Т.е. таким образом можно будет элементарно скачивать файлы с роутера по http. Необходимо для торрента transmission.

4. Редактируем /opt/etc/crontab. Он должен выглядеть следующим образом:

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/usr/local/sbin:/opt/bin:/usr/local/bin
MAILTO=""
HOME=/

*/1 * * * * admin run-parts /opt/etc/cron.1min
*/5 * * * * admin run-parts /opt/etc/cron.5mins
01 * * * * admin run-parts /opt/etc/cron.hourly
02 4 * * * admin run-parts /opt/etc/cron.daily
22 4 * * 0 admin run-parts /opt/etc/cron.weekly
42 4 1 * * admin run-parts /opt/etc/cron.monthly

Создаем нужные директории:

mkdir -p /opt/etc/cron.1min /opt/etc/cron.5mins  /opt/etc/cron.hourly /opt/etc/cron.daily /opt/etc/cron.weekly /opt/etc/cron.weekly /opt/etc/cron.monthly

Создаем директорию для скачивания: (эту директорию потом следует указать при инсталяции ADOS в вебе)

mkdir /opt/share/www/ados/files

5.Установка и настройка Mysql Код:

ipkg install mysql php-mysql

Устанавливаем стандартную БД, меняем пароль root’a mysql (На все вопросы Y/N нажимаем Enter)

mysql_secure_installation

Прописываем нового пользователя в mysql

mysql -p -u root
CREATE DATABASE ados;
use mysql;
insert into user values ('localhost','ados','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
insert into user values ('%','ados','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
exit
flashfs save && flashfs commit && flashfs enable && reboot

6. Последний штрих Код:

http://ваш_роутер:8081/ados например http://192.168.1.1:8081/ados или http://192.168.10.1:8081/ados

Далее следуем инструкциям. И не забываем, у нас система оптимизирована на работу с БД mysql и довлоадером Curl.

5. пункт надо переделать. У вновь создаваемого пользователя права идентичны root. Желательно их ограничить до уровня базы ADOS.

UPDATE спасибо - denis-on

Редактируем /opt/etc/php.ini

nano /opt/etc/php.ini

Ищем строки с перечислением extension, и добавляем туда:

extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so

Настройка eMule

[править]

настройка eMule Установить eMule. Открыть eMule. Нажать Options. Выбрать пункт Connections. В блоке Client port указать номер порта для TCP, например 4662 . А для UDP, например, 4672 Внимание, компьютер должен иметь статический ip адрес.

Зайти в web-интерфейс роутера. Нажмите NAT Settings в появившемся меню выбрать Virtual Server. Если он не включен, включить Virtual Server. В "Well-Known Applications" выбрать "User defined". Ниже Virtual Server List, в поле "Local IP" поместить IP адрес вашего компьютера (статический). В поле "Port Range" поместить порт, указанный в eMule, в нашем случае – 4662. В поле Protocol установить TCP . Поле"Protocol Nº." не трогать, в поле "description" указать, например, Emule Rule 1. Нажать ADD. Аналогичные действия понадобятся для добавления второго правила. Только порт указать 4672, Protocol указать UDP, название дать, например, Emule Rule 2. Нажать ADD. Потом нажать Apply . Для high id необходимо указать именно два порта по отдельности, не использовать вариант both.

Источник - настройка роутера