Конфигурирование LinkSys в качестве роутера удаленного подразделения с построением GRE-тоннеля до центрального офиса компании
Задача: заменить старые Linux-роутеры на базе PC на LinkSyS WRT54GL
1. ИСХОДНЫЕ Данные
Смотрим настройки старого роутера для дальнейшего конфигурирования LinkSYS, а именно:
-технологический адрес старого роутера (выделенный провайдером), в нашем случае 192.168.2.42/30; -default gateway, то есть технологический адрес шлюза на стороне провайдера для роутера подразделения , в нашем случае 192.168.2.41/30; -адрес роутера, являющийся шлюзом для локальной сети подразделения, в нашем случае 10.10.10.100/24; -технологический адрес шлюза, смотрящего в сторону провайдера для роутера центрального офиса, в нашем случае 172.172.172.100/29;
так.., мне все ясно, мне все ясно…
Берем новенький линксис, прошиваем его:
2. Перепрошивка и настройка LinkSYS WRT54GL v1.1
Скачиваем прошивку openwrt-wrt54g-jffs2 или здесь http://downloads.openwrt.org/whiterussian/rc5/bin/:

Внимание: качаем openwrt-wrt54g-jffs2.bin, а не openwrt-wrt54g-squashfs.bin.
squashfs – рутовый раздел read only, отредактировать файлы не получится.
Необходимые пакеты скачиваем там же http://downloads.openwrt.org/whiterussian/rc5/packages/
На локальном компе настраиваем адрес сетевки 192.168.1.2, подключаем к ней патчкордом порт 1 линксиса, включаем питание, в браузере набираем адрес 192.168.1.1.
Умолчательный аккаунт для администрирования: root/admin
Загружаем прошивку через web-интерфейс указывая путь к ее расположению на локальном компе.

В случае неудачи: При первой попытке получили сообщение об ошибке. web-интерфейс отвалился, telnet, ssh – доступа нет. Есть только пинги. Выполнили процедуру пункта 4. описанную здесь: http://www.net4me.ru/articles/15/net70.html. (спасибо автору), а именно:
1. выдергиваем провод питания. 2. нажимаем на кнопку reset и держим её. 3. при нажатой reset втыкаем провод питания. reset продолжаем держать еще сек.10 4. отпускаем кнопку reset.
После перезагрузки на умолчательном ip 192.168.1.1 увидели web-интерфейс родной прошивки LinkSYS v.4.30.7
Производим ранее описанный перечень мероприятий, т е. «обзор», “Upgrade”.
Загрузка прошла удачно, о чем не замедлил сообщить LinkSYS. Перезагрузка. Новый web-интерфейс и предложение завести root-пароль.
Внимание: сразу зайти по ssh не удастся, необходимо сначала обновить пароль через web-интерфейс:


