Winscp подключение к роутеру
Это обзорная статья о том, какие возможность существуют у пользователя обычного домашнего роутера, и как этими возможностями воспользоваться.
Рано или поздно каждый пользователь интернета покупает себе домой роутер, поскольку количество устройств, требующих интернета, растёт. А у многих растут дети, которые тоже требуют подключения к интернету :) Но мне больно и обидно видеть, что люди не всегда понимают, что можно и нужно делать для достижения максимального комфорта.
Небольшой дисклаймер (не знаю как это по-русски).
Я буду употреблять слово «правильно» в том смысле, что я сам считаю правильным для себя. Пройдя путь от «нуба» в Линуксе до уровня «могу советовать другим», я считаю, что мои советы по крайней мере не хуже других советов, которые можно встретить на различных форумах.
Речь пойдёт о прошивке роутера на основе известного дистрибутива DD-WRT. Это прошивка, превращающая роутер в «обычный» линукс-сервер с весьма жёсткими ограничениями памяти и быстродействия. Несмотря на это, функционал такого сервера может получиться весьма богатым.
1) Выбор оборудования
Первая и наиболее важная задача — выбрать правильную модель роутера, так как это — «билет в один конец». Оценивая свои финансы и свои амбиции, важно выбрать золотую середину. Возможным фактором риска могла бы быть боязнь «запороть» дорогой роутер своими неправильными действиями. Я сам, покупая дорогую вещь, опасаюсь что-то с ней делать, особенно если нет опыта. Однако могу вас заверить: шансы убить роутер новыми прошивками практически равны нулю. Современные модели имеют режим восстановления, и надо очень сильно захотеть, чтобы угробить роутер (и то не навсегда — просто потребуется специальное оборудование для реанимации).
-
, модель начального уровня, зато непревзойдённая по надёжности. Покупалась более 3 лет назад, до сих пор в строю, «ни единого разрыва»… Характеристики: WiFi (b/g) + 4 LAN 10/100, 4Mb flash, 16Mb RAM, no USB. , современный и весьма дешёвый роутер, 3 месяца в строю, также нет нареканий по работе. Характеристики: WiFi(b/g) + 4 LAN 10/100, 4Mb flash, 16Mb RAM, 1 USB.
- Совместимось данных моделей с прошивками DD-WRT. Возможности «родных» прошивок не рассматривались вообще: зачем выбирать цвет обоев в новой квартире, если впереди — всесокурушающий ремонт?
- Объем памяти RAM. Почти все современные роутеры имеют 16Mb RAM. Этого как раз хватает для нормальной работы, но, как известно, каждая программа стремится захватить весь доступный объём памяти. Если есть желание выжать максимум из своего роутера или есть лишняя сумма денег, лучше найти модель с 32Mb памяти.
- Наличие портов USB, ибо весь расширенный функционал удобнее всего ставить именно на внешнем носителе, т.к. flash-память роутера не сможет вместить всех новых программ. Мой первый роутер не имел USB, поэтому приходилось немного изгаляться и «работать напильником».
2) Прошивка роутера
Прошивка — это совсем не больно! Это на самом деле простая операция, ну такая как перректальное удаление гланд… Нет, правда ничего сложного.
При самой первой смене прошивки потребуется чуть больше усилий, зато каждая следующая пойдёт всё легче и легче.
Не следует опасаться, что смена прошивок будет происходить регулярно. Выбрав для себя набор программ, входящих в одну из готовых прошивок, можно на этом успокоиться и наслаждаться жизнью. Если понадобится дополнительный функционал — всегда можно установить новые программы отдельно, для этого существует специальный механизм. Но на первых этапах может случиться так, что выбор прошивки окажется неудачным, например в прошивке не окажется такой нужной возможности как поддержка SAMBA. Не беда, скачиваем другую прошивку, 2 движения мышкой — вуаля!
Некоторые модели роутеров (в частности Asus) перед прошивкой на DD-WRT требуют специальных действий (очистка памяти или что-то в этом роде). Внимательно следуйте инструкциям на конкретную модель роутера! Особенно внимательно нужно отнестить к требованиям «выждать 5 минут после окончания прошивки». Я был немного самоуверен и, перепрошивая своему коллеге роутер, слегка поторопился выключить питание после окончания прошивки. Результат — процедура восстановления и всё по-новой.
Если сказано «подождите 5 минут» — возьмите песочные часы на 5 минут и ждите! Это серьёзно.
Я не буду рассматривать сам процесс перепрошивки (tftp, смена адреса на 192.168.0.1, интерфейс и т.д.) — это всё изложено на форумах DD-WRT.
Но, наконец, вы закончили с прошивкой, и перед вами — чудесный новый WEB-интерфейс вашего роутера. Что дальше?
3) Подготовка к установке OPTWARE
Базовый функционал вы уже получили, выбрав версию прошивки. Осталось настроить параметры подключения к вашему провайдеру (DHCP, PPTP etc), и уже можно начинать бороздить просторы вселенной. Многим домашним пользователям этого уже будет достаточно.
Настройки параметров безопасности, управление маршрутеризацией и прочие стандартные для роутеров «фишки» я также описывать не буду. Без этого всё равно не обходится ни один «нормальный» роутер.
Но ведь можно же сделать ещё лучше! Продолжим процесс.
Все дополнительные программы объединены общим понятием Optware. (они ставятся в каталог /opt, который автоматически создаётся роутером и всегда доступен для записи). Однако сам каталог /opt пуст и фактически расположен в RAM — то есть, там очень мало места и всё, что туда попадает, будет потеряно при перезагрузке. Что же делать?
Выход следующий: нам нужно постоянное место на каком-нибудь «диске». И хотя описываемые хранилища не имеют формы диска в геометрическом смысле (скорее это кристаллы кремния в пластиковых корпусах с металлическими выводами), будем всё же называть их дисками.
Если flash-память роутера достаточно большая, а размер прошивки меньше общего размера flash-памяти, то оставшееся место можно использовать для хренения данных. Если выбрать прошивку с поддержкой JFFS, то в зависимости от версии, можно получить от 0.5 до 3Mb «диск» прямо внутри роутера. Такой диск будет автоматически примонтирован как /jffs при старте.
Главной неприятностью при работе с flash-дисками является их быстрая деградация при записи. Если количество перезаписей сектора «диска» превысит некий порог (от 10 до 100 тысяч циклов), то диску придёт конец. Всё плохо… :(
Если с внутренним диском произойдёт такое, действительно будет плохо. Но если это внешний USB диск, то лёгким движением руки заменяем USB-флешку на новую — и снова в бой. Ведь USB-флешки давно уже расходный материал, не так ли? Тем более что достаточна флешка объемом 1 или 2Gb. Главное, как обычно, вовремя делать бекапы.
Как вы уже поняли, основным местом установки Optware является внешний USB диск. Важно иметь в виду, что USB должен быть определённым образом отформатирован перед установкой в роутер. Как минимум, должен присутствовать первичный раздел, отформатированный как ext2 или ext3.
-
раздел ext2, размер
- постоянно работающий где-то в сети сервер (или NAS, или просто десктоп-машина, даже ноутбук) с поддержкой SAMBA
- прошивка с поддержкой CIFS/SAMBA
Чтобы всё заработало, достаточно в настройках роутера в разделе CIFS указать сетевой адрес и логин/пароль для доступа к расшаренной папке, и при следующей перезагрузке роутер автоматически примонтирует сетевой диск в папку /tmp/smbshare.
SD/MMC
Предположим, что у нас нет ни свободного места в flash-памяти роутера, ни USB, ни сервера. А нам очень нужно установить Optware. Что же делать?
Как обычно, «у нас с собой было» (это мой любимый девиз). Если совсем ничего нет, то придётся немного поработать напильником.
Для некоторых моделей (среди которых WRT-54GL) доступен так называемый SD/MMC mod. Достаточно приклеить куда-либо SD или MMC карту и припаять 6 проводков, и можно получить место для установки Optware и хранения пользовательских данных.
Именно такой мод я в конце концов и сделал, чтобы из старого роутера получить автономную точку доступа под WiFi Hotspot Chilli. Это — тема отдельного поста, возможно скоро соберусь и даже сделаю мини-сайт. Если кого-то ещё эта тема интересует, напишите в приват.
4) Определение точки монтирования, startup, shutdown
В зависимости от выбранного «диска» точка монтирования будет разной. Для внутренней flash-памяти это будет /jffs, для USB это будет /mnt (если разрешить автоматическое монтирование), для CIFS это будет /tmp/smbshare, для SD/MMC это будет /mmc.
Если выбран вариант USB, то следует запретить автоматическое монтирование — мы сами будем это делать «правильным» образом.
Как я уже сказал, Optware устанавливается в строго определённое место — каталог /opt. Этот каталог уже есть, нужно только примонтировать к нему реальный «диск».
Монтирование можно (нужно) делать в процессе начальной загрузки роутера. Для автоматизации в роутере предназначены несколько предопределённых скриптов, которые выполняются при старте и завершении работы.
Для начала надо разрешить доступ к роутеру по telnet или по SSH протоколу.
Рекомендую настроить доступ по SSH, так как это безопаснее и просто удобнее (можно настроить авторизацию по ключевому файлу и даже не вводить каждый раз пароль при доступе). А доступ нам понадобится неоднократно, чтобы устанавливать программы и смотреть, WTF, почему они не хотят правильно работать.
Сервер SSH уже присутствует и работает во всех версиях прошивок роутера. Нужно только создать пару ключей, один из которых (публичный) загрузить в роутер, а другой (приватный) положить на ноутбуке рядом с программой Putty и WinSCP. Про ключи тоже писать не буду, везде это достаточно подробно расписывается.
Создадим скрипт .rc_startup, который пока будет делать только одно: монтировать внешний «диск» в папку /opt.
Варианты:
USB | mount /dev/scsi/host0/bus0/target0/lun0/part1 /opt |
JFFS | mkdir -p /jffs/opt mount -o bind /jffs/opt /opt |
CIFS | mount.cifs $(nvram get samba_share) /jffs -o user=$(nvram get samba_user),pass=$(nvram get samba_password) mount -o bind /jffs/opt /opt |
Сохраним его в роутере кнопкой Save startup, перезагрузим роутер (возможно, он перезагрузится сам) — после этого у роутера должен появиться каталог /opt, куда теперь можно записывать файлы. Проверим?
telnet router
cd /opt
echo "OK" >opt.ok
cat opt.ok
если получилось «OK» — значит всё ОК, если нет — значит что-то не так… Гуглим, ищем где ошибка, повторяем…
5) Установка Optware — первый шаг
Ну вот, всё позади, у нас в сети — роутер с возможностью установки Optware. Приступим.
Т.к. у меня на ноутбуках Windows, я использую Putty (telnet или SSH) для доступа к консоли роутера и WinSCP для копирования и редактирования файлов.
Подключаемся через WinSCP к роутеру и создаём в папке /tmp следующий скрипт:
opt-inst.sh
Подключаемся через Putty к роутеру и выполняем скрипт:
cd /tmp
chmod 740 ./optw-inst.sh
./optw-inst.sh
В результате работы скрипта будет создана начальная конфигурация Optware и программа-установщик opt-inst. Теперь можно приступать к установке всех остальных пакетов программ.
6) Установка первых пакетов
Для начала установим какой-нибудь совсем простой пакет, например rsync. Он нам пригодится в дальнейшем для настройки резервного копирования.
cd /opt
ipkg-opt update
ipkg-opt install rsync
Если всё прошло успешно и нет никакой ругани в консоли, то можно продолжить установку.
- mc — Midnight Commander
- tcpdump — сбор и анализ сетевого трафика
- busybox — расширенные версии основных утилит Linux
7) Окончательная настройка
Тут следует сделать некоторые замечания. В разных версиях прошивок процедура запуска и останова почему-то отличается, причём в существенной части, а именно — запуск пользовательских скриптов из init.d.
В более новом роутере (версия прошивки 13972) пользовательские скрипты
/opt/etc/init.d/S* автоматически вызываются после завершения работы системного .rc_startup, и аналогично, /opt/etc/init.d/K* перед запуском .rc_shutdown. Поэтому для запуска и оснанова нужных сервисов достаточно, чтобы их соответствующие S* и K* скрипты находились в папке запуска /opt/etc/init.d
Однако и тут (по крайней мере в моём случае) не обошлось без «подводных граблей» (чьё-то меткое выражение). По законам жанра, запуск скрипта S* должен быть с параметром start, а запуск K* — с параметром stop. Но DD-WRT почему-то не передаёт start при старте, хотя и передаёт stop при останове. Пришлось делать некий work-around:
Системный скрипт .rc_statup (создаётся при запуске в /tmp и запускается силами процесса init) выглядит примерно так (некоторые подробности опущены, полный код доступен здесь):
Каждый S* и K* скрипт содержит примерно такой код:
if [ -n "$1" ]; then
OP=$1
else
OP=$(cat /tmp/.rc_stage)
fi
Системный скрипт .rc_shutdown (создаётся при перезагрузке в /tmp и запускается по команде reboot) выглядит примерно так (некоторые подробности опущены, полный код доступен здесь):
В более старом роутере (версия прошивки 13064) S* и K* скрипты вообще не вызываются автоматически, поэтому пришлось делать так:
А уже optware-скрипт /opt/.startup делает всё остальное, а именно — запускает S* скрипты.
Аналогично устроен и системный скрипт .rc_shutdown: (только запускает /opt/.shutdown не в фоновом режиме, а непосредственно)
В первый раз, когда вы подключитесь к маршрутизатору, вы, вероятно, увидите предупреждение о отпечатке ключа RSA. Если вы уверены, что это адрес вашего маршрутизатора OpenWrt, просто введите yes и нажмите Return. Затем введите пароль, предоставленный вашему маршрутизатору, или нажмите Return, если это начальная настройка. Вот пример сеанса:
Чтобы завершить ssh сеанс на маршрутизаторе, введите exit и нажмите Return.
Остальная часть этой страницы описывает несколько эмуляторов терминала, которые Windows, Linux или macOS могут использовать для доступа к вашему маршрутизатору OpenWrt.
Терминальные эмуляторы Windows
Cmder, Smartty, Putty и WinSCP являются терминальными эмуляторами, которые позволяют вам сходить в маршрутизатор.
Использование Cmder
Cmder для Windows эмулятор терминала с открытым исходным кодом, который работает в Windows. Он может свободно использовать и обеспечивает легкую “оболочку командной строки” которая позволяет вам ssh в OpenWrt. Его привлекательные шрифты и цветовая схема легко видны на глазах. Полное распределение является предпочтительным (over the mini distribution), так как она обеспечивает эмуляцию Баша, с Unix-й набором команд.
Откройте папку Cmder и дважды щелкните Cmder значок. Вы увидите окно Cmder, похожее на изображение ниже. Чтобы передать ssh в маршрутизатор OpenWrt на 192.168.1.1, введите ssh [email protected] затем нажмите Return
Использование Smartty
Smartty дает вам доступ к командной строке для OpenWrt и позволяет вам открывать /редактировать/загружать/загружать файлы в OpenWrt и в целом более современную и удобную для пользователя, чем Putty (еще один инструмент, описанный ниже):
после установки или после распаковки архива, дважды щелкните по исполняемому файлу SmarTTY. Вы будете приветствованы окном с двумя вариантами, дважды нажмите “setup новое соединение SSH ” (другая опция предназначена для последовательных подключений, для usb-TTL -ключей и иногда вы подключаетесь к серийным выводам устройства на плате, мы выиграли Не используйте это сейчас). Имя пользователя: root (это “администратор” и только пользователь по умолчанию OpenWrt) Пароль: оставьте это поле пустым для вашего первого подключения, а затем напишите пароль, который вы установили (либо в графическом интерфейсе Luci, либо после первого доступа к SSH ) По умолчанию в прошивке OpenWrt отсутствует серверный компонент, позволяющий открывать /редактировать/просматривать/загружать/загружать файлы в Smartty, поэтому после того, как вы подключились к интернету, напишите, opkg update && opkg install openssh-sftp-server чтобы установить его. Если следующий шаг завершится неудачно, возможно, потребуется перезагрузить устройство OpenWrt для запуска этой новой службы. Теперь вы можете нажать Файл → Открыть удаленный файл чтобы открыть всплывающее окно с файловой системой устройства OpenWrt, и вы можете перемещаться по нему и открывать текстовые файлы, например, как обычно (они будут открываться в окне текстового редактора SmarTTY) Если вы хотите загрузить или загрузить файлы в/из определенной папки на устройстве, вы можете щелкнуть по меню SCP и выбрать наиболее подходящее действие оттуда.Использование putty
Putty дает вам доступ к командной строке для OpenWrt:
Начните “putty.exe”с вашего клиента Windows. Появится окно входа в систему Putty. перейдите в “Session” категорию окна входа в Putty, найдите поле “Host Name” (or IP address) и просто введите IP -адрес (например, 192.168.1.1 ) вашего устройства OpenWrt, сохраните порт 22 по умолчанию. Нажмите Open кнопку в нижней части, чтобы открыть соединение. Это вызовет окно оболочки, спрашивая login as . Войдите как root с паролем OpenWrt, который вы определили некоторое время раньше. Если вы еще не установили пароль “root”, вам не будет задан пароль.Использование WinSCP
WinSCP позволяет просматривать файловую систему OpenWrt в Windows Exlorer, например, в стиле GUI :
Обычно этого не требуется, но для простоты этого способа перезагрузите ваше устройство OpenWrt, чтобы убедиться, что служба SFTP действительно запущена Начните WinSCP.exe с вашего клиента Windows, появится окно входа WinSCP. Готово. Теперь у вас есть вид, похожий на Exlorer, на вашу файловую систему OpenWrt.Редактирование конфигурационных файлов OpenWrt с помощью встроенного графического редактора WINSCP:
для редактирования конфигурационного файла OpenWrt с помощью редактора WinSCP с графическим интерфейсом щелкните правой кнопкой мыши файл в WinSCP и выберите “Edit” из контекстного меню.
Linux Terminal Emulators
Все дистрибутивы Linux предоставляют клиентский интерфейс ssh как часть стандартной установки.
Откройте эмулятор терминала и напишите ssh [email protected] (“ssh» - это команда, root это пользователь OpenWrt, к которому вы подключаетесь, а 192.168.1.1 это светодиод по умолчанию OpenWrt)Обычно у Linux также есть клиенты SCP (для открытия/редактирования/загрузки/выгрузки файлов в OpenWrt), которые могут быть установлены или не установлены по умолчанию. Вам нужно найти документацию вашего дистрибутива или выполнить поиск с помощью интерфейса управления пакетами для “SCP”, чтобы найти, где он находится, и его текущий статус установки. Прочтите его встроенное руководство (“man scp”, например, для клиента командной строки SCP) или google некоторые учебные пособия, чтобы узнать, как его использовать.
macOS Terminal Emulators
На macOS (ранее Mac OSX) любой эмулятор терминала позволит вам ssh. Там несколько терминальных эмуляторов:
Терминал - встроенная терминальная программа macOS. Найти его /Приложения/УтилитыЧтобы подключиь ssh в вашем маршрутизаторе OpenWrt на 192.168.1.1, введите ssh [email protected] , и нажмите Return.
- Last modified: 2020/01/10 15:01
- by stokito
Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.
Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International
Запустите командную строку и наберите telnet.
Откроется окно Telnet, готовое принимать команды. Для соединения с роутером нужно набрать команду: o 192.168.1.1 или 192.168.1.1:23 где 192.168.1.1 - адрес роутера, 23 - порт telnet (по-умолчанию). После этого будет предложено ввести имя пользователя(логин) и пароль. Логин всегда root, пароль вы должны знать.
На рисунке экран входа в прошивку DD-WRT. Операционная система роутера ожидает ввода команд. Telnet можно использовать для локального управления роутером. Telnet не шифрует передаваемую информацию, поэтому использовать его для удаленного управления не следует. Для этого есть PuTTY.
2. Доступ через PuTTY. PuTTY - свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin. Также имеется возможность работы через последовательный порт. PuTTY позволяет подключиться и управлять удаленным узлом (например, сервером). В PuTTY реализована только клиентская сторона соединения - сторона отображения, в то время как сама работа выполняется на другой стороне.
Особых настроек не требуется. Вводим имя хоста или IP-адрес и сохраняем сеанс. Кнопка "Открыть" устанавливает соединение. Логин всегда root, пароль вы должны знать. Остальные параметры можно оставить по умолчанию.
Сервер ожидает ввода команд.
3. Доступ через WinSCP. WinSCP - это графический клиент SFTP для Windows с открытым исходным кодом. Он также поддерживает (устаревший) протокол SCP. Предназначен для защищенного копирования файлов между компьютером и серверами, поддерживающими эти протоколы. Внешне и функционально он похож на файловый менеджер Total Commander. С его помощью мы получаем доступ к файловой системе роутера. Копируем, удаляем, редактируем и просматриваем файлы не только локально но и удаленно. Особых настроек, так же как и в PuTTY, не требуется. Вводим ip-адрес сервера имя и пароль, сохраняем
В результате получаем доступ к файловой системе роутера.
Теперь можно редактировать файлы и пока нет FTP сервера загружать необходимые файлы на USB-носитель.
WinSCP - это графический SFTP-клиент для Windows с открытым исходным кодом. Он также поддерживает протокол SCP.
Включение SSH
SFTP (SSH File Transfer Protocol) - протокол прикладного уровня для передачи данных (подобно протоколу FTP) в зашифрованном виде. В качестве базового протокола используется безопасный протокол SSH.
Для того, чтобы работать по протоколу SFTP, необходимо включить возможность использовать SSH (подробнее о данном протоколе здесь). По умолчанию на всех тарифах нашего хостинга доступ по протоколу SSH выключен.
Чтобы включить доступ по SSH, достаточно в Панели Управления аккаунтом нажать на кнопку включения доступа. Она располагается на главной странице в табличке "Тех. информация".
Далее расскажем, что же необходимо для работы с WinSCP.
Установка и настройка WinSCP
Итак, скачиваем и устанавливаем WinSCP.
При первом запуске Вы увидите окно следующего вида:
Вводите имя сервера ("Host Name"). Имя сервера указано в Панели Управления на главной странице в табличке "Общая информация" или в разделе FTP. Имя пользователя и пароль ("User Name", "Password") - это Ваши логин и пароль для входа в Панель Управления.
Вы можете сразу подключиться, нажав "Login", или для удобства сохранить сессию, нажав "Save". При сохранении сессии будет предложено ввести имя сессии и выбор, сохранять или нет пароль.
На вкладке "Stored Sessions" Вы можете видеть сохранённые сессии. Вы можете выбрать сохранённую сессию в списке и нажать "Login" для подключения.
На вкладке "Preferences" Вы можете настроить вид программы после подключения. Вы можете выбрать интерфейс в стиле Norton Commander или в стиле проводника Windows Explorer. По умолчанию выбран первый вариант.
После подключения, если выбран интерфейс в стиле Norton Commander, Вы увидите примерно следующее:
Этот интерфейс более удобен для управления с клавиатуры, им можно пользоваться вообще без помощи мыши. Он также позволяет выполнять основные операции быстрее и более наглядно.
После подключения, если выбран интерфейс в стиле проводника Windows Explorer, Вы увидите примерно следующее:
Этот интерфейс хорошо известен всем пользователям ОС Windows.
Завершить сессию Вы можете из вкладки "Session", выбрав "Disconnect", или воспользовавшись комбинацией горячих клавиш.
WinSCP позволяет работать с файлами прямо на сервере и легко справится с большинством задач: например, Вы можете изменить владельца, группу или права на файлы, как представлено на изображениях ниже:
Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел "Помощь и поддержка".
Читайте также: