Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
24 Апрель 2024, 13:25:55
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Компьютеры, софт
(Модераторы: xfiles, DeleteR, barmalei) > Тема:

Настройка роутера Linksys WRT54GS...

Страниц  :   Вниз
  Печать  
Автор Тема: Настройка роутера Linksys WRT54GS...  (Прочитано 10443 раз)
0 Пользователей и 1 Гость смотрят эту тему.
andrey
Почетный гродненец
*****

Репутация: +68/-3
Offline Offline

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


www.scrapshop.by

Просмотр профиля WWW
« : 07 Ноябрь 2007, 15:50:59 »

Прикупил пару недель назад чудный wi-fi роутер Linksys WRT54GS v1.0, дабы расшарить гарантовый интернет на всех домашних. Завел родную прошивку, все работает, но только PPTP Passthrough. Разумеется, сразу захотелось более функционального, попробовал OpenWRT... pptp не заводился, поменял на DD-WRT, после долгой возни и чтения десятков страниц разных форумов, позвонил в Гарант и спросил как настроить сие чудо. Узнав, что прошивка - Линукс, и выслушав, в чем проблема, мне предоставили правильный options.vpn и всё дало. Вероятно, кто постоянно работает на Линуксе - все настроить займет 15 минут, а так, кто таки обзаведется сим девайсом (или ему подобным) - возможно данная инструкция пригодится.

Сайт dd-wrt: http://www.dd-wrt.com
Википедия dd-wrt: http://www.dd-wrt.com/wiki/index.php/Main_Page
Вэб интерфейс к dd-wrt: http://192.168.1.1
Remote SSH access and SSH tunneling with the WRT54G
Adding an MMC/SD Card

Сначала идем в
Administration > Management > Router Password
и меняем дефолтовые Router Username / Router Password (root / admin) на нечто более запоминающееся Улыбка

там же:
Boot Wait > Enable (обязательно)
NTP Client > NTP > Enable
Server IP > {кому, что нравится, например 0.europe.pool.ntp.org}
Routing > Enable
JFFS2 Support > Enable

Administration > Закладка [Services]
PPTP Client
PPTP Client Options > Enable
Server IP or DNS Name > 10.10.10.10
Remote Subnet > 0.0.0.0
Remote Subnet Mask > 0.0.0.0
MPPE Encryption > {пусто}
NAT > Enable
User Name > {имеющееся имя пользователя}
Password > {имеющийся пароль}

Secure Shell
SSHd > Enable
Password Login > Enable
p.s. Удобнее сгенерить ключ, вписать его в Authorized Keys (одна строка - один Public ключ) и Password Login > Disable (см. ниже)

System Log
Syslogd > Enable
Remote Server > {IP компа, где установлен логгер, например: 192.168.1.100}
Для отладки удобен фришный Kiwi Syslog Daemon www.kiwisyslog.com

Telnet
Telnet > Disable

Потом идем в:
Setup > Закладка [Basic Setup]
Internet Setup
Internet Connection Type
Connection Type > Automatic configuration (DHCP)
Network Setup > Router IP > Local IP Address > 192.168.1.1 (default)
[/b]Network Address Server Settings (DHCP)[/b] > DHCP Type > DHCP Server

Переходим:
Setup > Закладка [MAC Address Clone]
MAC Clone > Enable > Clone WAN MAC = {вводим руками MAС указанный в договоре}
или жмем [Get Current PC MAC Address], если конфигурируем с компа, который имеет требуемый MAC

Setup > Закладка [Advanced Routing]
У меня почему-то введенные роуты не применялись ч-з это меню (добавим позже в скрипт ip-up...)

Переходим:
Wireless > Закладка [Basic Settings]
Wireless Mode > AP
Wireless Security > {кому, как нравится}

На этом все, что можно насторить через вэб заканчивается. Остальное через SSH. Очень неплох
PuTTY - a free SSH, Telnet and Rlogin client (качайте полный пакет)

В нем:
Вариант №1
1. Host name (or IP address) > 192.168.1.1 (тот, что указали в "Network Setup > Router IP > Local IP Address")
2. Saved Sessions > {например "myrouter"}
3. Жмем [save]

