Главная > Компьютеры > Asus WL-500gP - начальная настройка маршрутизатора

Asus WL-500gP - начальная настройка маршрутизатора


9 декабря 2015 19:37. Разместил: Altyn

Данное описание справедливо для прошивок начиная с версии 1.9.2.7-8.21, так же проверено на 1.9.2.7-9 и 1.9.2.7-10 с прошивками "от энтузиастов", но воспользоваться им вы можете только на свой страх и риск. Все нижеуказанные действия проводились на модели WL500g Premium v.1 с подключенным USB диском, но так же справедливы для остальных моделей, которые поддерживают работу с внешним диском или флешкой и настройку из командной строки. WL500g Premium v.1 обладает одним из самых производительных процессоров в линейке и объемом оперативной памяти 32Мб, расширяемым до 128Мб заменой микросхем. Так же запаситесь временем, чтобы никуда не спешить и случайно в запарке не испортить всю работу. Если есть непосредственное соединение с Интернетом, то настройка пройдет без проблем в виде скачивания необходимых пакетов альтернативными способами и переливки их в роутер. Если не имеете начальных знаний о Линуксе, то опять-же необходим либо Интернет для гугления, либо литература в печатном виде по Линуксовым командам.

1. Установка альтернативной прошивки "От Олега"

Проще всего воспользоваться стандартной программой Asus Firmware Restoration Tool, входящей в комплект поставки роутера. Так же можно воспользоваться Веб интерфейсом роутера, но этот метод менее надежен. Скачайте необходимую прошивку в архиве с сайта http://oleg.wl500g.info (главное не ошибиться и скачать прошивку для своей модели, иначе можно убить роутер без возможности восстановления)

Роутер по-умолчанию имеет LAN адрес 192.168.1.1, для доступа к нему на компьютере лучше указать руками адрес например 192.168.1.2 Сбросьте настройки в дефолтные через веб интерфейс: логин:admin пароль:admin (процедуру сброса в дефолт читайте в мануале - там подробно все расписано). Распакуйте скачанный архив zip с прошивкой, там лежит единственный файл с расширением trx. Утановите на компьютер под управлением Windows Утилиту восстановления и выберите в ней пункт "firmware restoration". Выберите файл прошивки (модель_номер_прошивки.trx) и загрузите ее в утилиту. После перезагрузки роутера зайдите в веб интерфейс и сбросьте настройки в дефолт повторно. Снова перезагрузите роутер. Теперь у вас в роутере залита прошивка "От Олега" с настройками по-умолчанию.

Зайдите в веб интерфейс и первым делом смените пароль Админа. Произведите настройки роутера согласно выданным вашим провайдером данным. Если провайдер привязывает доступ в сеть к MAC адресу сетевой карты компьютера, то не забудьте склонировать его в настройки доступа - прописывается без пробелов или тире. Убедитесь, что провайдер не использует в сети IP адреса 192.168.1.х, иначе измените настройки DHCP сервера в роутере на любой другой неиспользуемый диапазон "серых" адресов. Что это такое - читайте в Инете.

 

Если у вас что-то не получилось, то проделывать расписанное
	далее опасно, можно повредить роутер!

2. Подключение к роутеру

Запустите telnet: Пуск -> Выполнить -> cmd -> OK, в появившемся окне ввести

