пятница, 27 ноября 2015 г.

ADSL WL600G и OpenWRT. Как переназначить WAN с ADSL на какой-либо порт LAN.

Жил да был старенький роутер ADSL от WL-600g от Asus. Работал 2 года на Web+ ADSL, пока не пришел в дом Interzet (Ethernet интернет). Учитывая явную аппаратную невозможность использовать адсл роутер как роутер для локалки, был куплен неплохой аппаратик TP-Link 841ND, а WL-600g был закинут на полку. Работал новый тп-линк замечательно, претензий не имел.  Далее был переезд, купленный тп-линк остался у родителей.  Интернет на новом месте так же локалка, некий SmartHome (DHCP подключение).  
Поначалу я попытался продать WL-600G через avito.ru за смешные деньги, но учитывая то, что большая часть пользователей слезает с ADSL в пользу локальных сетей с более интересными тарифами - продавать его за 1-1,5к деревянных не хотелось. Новый аппаратик такой под 3-4к рублей стоит. Т.к. это действительно сильный роутер, с принт-сервером и даже возможностью засунуть в него флешку и работать с ней через ftp с лол-скоростью 2Мб/с :-).  

Так бы и лежал этот белоснежный зверь в коробке, если бы случайно, сидя на работе, я не наткнулся на упоминание о том, что с помощью альтернативных прошивок можно его заставить работать как обычный роутер для локальной сети (один из портов LAN переназначить в WAN). И тема была обнаружена была на официальном русскоязычном форуме асуса -http://forum.asus.ru/viewtopic.php?f=4&t=49204&sid=fb6e0ee12f2fbb94e8f945c0fad35317  
Краткий план действий был следующий - качаем скомпилированный под WL-600G дистрибутив OpenWRT, лезем в настройки, указываем нужные параметры нашей работы - и вуаля наслаждаемся.  

Те кто никогда не прошивал роутер и не лез в настройки могут дальше не читать, сходите в Юлмарт, купите себе TP-Link 741 или D-Link Dir-300 за 800 р. и не мучайтесь. Возможно в чем-то даже выиграете. Если вы все таки решили идти по данному руководству, прочитайте для начала, как восстанавливать роутер при неудачной прошивке. Выясните, что такое tftp, telnet и т.п.  
Перед прошивкой рекомендую скачать клиент Putty: 
http://the.earth.li/~sgtatham/putty/0.60/x86/putty.exe 

Теперь мой порядок действий. 
1) Качаем прошивку:  
http://downloads.openwrt.org/backfire/10.03/brcm63xx/..-... 
2) Заходим в веб-интерфейс роутера: выбираем update firmaware, указываем скачанный файлик.  
3) Ждем окончания перепрошивки. После перепрошивки: выставляем в свойствах TCP/IP на компьютере IP адрес 192.168.1.2, маску 255.255.255.0, шлюз 192.168.1.1. При необходимости перезапускаем роутер, включаем/выключаем сетевое подключение.  DHCP-сервер по умолчанию выключен в OpenWRT, Wi-Fi связь аналогично выключена.  
4) Запускаем браузер, заходим в настройки: логин по умолчанию root, пароль не задан. 
5) Ищем слева закладку Network, там подменю DHCP - включаем DHCP сервер.  
6) Сохраняем настройки, а на компьютере ставим получен IP адреса автоматически.  

Здесь я должен сделать небольшую ремарку.  
Т.к. с веб-интерфейсом OpenWRT я был незнаком, а первые попытки в нем разобраться были обречены на провал. Я не думал, что при выборе закладки Administration серьезно изменяется структура левой части меню, где в общем-то и можно при желании указать все режимы работы нашего подопытного кролика. Поэтому не найдя для себя ничего полезного и изучая то, что пишут в интернете (веб-интерфейс настроек толковых не дает - используйте telnet/ssg), дальше уже запустил putty.  

7) Запускаем putty, указываем адрес сервера для подключения 192.168.1.1 
8) Вводим логин root , указываем пароль, если изменили его в веб-интерфейсе до этого.  
9) Следующей операцией переназначаем один из LAN в WAN порт, и указываем тип подключения WAN к интернету. Для этого с помощью тектового редактора vi открываем файлик etc/config/network. В итоге на экране увидим следующее содержимое. Ваша задача чтобы с помощью корявого редактора vi добавить и отредактировать этот файлик. Описание редактора не является тайной, легко ищется в гугле по словам "vi linux". Редактируем, сохраняем и вуаля, LAN4 порт роутера превратился в WAN.  
----------------------------------------------- 
login as: root 
root@192.168.1.1's password: 