Вариант №2 (если компом больше никто, кроме вас не пользуется)
1. Host name (or IP address) > 192.168.1.1 (тот, что указали в "Network Setup > Router IP > Local IP Address")
2. Saved Sessions > {например "myrouter"}
3. Connection > SSH > Auth > Private key file for authentication...
Указываем путь к ранее сгенерированному и сохраненному Private ключу, сгенерированному утилитой Puttygen.exe (идет вместе с PuTTY клиентом). В ней все просто, кроме, как рандомно подвигать мышкой при создании ключа и нажать [Save Private key], ничего делать не надо.
Key Passphrase вводить не надо (в wiki dd-wrt не рекомендуют).
4. Public ключ нужно скопировать в интерфейсе DD-WRT в Authorized Keys (Administration > Services > Secure Shell) Одна строка - один ключ, никаких переводов строки и т.п. и сделать Password Login > Disable
5. В PuTTY Connection > Data > Auto-login username > {root или, то, что создали в Administration > Management > Router Username}
6. Жмем [save]

продолжение ниже...
« Последнее редактирование: 09 Ноябрь 2007, 15:04:37 от andrey » Записан

andrey
Почетный гродненец
*****

Репутация: +68/-3
Offline Offline

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


www.scrapshop.by

Просмотр профиля WWW
« Ответ #1 : 07 Ноябрь 2007, 15:51:49 »

Логинимся к dd-wrt по SSH:
Если PuTTY насторен логиниться с ключом, то увидим приглашение командной строки:
~ #

Создаем каталог где будут лежать кое-какие необходимые скрипты:
mkdir /jffs/etc/config
Дело в том, что в прошивке dd-wrt рабочие файлы при загрузке копируются в ОЗУ и оттуда исполняются, править файлы можно и в ОЗУ, но только до первой перезагрузки. dd-wrt проверяет ряд папок на наличие файлов со специфическими расширениями, в зависимости от которых и стартует их в определенное время.
Подробнее тут http://www.dd-wrt.com/wiki/index.php/Startup_Scripts

Копируем из временной папки в свежесозданную скрипты, подлежащие дальнейщей правке:
cp /tmp/pptpd_client/ip-up /jffs/etc/config/
cp /tmp/pptpd_client/ip-down /jffs/etc/config/
cp /tmp/pptpd_client/options.vpn /jffs/etc/config/

Создадим скрипт, который скоприрует отредактированные файлы при загрузке роутера обратно в папку /tmp/pptpd_client/
Назвать его можно, как угодно, важно, что бы расширение было .startup (например: vpn_replace.startup):

cd /jffs/etc/config/
vi vpn_replace.startup

p.s. Редактор VI (суперкратко):
i - переход в режим редактирования
ESC - выход в режим комманд
:q - выход без сохранения
:wq - сохранить и выйти
мануал к редактору тут

Вставляем в него текст:
#!/bin/sh
sleep 40
cp /jffs/etc/config/ip-up /tmp/pptpd_client/
cp /jffs/etc/config/ip-down /tmp/pptpd_client/
cp /jffs/etc/config/options.vpn /tmp/pptpd_client/

Сохраняем и выходим: ":wq" + Enter

Делаем скрипт исполняемым
chmod 700 /jffs/etc/config/vpn_replace.startup


Редактируем файл опций: options.vpn
Его содержимое после редактирования:

Код:
defaultroute
lock
noauth
nodetach
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
#lcp-echo-failure 15
#lcp-echo-interval 3
persist
usepeerdns
idle 0
ip-up-script /tmp/pptpd_client/ip-up
ip-down-script /tmp/pptpd_client/ip-down
ipparam peer-garant
noipdefault
#debug
#mtu 1450
#mru 1450
name {имеющееся имя пользователя}
password {имеющийся пароль}

Файл ip-up после редактирования:
Код:
#!/bin/sh
# parameters
# $1 the interface name used by pppd (e.g. ppp3)
# $2 the tty device name
# $3 the tty device speed
# $4 the local IP address for the interface
# $5 the remote IP address
# $6 the parameter specified by the 'ipparam' option to pppd