"telnet 192.168.1.1" (без кавычек, и, если меняли IP адрес роутера,
	то вместо 192.168.1.1 указать свой. Нажать Ввод (Enter). 

Появится приглашение:

user:

ввести там admin затем должно появиться:

password: 

ввести там admin ввод пароля не отображается, это нормально. Если аутентификация прошла успешно, то появится приглашение вида:

[admin@wl500gP root]$

и можно вводить команды.

Проверьте доступность гейтвея провайдера (если он недоступен, то проверять настройки доступа в роутере).

ping IP_of_providers_gw -c 4

Если гейтвей пингуется, то можно попробовать пингануть любой внутренний сайт провайдера. Если доступен Интернет, то пингуем например www.ru Если сайт недоступен, то разбираемся с настройками WAN роутера. Дальнейшую настройку лучше проводить через SSH, поскольку этот протокол намного более защищен, чем telnet, поэтому устанавливаем его:

3. Установка SSH-демона

(в прошивках "от энтузиастов" не требуется!!!!)

Дальнейшие действия можно просто скопировать в окне телнета.

#делаем папку для dropbear:

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/
	touch /usr/local/sbin/post-boot
	touch /usr/local/sbin/post-firewall
	touch /usr/local/sbin/post-mount
	touch /usr/local/sbin/pre-mount
	touch /usr/local/sbin/pre-shutdown
	chmod +x /usr/local/sbin/* 

#делаем автозапуск dropbear:

echo "#!/bin/sh" >> /usr/local/sbin/post-boot
	echo "dropbear" >> /usr/local/sbin/post-boot

 

#костыль для uPnP

echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
	echo "grep -q -- '--dport 0\b' /tmp/nat_rules &&
	grep -v -- '--dport 0\b' /tmp/nat_rules | iptables-restore" >> /usr/local/sbin/post-firewall

#костыль для MTU/MRU

echo "iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j
	TCPMSS --clamp-mss-to-pmtu" >> /usr/local/sbin/post-firewall

 

Запускаем:

dropbear

Проверяем, запустился ли dropbear командой

ps

если в списке процессов он есть, то движемся дальше. Сохраняем все сделанные изменения и перезагружаем роутер:

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

4. Подключение жесткого диска

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

Позаботьтесь о сохранении старых данных с диска, в процессе настройки роутера все данные будут уничтожены.

Подаем питание на HDD, а только затем включаем роутер.

Дальнейшие подключения к роутеру для настройки производим например с помощью PUTTY (скачивается в Инете).

Запускаем putty, указываем IP адрес, выбираем SSH и нажимаем "connect". Подтверждаем используемый ключ.

Для полноценной работы лучше разделить диск на три части:

 

  • раздел под /opt (part1)
  • файл подкачки (part2)
  • данные (part3);

 

все разделы primary, ни в коем случае не extended.

Swap файл обычно делают размером 512MB (рекомендуемый минимум 128MB если у вас жуткая нехватка места на диске).

Раздел под /opt вполне достаточен размером 1GB Остаток места - под данные, можно разбить на несколько, на ваше усмотрение, но смысл?

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

Если не смогли разбить диск, подключив его к компьютеру, то разбивайте непосредственно на роутере,методика есть на asusforum.ru

Первый логический диск автоматом монтируется в /tmp/mnt/disc0_1

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

 

umount /path/to/disc/mountpoint
	fdisk /dev/discs/disc0/disc
	.....
	fdisk: m for help. p for view partitions. d for delete. n for new.

 

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

- иначе все данные будут уничтожены!!!

Создайте новые разделы:

  • part1 под файл подкачки 512MB type82
  • part2 сюда будем устанавливать программы 1024MB /opt
  • part3 для данных /tmp/mnt/disc0_3

(Сюда раздел смонтируется автоматом после выполнения всех подготовительных действий с диском).

Создаем файл подкачки:

n -> p -> 1 -> Enter -> +512M -> t -> 82

 

Создаем раздел под /opt:

n -> p -> 2 -> Enter -> +1024M

 

Создаем раздел под остальные данные:

n -> p -> 3 -> Enter -> Enter 

 

Сохраняем созданную структуру кнопкой w и выходим (чтобы увидеть изменения, необходимо перезагрузить роутер).

После перезагрузки вводим

fdisk -l и наблюдаем новую структуру разделов, созданную нами.

Активируем файл подкачки: (в новых прошивках не требуется, все само должно заработать)

mkswap /dev/discs/disc0/part1
	swapon /dev/discs/disc0/part1 

 

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

Теперь приступаем к форматированию остальных разделов:

mke2fs -j /dev/discs/disc0/part2
	mke2fs -j /dev/discs/disc0/part3

 

Данные команды отформатируют разделы в формат ext3.

Не вздумайте пытаться использовать FAT или NTFS, это вам не Винда, а Линукс!

И естественно, в Windows данные разделы будут не видны без установки дополнительных драйверов.

Для задания статического расположения разделов целесообразно воспользоваться файлом fstab:

vi /etc/fstab

 

vi - это текстовый редактор. Для модификации файла после открытия нажмите I, после модификации нажмите ESC.

Правой кнопкой мыши можно вставлять текст из клипборда. После выхода из режима редактирования нажмите :WQ, выход без сохранения - :Q!.

Вставьте следующие строки в файл /etc/fstab

#device Mountpoint FStype Options Dump Pass#
	/dev/discs/disc0/part1 none swap sw 0 0
	/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 1
	/dev/discs/disc0/part3 /tmp/mnt/disc0_3 ext3 rw,noatime 1 1

Разделы смонтированы и файл подкачки активирован, поздравляю! Но не расслабляйтесь, теперь необходимо все сохранить,

чтобы после перезагрузки не рвать на себе волосы из-за потери половины произведенных действий!

Выполните команду:

echo "/etc/fstab" >> /usr/local/.files

5. Стартовые скрипты

Небольшая цитата от Олега: "Итак, моя прошивка пытается исполнить следующие файлы:

  • /usr/local/sbin/pre-boot - исполняется до основной инициализации, в момент, когда ещё не подгружены

никакие модули ядра, но уже развёрнут flashfs и скопирован начальный образ для /etc из /usr/etc.

  • /usr/local/sbin/post-boot - исполняется после того, как устройство закончило загрузку и запустило все сервисы,

за исключением связанных с веб-камерой и usb дисками (они запустятся примерно через 10 секунд после этого

при "обработке" hot plug событий, когда АСУСовский обработчик до них доберётся)

  • /usr/local/sbin/post-mount - отрабатывает, когда устройство завершает монтирование usb дисков,

с тем чтобы Вы могли запустить свои сервисы, которые эти диски используют

  • /usr/local/sbin/post-firewall - исполняется всякий раз, после того как устройство меняет внутренние

правила с помощью команд iptables, с тем, чтобы Вы могли внести свои изменения в firewall

  • /usr/local/sbin/pre-shutdown - работает перед перезагрузкой системы"


Соответственно, создаем необходимые файлы и заполняем их полезным содержимым:

(Любой исполняемый файл должен начинаться со строки #!/bin/sh особо следите при копировании текста из-под Windows,

поскольку она вставляет в конце строк спецсимволы переноса каретки, из-за этого исполняемые файлы не запускаются).

Итак, создаем pre-mount:

vi /usr/local/sbin/pre-mount

 

И заполняем его данными:

 

#!/bin/sh
	 
	swapon -a
	 
	for i in `awk '/ext3/{print($1)}' /etc/fstab` ; do
	if [ -b $i ] ; then
	grep -q $i /proc/mounts || e2fsck -p $i 2>&1 | logger -t e2fsck
	 
	else
	 
	logger -t fstab "$i is not attached"
	fi
	done

 

pre-mount запустит e2fsck, если это окажется необходимым. На большом диске проверка будет идти часами!

Если не хотите периодически (раз в 2 года при штатном режиме включения-выключения диска, а при аварийном выключении - чаще)

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

для гарантии целостности данных. post-mount выполняется после pre-mount:

vi /usr/local/sbin/post-mount

 

Содержимое:

#!/bin/sh
	/opt/etc/init.d/rc.unslung start 

pre-shutdown выполняется перед штатным выключением (например командами halt и reboot)

vi /usr/local/sbin/pre-shutdown

 

Содержимое:

#!/bin/sh
	/opt/etc/init.d/rc.unslung stop
	 
	sleep 10s
	 
	for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
	mount -o remount,ro $i
	done
	swapoff -a
	sleep 1s

Этот скрипт перемонтирует все диски только на чтение во избежание повреждения данных при выключении.

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

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

 

Проверяем после ребута как все замаунтилось командами

free

и

df -h.

Если увиденное совпадает с ожидаемым, то идем дальше.

Приложения, устанавливаемые с помощью IPKG, записывают свои скрипты в /opt/etc/init.d.

Для того, чтобы со всей этой байдой взлететь (в смысле, чтобы все, что нужно запускалось), нужно создать файл rc.unslung:

mkdir /opt/etc
	mkdir /opt/etc/init.d

 

Примечание: если в результате выполнения вышеперечисленного вылезает "mkdir: Cannot create directory `/opt/etc': Read-only file system",

Ваш диск не смонтирован, соответственно ищем ошибки в предыдущих действиях, и лишь после исправления идем дальше:

vi /opt/etc/init.d/rc.unslung

 

Содержимое:


	#!/bin/sh
	# Start/stop all init scripts in /opt/etc/init.d
	# starting them in numerical order and
	# stopping them in reverse numerical order
	#
	if [ $# -ne 1 ]; then
	printf "Usage: $0 {start|stop}\n" >&2
	exit 1
	fi
	 
	daemons=`echo $(/usr/bin/dirname $0)/S??*`
	[ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`
	 
	for i in $daemons; do
	 
	# Ignore dangling symlinks (if any).
	[ ! -f "$i" ] && continue
	 
	# Write to syslog logger -t rc.unslung "$1 service $i"
	 
	case "$i" in
	*.sh)
	# Source shell script for speed.
	(
	trap - INT QUIT TSTP
	set $1
	. $i
	)
	;;
	*)
	# No sh extension, so fork subprocess.
	$i $1
	;;
	esac
	done

 

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

chmod +x /opt/etc/init.d/rc.unslung

6. Установка пакетов

Все дополнительные пакеты устанавливаются с помощью системы управления пакетами IPKG.

IPKG работает с каталогом /opt на подключенном диске. Поэтому мы и делали файл /usr/local/sbin/post-boot.

Логи размещаются по-умолчанию в /opt/var/log. Итак, поехали:

mkdir -p /opt/tmp/ipkg
	cd /opt/tmp/ipkg
	ipkg.sh update
	ipkg.sh install ipkg-opt
	ipkg update

 

Для обновления пакетов делаем периодически:

ipkg update
	ipkg upgrade

7. Midnight Commander

(псевдографический файловый менеджер)

Устанавливаем:

ipkg install mc

 

Для корректной работы MC требуются некоторые действия:

echo "export TERMINFO=/opt/share/terminfo">>/opt/etc/profile
	echo "alias mc=\"mc -c\"">>/opt/etc/profile
	chmod +x /opt/etc/profile

8. Дополнительное ПО

(примерный список полезных программ)

Устанавливаем:

 

ipkg install coreutils
	ipkg install findutils
	ipkg install diffutils
	ipkg install screen
	ipkg install nano
	ipkg install procps
	ipkg install less
	ipkg install unzip
	ipkg install tar
	ipkg install gzip
	ipkg install unrar
	ipkg install hdparm
	ipkg install man
	ipkg install man-pages


9. CRON

Cron - это планировщик заданий, нужен для выполнения скриптов по расписанию.

Делаем:

ipkg install cron

 

Редактируем:

[ocde]nano /opt/etc/init.d/S10cron[/code]

Заменяем его содержимое на:

#!/bin/sh
	#
	# Startup script for cron
	PIDFILE=/opt/var/run/cron.pid
	case $1 in
	start)
	/opt/sbin/cron
	;;
	stop)
	[ -f ${PIDFILE} ] && kill `cat ${PIDFILE}` ;;
	*)
	echo "usage: $0 (start|stop)"
	exit 1
	esac[code]
	Сохраняемся и ребутимся:
	[code]flashfs save && flashfs commit && flashfs enable && reboot

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

ps axf (если установили procps)
	ps (если не ставили procps)

 

Если cron не числится в запущенных процессах, проверяйте корректность rc.unslung и post-boot.

10. SAMBA

10.1. Включение SAMBA из прошивки

Samba предназначена для отображения Ваших подмонтированных разделов в сети (расшаривание дисков).

Заходим через web интерфейс: USB Application -> Samba Выбираем "All partitions" в Samba File Shares и Default Access Level делаем "read/write".

Не забудьте указать имя роутера, по которому он будет виден в сети и имя сети (одинаковое на роутере и подключаемых компах).

10.2. Установка альтернативной SAMBA

SAMBA в прошивке служит для организации стандартного доступа к шарам на диске.

Если хотите гибкости в настройках - этот пункт для Вас.

Во-первых - выключаем Samba в web интерфейсе! Во-вторых делаем следующее:

ipkg install xinetd ipkg
	install samba2 

 

Правим /opt/etc/init.d/S10xinetd для понимания команд start|stop при использовании rc.unslung:

nano /opt/etc/init.d/S10xinetd

 

Содержимое:

#!/bin/sh
	#
	# Startup script for xinetd
	#
	prefix=/opt
	sbindir=${prefix}/sbin
	NAME=xinetd
	DAEMON=${sbindir}/${NAME}
	DESC="xinetd"
	PIDFILE="/var/run/xinetd.pid"
	OPTIONS="-pidfile $PIDFILE"
	CONFDIR="/opt/etc/xinetd.d"
	# installation check
	test -x ${DAEMON} || exit 0
	case "$1" in
	start)
	if [ -z "`pidof ${NAME}`" ] ; then
	printf "Starting ${DESC}: "
	${DAEMON} ${OPTIONS}
	printf "${NAME}.\n"
	fi
	;;
	stop)
	if [ -n "`pidof ${NAME}`" ]; then
	printf "Stopping ${DESC}: "
	kill -SIGTERM `cat $PIDFILE`
	printf "${NAME}.\n"
	for i in ${CONFDIR}/* ; do
	if [ -n "`grep "^space:*disablespace:*=space:*no" ${i}`" ] ; then
	daemon="`basenme $(awk -F= '/^space:*serverspace:*=space:*.*/{print $2}' ${i})`"
	printf "Stopping ${daemon}: "
	kill "`pidof ${daemon}`" > /dev/null 2>&1
	printf "${daemon}.\n"
	fi
	done
	fi
	;;
	reload|reconfigure)
	if [ -n "`pidof ${NAME}`" ]; then
	printf "Reloading ${DESC}: "
	kill -SIGHUP `cat $PIDFILE`
	printf "${NAME}.\n"
	fi
	;;
	restart|force-reload)
	$0 stop
	sleep 1
	$0 start
	;;
	*)
	printf "Usage: $0 {start|stop|reload|reconfigure|restart|force-reload}\n" >&2
	exit
	;;
	esac
	exit 0

 