После смены пароля root в web LinkSYS согласился запускать по ssh.
3. Непосредственно конфигурирование под наши нужды
Для удобства заливки на LinkSYS пакетов и скриптов поднял на своем компе apache и положил все нужное в его корневую директорию. В моем случае это D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\
Создаем файл сетевой конфигурации S90tun_p21 (имя файла носит произваольный характер) для конкретного подразделения в соответствии с исходными данными (см.п.1).
Внимание: в вашем блокноте должен быть выставлен формат новой строки Unix(0Ah)
Внимание: при редактировании скриптов не забываете про завершающий enter (EOF), LinkSYS этого не простит!
#echo 'Network configures
#echo 'Name_Departament'
#echo ' '
echo 'internal Lan '
ip addr del 192.168.1.1 dev br0
nvram set lan_ipaddr=10.10.10.100 #Этот адрес будет являться шлюзом для внутренней сети удаленного подразделения
nvram set lan_netmask=255.255.255.0
echo 'network to Provider'
ip addr add 192.168.2.42/30 dev vlan1 #Это технологический адрес выделенный провайдером для роутера подразделения
ip route add 172.172.172.100/29 via 192.168.2.41 # 172.172.172.100 - технологический адрес выделенный провайдером для нашего роутера в центральном офисе
# 192.168.2.41 - технологический адрес на стороне провайдера (шлюз для удаленного подразделения)
echo 'tunnel'
insmod ip_gre
ip tunnel add pos21 mode gre remote 172.172.172.100 local 192.168.2.42 ttl 255
ip link set pos21 up
ip addr add 192.168.201.6/30 dev pos21 #Это адрес тоннельного интерфейса, назначаемый нами произвольно.
ip route add default dev pos21
echo 'disable radio' #Отключаю радио просто потому что оно мне не нужно
nvram set wl_radio=0
echo 'set name of router'
echo 'set name of router'
nvram set wan_hostname=Kadala
nvram set wl0_ssid=Kadala
nvram commit
Скрипт настройки сетевых интерфейсов для данного подразделения готов.
Создаем скрипт первоначальной конфигурации роутера с установкой необходимых пакетов. Можно и не создавать его, а выполнить все вручную. Но когда надо настроить не один LinkSYS, а 10-20, то удобнее нарисовать скрипт. Я обозвал его init_conf5 (название носит произвольный характер).
Содержимое файла:
echo 'For get and apply this configures on LinkSYS
echo 'run next command:
echo ' '
echo 'wget http://you_web_server/path/init_conf5'
echo 'chmod 775 init_conf5'
echo './init_conf5'
cd /tmp
wget http://my_web_server/packages5/ip_2.6.11-050330-1_mipsel.ipk #Здесь my_web_server - это адрес вашего компа с установленным apache, к которому подключен патчкордом LinkSYS, скорее всего это 192.168.1.2
ipkg install ip_2.6.11-050330-1_mipsel.ipk
wget http://192.168.1.2/packages5/kmod-tun_2.4.30-brcm-3_mipsel.ipk
ipkg install kmod-tun_2.4.30-brcm-3_mipsel.ipk
wget http://192.168.1.2/packages5/kmod-gre_2.4.30-brcm-3_mipsel.ipk
ipkg install kmod-gre_2.4.30-brcm-3_mipsel.ipk
wget http://192.168.1.2/packages5/libpcap_0.9.4-1_mipsel.ipk
ipkg install libpcap_0.9.4-1_mipsel.ipk
wget http://192.168.1.2/packages5/tcpdump_3.8.3-1_mipsel.ipk
ipkg install tcpdump_3.8.3-1_mipsel.ipk
wget http://192.168.1.2/packages5/robocfg_0.01-1_mipsel.ipk
ipkg install robocfg_0.01-1_mipsel.ipk
wget http://192.168.1.2/packages5/kmod-sched_2.4.30-brcm-3_mipsel.ipk
ipkg install kmod-sched_2.4.30-brcm-3_mipsel.ipk
wget http://192.168.1.2/packages5/tc_2.6.11-050330-1_mipsel.ipk
ipkg install tc_2.6.11-050330-1_mipsel.ipk
#wget http://192.168.1.2/packages/iptables_1.3.3-2_mipsel.ipk
#ipkg install iptables_1.3.3-2_mipsel.ipk
echo '========================='
echo 'Packages install finished'
echo '========================='
cd /etc/init.d
wget http://192.168.1.2/kadala/S90tun_p21
chmod 775 S90tun_p21
echo '==============================='
echo 'Tunnel startup script installed'
echo '==============================='
echo 'disable firewall'
cd /etc
cp firewall.user firewall_init.user
>firewall.user
cd /etc/init.d
echo 'change 754 to 644'
chmod 644 ./S45firewall
nvram commit
echo 'firewall disable finished'
echo 'Now you can reboot you router'
echo 'Warniing! After reboot routers adress will CHANGED!! '
Итак, с нашего компа заходим по ssh на LinkSYS и в консоли выполняем:
root@OpenWrt:~# wget http://192.168.1.2/kadala/init_conf5
root@OpenWrt:~# chmod 755 init_conf5
root@OpenWrt:~# ./init_conf5:
4. Перезагрузите роутер:
#reboot
5. Готово! Важно: теперь адрес роутера на портах LAN и WAN изменен на соответсвующие адреса для данного подразделения!! Меняем адрес на сетевом интерфейсе нашего ПК и проверяем настройки LinkSYS, если вдруг подключиться по ssh не удается, внимательно смотрим наши скрипты, возможно там допущена ошибка.
|