REMOTESUB=$(/usr/sbin/nvram get pptpd_client_srvsub)
REMOTENET=$(/usr/sbin/nvram get pptpd_client_srvsubmsk)
case "$6" in
 peer-garant)

  route del default vlan1
  route add -host 10.10.10.10 gw 172.21.0.1
  route add -net 172.20.0.0 netmask 255.255.0.0 gw 172.21.0.1


  /sbin/route add -net $REMOTESUB netmask $REMOTENET dev $1
  /usr/sbin/iptables --insert OUTPUT --source 0.0.0.0/0.0.0.0 --destination $REMOTESUB/$REMOTENET --jump ACCEPT --out-interface $1
  /usr/sbin/iptables --insert INPUT --source $REMOTESUB/$REMOTENET --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface $1
  /usr/sbin/iptables --insert FORWARD --source 0.0.0.0/0.0.0.0 --destination $REMOTESUB/$REMOTENET --jump ACCEPT --out-interface $1
  /usr/sbin/iptables --insert FORWARD --source $REMOTESUB/$REMOTENET --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface $1
  /usr/sbin/iptables --insert FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu
  if [ "$(/usr/sbin/nvram get pptpd_client_nat)" = "1" ]; then
      /usr/sbin/iptables --table nat --append POSTROUTING --out-interface $1 --jump MASQUERADE
  fi

 ;;
 *)
esac

#blink DMZ led when iface is up

gpio="gpio"
flash=3
led=7
cur=1
while [ $cur -le $flash ]
  do
   $gpio disable $led
   usleep 10000
   $gpio enable $led
   usleep 10000
   cur=`expr $cur + 1`
  done

exit 0

В конце скриптик, который при выполнении ip-up моргнет светодиодом DMZ три раза.
Еще скрипты: http://www.dd-wrt.com/wiki/index.php/Useful_Scripts

Файл ip-down после редактирования:
Код:
#!/bin/sh
REMOTESUB=$(/usr/sbin/nvram get pptpd_client_srvsub)
REMOTENET=$(/usr/sbin/nvram get pptpd_client_srvsubmsk)
case "$6" in
 peer-garant)

  /sbin/route del -net $REMOTESUB netmask $REMOTENET dev $1
  route add default vlan1
  /usr/sbin/iptables -D OUTPUT --source 0.0.0.0/0.0.0.0 --destination $REMOTESUB/$REMOTENET --jump ACCEPT --out-interface $1
  /usr/sbin/iptables -D INPUT --source $REMOTESUB/$REMOTENET --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface $1
  /usr/sbin/iptables -D FORWARD --source 0.0.0.0/0.0.0.0 --destination $REMOTESUB/$REMOTENET --jump ACCEPT --out-interface $1
  /usr/sbin/iptables -D FORWARD --source $REMOTESUB/$REMOTENET --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface $1
  /usr/sbin/iptables -D FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu
  if [ "$(/usr/sbin/nvram get pptpd_client_nat)" = "1" ]; then
      /usr/sbin/iptables --table nat -D POSTROUTING --out-interface $1 --jump MASQUERADE
  fi
  ;;
 *)
esac
exit 0
Еще можно добавить в каталог /jffs/etc/config/ файлик vpn_led.startup:

Код:
#!/bin/sh
I=ppp0
while sleep 1; do
    XFER=`ifconfig $I|grep bytes`
    if [ "$XFER" != "$PXFER" ]; then
      LED='gpio disable 7; usleep 5000 ; gpio enable 7'
      PXFER=$XFER
    else
      LED='gpio enable 7'
    fi

  if [ "$LED" != "$PLED" ]; then
    eval $LED
    PLED=$LED
  fi
done

Каждую секунду проверяет был ли трансфер данных по тунелю ppp0 и, если да, то однократно коротко моргает светодиодом DMZ.

продолжение ниже...
« Последнее редактирование: 18 Ноябрь 2007, 03:01:40 от andrey » Записан