Примечание: остановка xinetd останавливает все дополнительные сервисы.

Рестарт xinetd останавливает все дополнительные сервисы, но запускает только xinetd.

Изменяем конфигурацию swat:

nano /opt/etc/xinetd.d/swat

 

Модифицируем установки IP как надо и меняем "user = root" на "user = admin".

Сохраняемся и ребутимся:

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

 

Samba и xinetd должны быть в запущенных приложениях.

Редактируем конфиг samba через web интерфейс: http://my.router:901

  • Вкладка "Globals":

- Изменяем "workgroup" на название рабочей группы.
- "netbios name" имя роутера, видимое в "Сетевом окружении".
- "hosts allow" - разрешить подсети внутри роутера (стандартно "192.168.1.") подключаться к шарам.
- "guest account" указываем "admin".

 

Нажимаем "Commit Changes". Для применения настроек этой вкладки нужно ребутнуть роутер!

  • Вкладка "Shares":
- Пишем "disc0_3" в строке "create share" и жмем "create share".
- "comment": "files"
- "path": "/tmp/mnt/disc0_3"
- "read only" NO
- "guest ok" YES
- "browseable" YES

Жмем "commit changes". Изменения проявляются сразу, перезагрузка не требуется.

Открываем "Сетевое окружение" на компьютере и видим роутер и шару, доступную на запись.