BusyBox v1.15.3 (2010-03-28 21:16:56 CEST) built-in shell (ash) 
Enter 'help' for a list of built-in commands. 

_______ ________ __ 
 | |.-----.-----.-----.| | | |.----.| |_ 
 | - || _ | -__| || | | || _|| _| 
 |_______|| __|_____|__|__||________||__| |____| 
          |__| W I R E L E S S F R E E D O M 
 BackFire (10.03-rc3, r20642) ---------------------- 
  * 1/3 shot Kahlua In a shot glass, layer Kahlua 
  * 1/3 shot Bailey's on the bottom, then Bailey's, 
  * 1/3 shot Vodka then Vodka. 
 --------------------------------------------------- 
root@OpenWrt:~# vi /etc/config/network 

config 'switch' 'eth1' 
        option 'enable' '1' 
        option 'reset' '1' 
        option 'enable_vlan' '1' 

config 'switch_vlan' 'eth1_0' 
        option 'device' 'eth1' 
        option 'vlan' '0' 
        option 'ports' '1 2 3 5t' 

config 'switch_vlan' 'eth1_1' 
        option 'device' 'eth1' 
        option 'vlan' '1' 
        option 'ports' '0 5t' 

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

config 'interface' 'lan' 
- /etc/config/network 1/36 2% 
        option 'vlan' '1' 
        option 'ports' '0 5t' 

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' 'eth1.0' 
        option 'proto' 'static' 
        option 'ipaddr' '192.168.1.1' 
        option 'netmask' '255.255.255.0' 
        option 'nat' '1' 

config 'interface' 'wan' 
        option 'ifname' 'eth1.1' 
        option 'proto' 'dhcp' 

config 'route' 

- /etc/config/network 34/36 94% 
--------------------------------------------- 
Это содержимое /etc/config/network с моего рабочего роутера.  

10) Далее включаем WI-FI и здесь нас ждет маленькая заковырка - wi-fi надо не только включить, но и  необходимо объединить с lan в bridge. К счастью, это делается через веб-интерфейс: 
Administration -> Network -> Wi-Fi -> Radio0. Включаем, а в разделе Interfaces выбираем Network - Lan (не Wan!). Задаем пароль, после этого с вай-фаем проблем не должно быть.  

11) Использование DC++ и т.п. Как открыть порт.  
а) Способ номер 1: открываем Administrtion, Network, Firewall, Traffic Redirection. Добавляем правило на необходимый порт в DC++  
б) Способ номер 2: найден в описании документации OpenWRT: 
открываем редактором vi файлик /etc/firewall.user и прописываем на открытие tcp/udp порты. 

# This file is interpreted as shell script. 
# Put your custom iptables rules here, they will 
# be executed with each firewall (re-)start. 
config redirect 
option src wan 
option src_dport 55555 
option proto tcp 
option dest_ip 192.168.1.2 

config redirect 
option src wan 
option src_dport 55555 
option proto udp 
option dest_ip 192.168.1.2 


- firewall.user 1/14 7% 

Сохраняем, делаем ребут роутеру.  

В DC++ меняем настройки на те, которые бы использовались с роутером.  

Выводы:  
Роутер живет и работает. Дальнейшее ковыряние в разделе OpenWRT показало, что с этим роутером можно творить все что хочешь, из примеров: 
а) Воткнуть в него гсм-свисток и получить 3G-роутер:http://www.opennet.ru/base/sys/asus_openwrt.txt.html 
б) Установить клиент DC++ в память роутера и работать с внешним накопителем как с сетевым массивом. Про торрент клиент молчу - это тоже реально.  
в) воткнуть в него usb звуковую карту и слушать интернет радио :-)  
В общем и целом возможности огромнейшие, выбор их зависит по большей части от устанавливаемых и настраиваемых вами пакетов. 

В общем не стоит выкидывать старые вещи, они могут ещё пригодится.  

Дополнено: 
Прошло 2 месяца использования данной прошивки. Выявлены глюки: 
1) wi-fi - сигнал слабый такой, что слов нет. Ковырялся в настройках, ставил мощность передатчика аж -23db (норма -20db). Результат один - для броадкома у OpenWRT драйвер просто убогий. Замечу что с родной прошивкой wi-fi передавал на ура.  
2) Спонтанные сбои - самопроизвольное отключение wi-fi при отсутствии подключенных клиентов, отключение 80го порта (весь софт работает, а любой браузер не видит соединения), хоть и лечатся перезагрузкой роутера, но удовольствия не доставляют.  

Резюме: 
Cамый дешевый роутер в юлмарте стоит 600 р. Не е*ите себе мозг, и купите его :-).