andrey
Почетный гродненец
*****

Репутация: +68/-3
Offline Offline

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


www.scrapshop.by

Просмотр профиля WWW
« Ответ #2 : 07 Ноябрь 2007, 15:56:04 »

Все проверено, отредактировано и сохранено - набираем в консоли reboot и в принципе должно заработать.

Если нет, то - некоторые инструменты:

ifconfig - смотрим поднят ли ppp0 интерфейс и какой у него IP..

route -n - должно быть нечто такое:


Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.240.1   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.10.10.10     172.21.0.1      255.255.255.255 UGH   0      0        0 vlan1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
172.20.0.0      172.21.0.1      255.255.0.0     UG    0      0        0 vlan1
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 vlan1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
0.0.0.0         172.21.0.1      0.0.0.0         UG    0      0        0 vlan1



ping 172.21.0.1
ping 10.10.10.10
ping 172.20.0.252
ping 192.168.240.1
ping www.google.com

traceroute www.google.com

Еще при отладке полезно запустить вышеупомянутый Kiwi Syslog Daemon, раскоментировать опцию debug в options.vpn, перезапустить туннель и почитать лог. Стартовать, останавливать туннель можно из консоли:

/tmp/pptpd_client # ./vpn

  PTPP VPN CLIENT
  --------

   start  -  Starts the Client
   stop   -  Stops the Client
   go     -  Run the Client interactively (for debugging)
   debug  -  Run the Client interactively (in full debug mode)

Для тех, кто думает о домашней wi-fi сети - linksys (а также ему подобные) крайне полезный девайс. Фичи альтернативных прошивок все не перечислить...
« Последнее редактирование: 07 Ноябрь 2007, 16:05:50 от andrey » Записан

Postman
Гродненец
**

Репутация: +18/-0
Offline Offline

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


Больше хороших новостей!

Просмотр профиля
« Ответ #3 : 08 Ноябрь 2007, 16:39:05 »

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

Всегда Ваш, почтальон Печкин :-)
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #4 : 08 Ноябрь 2007, 17:37:13 »

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

Например: использывать как `сервер закачек`:
наличие usb порта позволяет подключать usb-винты
rtorrent - очень удобный консольный torrent клиент
wget - http/ftp закачка
теперь даже с ночным unlim можно спать спокойно.
Записан
Highlander
Депутат горсовета
*****

Репутация: +259/-6
Offline Offline

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


Вечно молодой, вечно пьяный...

S Highlanderby Просмотр профиля
« Ответ #5 : 08 Ноябрь 2007, 18:58:52 »

Хм, обсуждать тут вроде как нечего, может закрыть и прикрепить тему? Или дать на нее ссылку в факе чтоб искать не нужно было.
Записан

Не бойтесь браться за незнакомое дело. И помните: ковчег построил любитель, профессионалы строили "Титаник".
Когда Ганди продвигал свою философию ненасилия он видимо не знал насколько же круто убивать всех вокруг.
notarius
йА нОтареуз
Настоящий гродненец
****

Репутация: +104/-0
Offline Offline

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


Как заплачено, так и зах*ячено!

Просмотр профиля WWW Email
« Ответ #6 : 08 Ноябрь 2007, 23:38:34 »

в faq ссылку нужно .... думаю кому-нибудь понадобится ... закрывать мож рано... вдруг у кгог вопросы будут ..пару дней можно подождать ...

топикстартеру +1 за то, что не пожалел потратить время.....

да и гаранту +1 за то, что помогли человеку  Подмигивающий
Записан

Хочешь быть оригинальным? Будь добрым.

Roman aka Not@r!uS
hollyangel
Новенький


Репутация: +0/-0
Offline Offline

Сообщений: 1

Просмотр профиля
« Ответ #7 : 30 Май 2012, 20:04:35 »

Как использовать этот роутер с byfly?
Записан
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

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


Не уйдешь!

Просмотр профиля
« Ответ #8 : 31 Май 2012, 12:21:58 »

какой лайтовый некропост
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2024, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,16 секунд. Запросов: 19.