Можно конфигурировать samba вручную:

nano /etc/smb.conf

 

Примерное содержимое:


	[global]
	interfaces = 192.168.1.1/24
	bind interfaces only = yes
	workgroup = YOURWORKGROUP
	server string = YOURHOSTNAME
	guest account = nobody
	security = share
	browseable = yes
	guest ok = yes
	guest only = yes
	log level = 1
	max log size = 100
	encrypt passwords = no
	preserve case = yes
	short preserve case = yes
	client code page = 850
	[disc0_3]
	path = /tmp/mnt/disc0_3
	writable = yes
	force user = admin

Изменения в /etc/smb.conf должны сохраняться после перезагрузки.

Делаем:

echo "/etc/smb.conf" >> /usr/local/.files && flashfs save && flashfs commit && flashfs enable

11. Обновление Firmware

При выходе новой прошивки можно сделать следующее:

  • В web интерфейсе 'System Setup' -> 'Setting Management' нажать "HERE", сохранить настройки.
  • В web интерфейсе 'System Setup' -> 'Flashfs Management' нажать "HERE", сохранить флеш.
  • Скачать и распаковать новую прошивку. Получим на выходе файл с расширением .trx.
ВАЖНО: После каждого следующего шага дождаться перезагрузки!!!
  • В web интерфейсе 'System Setup' -> 'Firmware Upgrade' выбрать файл .trx и нажать 'Upload'.
  • В web интерфейсе 'System Setup' -> 'Setting Management' выбрать файл с сохраненными настройками и нажать 'Upload'.
  • В web интерфейсе 'System Setup' -> 'Flashfs Management' выбрать сохраненный флеш и нажать 'Upload'.

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

 

Источник тут


Вернуться назад