Восстановление настроек openwrt в исходное состояние и failsafe mode.
Команда | особенности |
firstboot | хотя она описана как команда для failsafe режима, но работает и в обычном режиме |
rm -rf /overlay/* | |
mtd -r erase rootfs_data | вызывает перезагрузку. |
После чего выполнить перезагрузку (команда reboot).
Если войти под суперпользователем из сети в консоль роутера невозможно из-за утраты пароля или сбоя настроек, то тогда надо запустить режим защиты от сбоев.
Это делается 2 способами.
1. Через последовательный порт.
Сначала производятся соединения как описывал в посте про перепрошивку.
Потом включить роутер.
Когда в эмуляторе терминала появится приглашение нажать f для входа в аварийный режим.
[ 1.180000] 8021q: 802.1Q VLAN Support v1.8
[ 1.190000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[ 1.200000] Freeing unused kernel memory: 212k freed
- preinit -
Press the [f] key and hit [enter] to enter failsafe mode
Нажать и <ввод>:)
Тогда появится надпись.
f[ 6.160000] eth0: link up (100Mbps/Full duplex)
- failsafe -
BusyBox v1.19.4 (2013-12-08 03:47:05 MSK) 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
---------------------------------------- -------------
ATTITUDE ADJUSTMENT (Attitude Adjustment, r38863)
---------------------------------------- -------------
* 1/4 oz Vodka Pour all ingredients into mixing
* 1/4 oz Gin tin with ice, strain into glass.
* 1/4 oz Amaretto
* 1/4 oz Triple sec
* 1/4 oz Peach schnapps
* 1/4 oz Sour mix
* 1 splash Cranberry juice
---------------------------------------- -------------
root@(none):/#
2. При помощи манипулирования кнопками.
2.1. Сначала установить ip адрес на компьютере в 192.168.1.2.
2.2. Подать на девайс питание, а когда начнет мигать светодиод WPS (ближайший к единственной кнопке на плате tl-mr3020), нажать на кнопку WPS (единственная кнопка на плате, если роутор не разобран, то значит надо нажимать на прозрачный световод WPS).
2.3. Теперь можно подключиться к консоли роутора используя протокол telnet по адресу 192.168.1.1 из PuTTY или командной строки (telnet 192.168.1.1).
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
---------------------------------------- --
BusyBox v1.19.4 (2013-12-08 03:47:05 MSK) 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
---------------------------------------- -------------
ATTITUDE ADJUSTMENT (Attitude Adjustment, r38863)
---------------------------------------- -------------
* 1/4 oz Vodka Pour all ingredients into mixing
* 1/4 oz Gin tin with ice, strain into glass.
* 1/4 oz Amaretto
* 1/4 oz Triple sec
* 1/4 oz Peach schnapps
* 1/4 oz Sour mix
* 1 splash Cranberry juice
---------------------------------------- -------------
root@(none):/#
Теперь маршрутизатор в безопасном режиме.
Из этого же режима можно сбросить пароль root командой "mount_root; passwd"
root@(none):/# mount_root; passwd
[ 23.890000] JFFS2 notice: (451) jffs2_build_xattr_subsystem: complete buildin
g xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 10 of xref (0 dead, 2
orphan) found.
switching to jffs2
Changing password for root
New password:
Bad password: too short
Retype password:
Password for root changed by root
root@(none):/#
Перезагружается устройство из failsafe mode командой "reboot -f".
root@(none):/# reboot -f
[ 106.580000] Removing MTD device #3 (rootfs_data) with use count 1
[ 106.600000] Res
U-Boot 1.1.4 (Mar 20 2012 - 11:37:54)
AP121 (ar9330) U-boot
<....>
[ 1.190000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[ 1.200000] Freeing unused kernel memory: 212k freed
- preinit -
Press the [f] key and hit [enter] to enter failsafe mode
Тогда появится надпись.
f[ 6.160000] eth0: link up (100Mbps/Full duplex)
- failsafe -
BusyBox v1.19.4 (2013-12-08 03:47:05 MSK) 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
---------------------------------------- -------------
ATTITUDE ADJUSTMENT (Attitude Adjustment, r38863)
---------------------------------------- -------------
* 1/4 oz Vodka Pour all ingredients into mixing
* 1/4 oz Gin tin with ice, strain into glass.
* 1/4 oz Amaretto
* 1/4 oz Triple sec
* 1/4 oz Peach schnapps
* 1/4 oz Sour mix
* 1 splash Cranberry juice
---------------------------------------- -------------
root@(none):/#
2. При помощи манипулирования кнопками.
2.1. Сначала установить ip адрес на компьютере в 192.168.1.2.
2.2. Подать на девайс питание, а когда начнет мигать светодиод WPS (ближайший к единственной кнопке на плате tl-mr3020), нажать на кнопку WPS (единственная кнопка на плате, если роутор не разобран, то значит надо нажимать на прозрачный световод WPS).
2.3. Теперь можно подключиться к консоли роутора используя протокол telnet по адресу 192.168.1.1 из PuTTY или командной строки (telnet 192.168.1.1).
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
---------------------------------------- --
BusyBox v1.19.4 (2013-12-08 03:47:05 MSK) 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
---------------------------------------- -------------
ATTITUDE ADJUSTMENT (Attitude Adjustment, r38863)
---------------------------------------- -------------
* 1/4 oz Vodka Pour all ingredients into mixing
* 1/4 oz Gin tin with ice, strain into glass.
* 1/4 oz Amaretto
* 1/4 oz Triple sec
* 1/4 oz Peach schnapps
* 1/4 oz Sour mix
* 1 splash Cranberry juice
---------------------------------------- -------------
root@(none):/#
Теперь маршрутизатор в безопасном режиме.
Из этого же режима можно сбросить пароль root командой "mount_root; passwd"
root@(none):/# mount_root; passwd
[ 23.890000] JFFS2 notice: (451) jffs2_build_xattr_subsystem: complete buildin
g xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 10 of xref (0 dead, 2
orphan) found.
switching to jffs2
Changing password for root
New password:
Bad password: too short
Retype password:
Password for root changed by root
root@(none):/#
Перезагружается устройство из failsafe mode командой "reboot -f".
root@(none):/# reboot -f
[ 106.580000] Removing MTD device #3 (rootfs_data) with use count 1
[ 106.600000] Res
U-Boot 1.1.4 (Mar 20 2012 - 11:37:54)
AP121 (ar9330) U-boot
<....>
Корневая файловая система на внешнем устройстве (extroot)
Для многих роутеров существует существенное ограниченное в количестве дискового пространства для хранения файлов и данных на встроенных устройствах хранения (встроенная flash память). Но в тоже время роутеры могут быть оборудованы портами USB или SATA что позволяет подключить к ним внешние устройства хранения то как USB flash или USB HDD диски. В более экзотических случаях могут быть подключены даже mini PCI-E или сетевые диски. Подключение подобных устройств позволяет расширить "дисковую" память роутера в том числе и его корневую файловую систему для хранения как дополнительного программного обеспечения так и дополнительных настроек. При использовании механизма extroot в OpenWRT, вы можете расширить емкость вашей корневой файловой системы дополнительного устройства хранения данных. Переключение ли использование внешнего устройства как корневой файловой системы определяется процессом загрузки OpenWRT. Существует несколько механизмов создание внешней корневой файловой системы. Чтобы понять все технические детали OpenWRT extroot, крайне необходимо, прочитать extroot.theory. Данная статья объясняет, как настроить extroot в OpenWR.
Возможные альтернативы внешней корневой файловой системы
Существует несколько вариантов для построения/подключения устройств с внешней корневой файловой системой. Возможны следующие базовые варианты:
- Конфигурирование вашего загрузчика bootloader для непосредственной загрузки с внешнего USB устройства. Не все загрузчики могут иметь такую функцию.
- Популярные загрузчики такие как U-Boot или RedBoot support different file systems поддерживают такой функционал, но требуют драйвера для конкретной реализации аппаратуры!
- Конфигурирование вашего загрузчика для загрузки по сети network →netboot. Подобную опцию имею еще меньше загрузчиков!
- Создание установки что бы
opkg
был в состоянии устанавливать пакет еще где то в файловой системе OpenWRT →Installation destinations. Но обеспечение установки пакетов OPKG в корне намного удобнее, так как все файлы устанавливаются в стандартных местах файловой системы, в которых ОС ожидает их найти. - Использование kexec. Что может потребовать очень специфические настройки в зависимости от устройства.
Прежде чем начать...
- Прочитайте статью extroot.theory для лучшего понимания технологии внешней корневой файловой системы. Различия между двумя основными вариантами: pivot overlay and pivot root.
- Для различных версий OpenWRT конфигурации и опции будут также различны или могут отсутствовать.Инструкция ниже описывает процедуры для версий OpenWRT выше 10. Для версий ниже 10 возможен только вариант pivot overlay, но не pivot root.
- Примечание русского переводчика: переводится секция только для OpenWrt 'Barrier Breaker' (trunk)
- For different OpenWrt versions extroot configuration and features differ. The sections below provide separate instructions for OpenWrt 10 and higher. Notably, in OpenWrt 10 (Backfire) you can only use the pivot overlay variant, not pivot root.
- Функциональность extroot еще разрабатывается т.е. functionality is Work-in-Progress, поэтому обязательно смотрите статьи об ошибках Troubleshooting и примечания Notes в процессе подготовки и далее в процессе установки и настройки!
Если по некоторым причинам extroot сбоит при загрузке, то обычная конфигурация загружается из раздела JFFS2 из основной flash памяти. Вы можете скопировать старые настройки от туда для их последующего изменения. Подобная конфигурация несет некоторый риск, для примера конфигурация SSH может оказаться незащищенной и даже доступной из Интернета. Т.е. вы должны убедиться, что система находится в безопасности и защищена перед установкой extroot. Так же любые изменения, внесенные в сетевое окружение, должны быть совместимы с безопасностью в исходной конфигурации JFFS2. |
Подготовка
Вы должны смонтировать файловую систему куда будут копироваться настройки и корень.
- Для устройств USB , смотрите usb.essentials а так же usb.storage для устройств хранения USB.
- Так же в варианты SATA sata.essentials, IDE(PATA) ide.essentials или cf.essentials для других устройств.
- Вариант Mounting Filesystems для монтирования удаленной файловой системы через сеть.
- Смотрите Storage для общей информации о конфигурации устройств хранения.
Убедитесь что ваше устройство смонтирована в режиме read/write и на него можно записывать данные. Для примера смонтируйте в ручном режиме раздел на USB диске
/dev/sda
:mount /dev/sda1 /mnt/sda1
Вы должны проверить проверить что у вас все успешно подключено запустив
mount
или df
. Так же вы может записать файл и просчитать его непосрсдственно в/из /mnt/sda1
.OpenWrt 12.09 'Attitude Adjustment'
Примечание русского переводчика: данный раздел не переводился.
For OpenWrt 12.09, the second extroot variant pivot root is added. Decide whether you want to pivot
/overlay
(recommended) or to pivot /
(entire root)Required Packages
block-mount
This is the only required extroot package for OpenWrt 12.09, see block_mount.
Installation
After preparing your storage device and its file system, installation proceeds as follows. First the required packages are installed. Then the existing files from the current JFFS2 overlay partition on flash are copied to the new storage device. Then the system is configured using fstab for activating extroot at boot.
Install packages
opkg update opkg install block-mountAlso opkg install any filesystem or usb packages you need
Duplicate data
Copy necessary files from flash to the new root partition:
- For pivot overlay you can either use an empty new rootfs OR copy the contents of the current overlay (JFFS2) to the new rootfs (assuming the filesystem for the new external rootfs is mounted on
/mnt/sda1
):
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -
- For pivot root (only possible as of r26109!) you must make sure to have a complete root filesystem on the external rootfs device. One possible way to get such a system (assuming the filesystem for the new external rootfs is mounted on
/mnt/sda1
) is to issue
mkdir -p /tmp/cproot mount --bind / /tmp/cproot tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -x umount /tmp/cproot
Configuration
The configuration of extroot is very simple and is done entirely in
/etc/config/fstab
.Спасибо andr128 :
Очень полезно подключать внешнюю флэшку не только с целью расширить память для установки программ, но и для восстановления работы роутера при неправильной настройки сети. Когда к роутеру не возможно достучаться. Все глобальные настройки сети лучше производить при подключенной внешней флэшке. В случае не удачи просто вынимаем и перегружаемся. После загрузки с внутр. флэш вставляем внешнюю - редактируем на примонтированной флэшке файлы. Снова перезагружаемся уже не вынимая флэшку.
BusyBox v1.19.4 (2012-11-18 02:19:39 UTC) 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
-----------------------------------------------------
ATTITUDE ADJUSTMENT (12.09-rc1, r34185)
-----------------------------------------------------
* 1/4 oz Vodka Pour all ingredients into mixing
* 1/4 oz Gin tin with ice, strain into glass.
* 1/4 oz Amaretto
* 1/4 oz Triple sec
* 1/4 oz Peach schnapps
* 1/4 oz Sour mix
* 1 splash Cranberry juice
-----------------------------------------------------
root@Rover_WI_FI:~# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime,size=30856k)
tmpfs on /dev type tmpfs (rw,noatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,noatime,mode=600)
/dev/mtdblock4 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlayfs (rw,relatime,lowerdir=/,upperdir=/overlay )
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
none on /proc/bus/usb type usbfs (rw,relatime)
/dev/sda1 on /tmp/overlay-disabled type ext4 (rw,relatime,user_xattr,barrier=1,d ata=ordered)
root@Rover_WI_FI:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 3.3M 2.7M 588.0K 82% /
/dev/root 2.0M 2.0M 0 100% /rom
tmpfs 30.1M 160.0K 30.0M 1% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mtdblock4 3.3M 2.7M 588.0K 82% /overlay
overlayfs:/overlay 3.3M 2.7M 588.0K 82% /
/dev/sda1 993.6M 55.5M 888.3M 6% /tmp/overlay-disabled
___________________________________________________________
Замечен подключенный и блокированный overlay - Там и есть конфиги !
В WinSCP или в Putty и MC /tmp/overlay-disabled/etc переход и восстановление заранее продублированных файлов конфигурации, или копирование с работающего etc/conf в корне...
Prerequisites
Вы должны смонтировать файловую систему, на которой наложение будет скопирован в.
- Для поддержки USB, выполните usb.essentials
- Для поддержки хранения USB, выполните usb.storage. См хранение для общей информации о разбиении, форматирование и монтаж устройств хранения данных.
Убедитесь, что вы можете смонтировать и чтения / записи на внешнем устройстве хранения данных. Например, проверить, если вы можете читать / писать из вручную смонтированной файловой системы на диске USB распределяют на /dev/sda1 (адаптировать sda1 к вашим реальным потребностям):
mount /dev/sda1 /mnt/sda1
You should check if the mount was succesful by running
mount
or df
. Now check if you can write to /mnt/sda1
by writing a file to it and reading it back.
Вы должны проверить, что монтирование была успешно запуском
mount
или df
.. Теперь проверьте, если вы можете написать /mnt/sda1, написав файл и прочитав его обратно. Chaos Calmer
As described in extroot theory you can use pivot-overlay or pivot-root. This section will only cover pivot-overlay which is the recommended extroot implementation. If you really want pivot-root, check the Barrier Breaker section.
Prerequisites
- block-mount
- kmod-fs-ext4 or kmod-fs-[filesystem of choice]
- kmod-usb-storage-extras
opkg update ; opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras
Steps
- Format and partition drive the way you want, either using a Linux Live CD or via uci (it's recommended to use first partition for the root overlay, second partition for swap (if you want swap), and then you can add other partitions as you like)
- Prepare your external storage root overlay
mount /dev/sda1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt
- Create an fstab template
block detect > /etc/config/fstab ; vi /etc/config/fstab
- Edit the following in
/etc/config/fstab
:- Set all
enabled '0'
→enabled '1'
- Edit
option target
of your root overlay partition to show/overlay
(notoverlay
, as it will cause broken, duplicate mounts) - Edit
option target
of your other partition(s) to show whatever mount point(s) you want them to have (make sure to also create the directories those mount points point to)
You'll end up with an fstab looking something like this:
config 'global' option anon_swap '0' option anon_mount '0' option auto_swap '1' option auto_mount '1' option delay_root '5' option check_fs '0' config 'mount' option target '/overlay' option uuid 'c91232a0-c50a-4eae-adb9-14b4d3ce3de1' option enabled '1' config 'swap' option uuid '08b4f0a3-f7ab-4ee1-bde9-55fc2481f355' option enabled '1' config 'mount' option target '/data' option uuid 'c1068d91-863b-42e2-bcb2-b35a241b0fe2' option enabled '1'
- Reboot the router
- Verify that the partitions were mounted properly:
- via LuCI
- System - Software should show free space of overlay partition
- System - Mount Points should show USB partition mounted as
overlay
- via CLI
mount
should show USB partition mounted as/overlay
root@OpenWRT:mount /dev/root on /rom type squashfs (ro,relatime) proc on /proc type proc (rw,noatime) sysfs on /sys type sysfs (rw,noatime) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime) /dev/ubi0_1 on /overlay type ubifs (rw,noatime) overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work) tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755) devpts on /dev/pts type devpts (rw,relatime,mode=600) /dev/sda1 on /overlay type ext4 (rw,relatime,data=ordered) /dev/sda3 on /data type ext4 (rw,relatime,data=ordered) debugfs on /sys/kernel/debug type debugfs (rw,noatime)
df
should show free space available on your/overlay
and/data
partition
root@OpenWRT:df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 27180 7796 17964 30% / /dev/root 2304 2304 0 100% /rom tmpfs 127668 1468 126200 1% /tmp /dev/ubi0_1 1998672 8056 1869376 0% /overlay overlayfs:/overlay 27180 7796 17964 30% / tmpfs 512 0 512 0% /dev /dev/sda1 1998672 8056 1869376 0% /overlay /dev/sda3 242846048 163864 230323224 0% /data
- You're done!
Что такое zRam
Не буду углубляться глубоко в теорию, расскажу, как говорится, на пальцах.
Модуль ядра zRam в системах семейства Linux создает виртуальное блочное устройство, что-то вроде жесткого диска, который размещается в оперативной памяти. С ним можно делать что угодно, форматировать, монтировать и так далее. Вот только в отличии от других виртуальных блочных устройств, все данные на ходу сжимаются при записи, а при чтении разжимаются. Причем степень сжатия по оценкам некоторых пользователей — до восьми раз.
Конечно, степень сжатия во многом зависит от типа данных, размещаемых в этом устройстве.
Модуль ядра zRam в системах семейства Linux создает виртуальное блочное устройство, что-то вроде жесткого диска, который размещается в оперативной памяти. С ним можно делать что угодно, форматировать, монтировать и так далее. Вот только в отличии от других виртуальных блочных устройств, все данные на ходу сжимаются при записи, а при чтении разжимаются. Причем степень сжатия по оценкам некоторых пользователей — до восьми раз.
Конечно, степень сжатия во многом зависит от типа данных, размещаемых в этом устройстве.
Что там можно разместить? Что угодно, что не жалко потерять при перезагрузке устройства. Например, временные файлы или же не важные логи.
Однако фантазия людей пошла дальше. Раз мы имеем полноценное устройство, то разместим ка мы в нем.. Раздел подкачки!
Именно тот самый swap-раздел.
Однако фантазия людей пошла дальше. Раз мы имеем полноценное устройство, то разместим ка мы в нем.. Раздел подкачки!
Именно тот самый swap-раздел.
Что мы получим в итоге? Как уже говорилось в предыдущем пункте, Linux в раздел подкачки пытается скинуть данные, которые редко используются. Вот эти данные мы заставим сжимать и размещать всё в той же оперативной памяти. Причем время на сжатие хоть и требуется, оно всё равно компенсируется с достатком в сравнении с временем записи на физический носитель.
Картина многообещающая, а главное работает. На личном опыте — устройства типа бюджетных нетбуков с 2Гб оперативной, которые используются для периодического Web-серфинга даже при двух десятках открытых вкладках в прожорливом Chromium продолжают спокойно работать, а главное жесткий диск лишний раз не дергают.
zRam в OpenWRT
OpenWRT — операционная система семейства Linux для embedded-устройств. Например, для WiFi-маршрутизаторов или NAS-серверов. В народе её чаще именуют «альтернативная прошивка OpenWRT»
В таком роде устройств практически всегда катастрофически мало оперативной памяти, а прошивка позволяет установить и торрент-качалку и файловой сервер и еще кучу всего.
Тут то zRam опять приходит на помощь, чтобы память оперативную сэкономить:
В таком роде устройств практически всегда катастрофически мало оперативной памяти, а прошивка позволяет установить и торрент-качалку и файловой сервер и еще кучу всего.
Тут то zRam опять приходит на помощь, чтобы память оперативную сэкономить:
~# opkg update ~# opkg install zram-swap
Nginx на OpenWrt
Здравствуйте. В этой статье рассказано о том, как установить на роутер с OpenWrt быстрый и надёжный сервер Nginx.
Nginx — это HTTP-сервер, обратный прокси-сервер, почтовый прокси-сервер, а также TCP прокси-сервер общего назначения, написанный российским программистом Игорем Сысоевым. Nginx успешно работает на таких высоконагруженных ресурсах, как Яндекс, Mail.Ru, ВКонтакте и Рамблер.
Если Вы ещё не установили OpenWrt на свой роутер, то для получения подробной инструкции по этому вопросу, можете проследовать вот сюда.
Перейдём сразу к делу. Все операции проводятся на роутере TP-Link TL-MR3020, и так же справедливы для любого устройства под управлением OpenWrt.
Предполагается, что система перенесена на флешку и свободного места достаточно.
Если у Вас установлен Web-интерфейс Luci и соответственно сервер uhttpd, то его следует перенести на другой порт.
Делается это просто, надо отредактировать файл /etc/config/uhttpd
Замените 80 на 81, сохраните и рестартуйте uhttpd.
Теперь в вебку будете заходить по адрес:81
Обновляем репозиторий:
Если Вы не планируете использовать PHP на своём сайте, то достаточно будет установить только сам сервер.
Устанавливаем nginx:
Переименовываем дефолтный конфигурационный файл /etc/nginx/nginx.conf
Создаём свой:
И вставляем в него нижеследующие:
Это примитивный конфиг, «чтоб заработало».
Создаём в папке /www файл index.html с приветствием )))
Добавляем сервер в автозагрузку и стартуем:
В браузере видим Hello World!
Если нужен PHP, тогда устанавливаем вот так:
Останавливаем сервер:
На ошибки не обращайте внимание.
Удаляем кнофиг:
Создаём новый:
И заполняем его вот этим:
Конфиг с официального сайта.
Открываем файл /etc/php.ini
Находим строки и приводим их следующему виду:
Создаём файл для проверки php:
Cервер в автозагрузку и стартуем:
Переходим в браузер и видим информацию о PHP.
На этом всё. Копируйте Ваш сайт в папку /www и пользуйтесь.
Сайт nginx.
Nginx — это HTTP-сервер, обратный прокси-сервер, почтовый прокси-сервер, а также TCP прокси-сервер общего назначения, написанный российским программистом Игорем Сысоевым. Nginx успешно работает на таких высоконагруженных ресурсах, как Яндекс, Mail.Ru, ВКонтакте и Рамблер.
Если Вы ещё не установили OpenWrt на свой роутер, то для получения подробной инструкции по этому вопросу, можете проследовать вот сюда.
Перейдём сразу к делу. Все операции проводятся на роутере TP-Link TL-MR3020, и так же справедливы для любого устройства под управлением OpenWrt.
Если у Вас установлен Web-интерфейс Luci и соответственно сервер uhttpd, то его следует перенести на другой порт.
Делается это просто, надо отредактировать файл /etc/config/uhttpd
vi /etc/config/uhttpd
подсказка vi
Замените 80 на 81, сохраните и рестартуйте uhttpd.
/etc/init.d/uhttpd restart
Теперь в вебку будете заходить по адрес:81
Обновляем репозиторий:
opkg update
Если Вы не планируете использовать PHP на своём сайте, то достаточно будет установить только сам сервер.
Устанавливаем nginx:
opkg install nginx
Переименовываем дефолтный конфигурационный файл /etc/nginx/nginx.conf
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.old
Создаём свой:
vi /etc/nginx/nginx.conf
И вставляем в него нижеследующие:
user nobody nogroup;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
#server_name localhost;
charset koi8-r;
location / {
root /www;
index index.html index.htm;
}
}
}
Это примитивный конфиг, «чтоб заработало».
Создаём в папке /www файл index.html с приветствием )))
touch /www/index.html | echo Hello World! > /www/index.html
Добавляем сервер в автозагрузку и стартуем:
/etc/init.d/nginx enable
/etc/init.d/nginx start
В браузере видим Hello World!
Если нужен PHP, тогда устанавливаем вот так:
opkg install nginx php5 php5-fastcgi
Останавливаем сервер:
/etc/init.d/nginx stop
На ошибки не обращайте внимание.
Удаляем кнофиг:
rm /etc/nginx/nginx.conf
Создаём новый:
vi /etc/nginx/nginx.conf
И заполняем его вот этим:
user nobody nogroup;
worker_processes 1;
#error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
index index.php index.html index.htm;
default_type text/html;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
server {
listen 80;
#server_name YOUR_SERVER;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 32k;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 32k;
client_body_timeout 10;
client_header_timeout 10;
send_timeout 60;
output_buffers 1 32k;
postpone_output 1460;
root /www; # корневая папка сервера
location ~ \.php$ {
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (-f $request_filename) {
# Only throw it at PHP-FPM if the file exists (prevents some PHP exploits)
fastcgi_pass 127.0.0.1:1026; # The upstream determined above
}
}
}
}
Конфиг с официального сайта.
Открываем файл /etc/php.ini
vi /etc/php.ini
Находим строки и приводим их следующему виду:
doc_root = "/www"
cgi.force_redirect = 1
cgi.redirect_status_env = "yes";
Создаём файл для проверки php:
touch /www/index.php | echo '<?php phpinfo(); phpinfo(INFO_MODULES); ?>' > /www/index.php
Cервер в автозагрузку и стартуем:
/etc/init.d/nginx enable/etc/init.d/nginx start/etc/init.d/php5-fastcgi enable/etc/init.d/php5-fastcgi start
Переходим в браузер и видим информацию о PHP.
На этом всё. Копируйте Ваш сайт в папку /www и пользуйтесь.
Сайт nginx.
OpenVPN - OpenWRT
Установка и настройка.
Работа с OpenVPN на «большом» компьютере описана здесь...
Устанавливаем:
Переходим в папку /etc/easy-rsa для создания ключей:
Очищаем от старых ключей (если таковые были):
Откроем файл с переменными для создания ключей:
В самом конце перечислены значения, которые будут внесены в сертификат. Можно всё оставить как есть (на работу это не влияет), а можно вписать свои, например вот так:
Создаём:
Сертификат, на все вопросы отвечайте нажатием Enter:
Файл с параметрами протокола Диффи-Хеллмана, это займёт пару минут:
Ключи для сервера, надо будет несколько раз нажать Enter и два раза y:
Ключи для клиента:
Для каждого клиента надо создавать свои ключи. Поэтому в зависимости от количества планируемых клиентов создайте необходимое число ключей.
Для второго клиента:
И так далее… Если в дальнейшем появятся ещё клиенты, то просто выполните эту команду.
Если что-то нажали не так, то сделайте clean-all и создайте ключи заново.
TLS-ключ:
Переходим в папку с создаными ключами:
И копируем ключи для сервера в папку /etc/openvpn/
Бекапим дефолтный конфиг openvpn:
Создаём свой:
И вносим в него следующие строки…
Сохраняем.
Теперь перейдём в папку /etc/openvpn
И создадим в ней конфиг сервера server.conf
Наполним его этим:
Сервер OpenVPN получит адрес 10.25.0.1, а клиенты будут получать адреса 10.25.0.2 и т.д.
Описание команд и параметров.
Откроем конфиг файрвола:
И после опции:
Добавим правило:
Получится вот так:
Сохраняем — закрываем...
Открываем файл /etc/firewall.user
И дополняем его этим:
Где br-lan — интерфей смотрящий в интернет. Проверить можно командой ifconfig
Перегрузите роутер.
Запустим сервер:
Ничего не должно отображаться.
Смотрим лог:
Должна предстать такая картина:
Работает.
Ещё вот так можно посмотреть…
Осталось дело за клиентами.
Настройку клиентов для различных ОС я описал в статье про VPN на большом компьютере, поэтому не стал дублировать эту инфу здесь и предлагаю вам перейти сюда.
Названия файлов ключей для клиентов совпадают в обоих статьях, так что никакого дискомфорта Вы не испытаете...)))
Работа с OpenVPN на «большом» компьютере описана здесь...
Устанавливаем:
opkg update
opkg install openvpn openvpn-easy-rsa
Переходим в папку /etc/easy-rsa для создания ключей:
cd /etc/easy-rsa
Очищаем от старых ключей (если таковые были):
clean-all
Откроем файл с переменными для создания ключей:
nano /etc/easy-rsa/vars
В самом конце перечислены значения, которые будут внесены в сертификат. Можно всё оставить как есть (на работу это не влияет), а можно вписать свои, например вот так:
export KEY_COUNTRY="RU"
export KEY_PROVINCE="RU"
export KEY_CITY="SPb"
export KEY_ORG="stD"
export KEY_EMAIL="istarik@mail.ru"
Создаём:
Сертификат, на все вопросы отвечайте нажатием Enter:
build-ca
Файл с параметрами протокола Диффи-Хеллмана, это займёт пару минут:
build-dh
Ключи для сервера, надо будет несколько раз нажать Enter и два раза y:
build-key-server server
Ключи для клиента:
build-key client1
Для каждого клиента надо создавать свои ключи. Поэтому в зависимости от количества планируемых клиентов создайте необходимое число ключей.
Для второго клиента:
build-key client2
И так далее… Если в дальнейшем появятся ещё клиенты, то просто выполните эту команду.
Если что-то нажали не так, то сделайте clean-all и создайте ключи заново.
TLS-ключ:
openvpn --genkey --secret /etc/openvpn/ta.key
Переходим в папку с создаными ключами:
cd /etc/easy-rsa/keys
И копируем ключи для сервера в папку /etc/openvpn/
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn/
Бекапим дефолтный конфиг openvpn:
mv /etc/config/openvpn /etc/config/openvpn.bak
Создаём свой:
nano /etc/config/openvpn
И вносим в него следующие строки…
package openvpn
config openvpn custom_config# Set to 1 to enable this instance:
option enable 1
# Include OpenVPN configuration
option config /etc/openvpn/server.conf
Сохраняем.
Теперь перейдём в папку /etc/openvpn
cd /etc/openvpn
И создадим в ней конфиг сервера server.conf
nano /etc/openvpn/server.conf
Наполним его этим:
port 1194
proto udp
dev tun
topology subnet
server 10.25.0.0 255.255.255.0
keepalive 10 30
comp-lzo
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
tls-auth /etc/openvpn/ta.key 0
log-append /var/log/openvpn.log
#status /var/log/openvpn.status
#client-to-client
verb 3
Сервер OpenVPN получит адрес 10.25.0.1, а клиенты будут получать адреса 10.25.0.2 и т.д.
Описание команд и параметров.
Откроем конфиг файрвола:
nano /etc/config/firewall
И после опции:
config include
option path /etc/firewall.user
Добавим правило:
config 'rule'
option 'target' 'ACCEPT'
option 'name' 'VPN'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '1194'
Получится вот так:
...
# include a file with users custom iptables rules
config include
option path /etc/firewall.user
config 'rule'
option 'target' 'ACCEPT'
option 'name' 'VPN'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '1194'
...
Сохраняем — закрываем...
Открываем файл /etc/firewall.user
nano /etc/firewall.user
И дополняем его этим:
iptables -t nat -A prerouting_wan -p udp --dport 1194 -j ACCEPT
iptables -A input_wan -p udp --dport 1194 -j ACCEPT
iptables -I INPUT -i tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.25.0.0/24 -o br-lan -j MASQUERADE
Где br-lan — интерфей смотрящий в интернет. Проверить можно командой ifconfig
Перегрузите роутер.
reboot
Запустим сервер:
/etc/init.d/openvpn restart
Ничего не должно отображаться.
Смотрим лог:
tail -f /var/log/openvpn.log
Должна предстать такая картина:
Работает.
Ещё вот так можно посмотреть…
netstat -rn
Осталось дело за клиентами.
Настройку клиентов для различных ОС я описал в статье про VPN на большом компьютере, поэтому не стал дублировать эту инфу здесь и предлагаю вам перейти сюда.
Названия файлов ключей для клиентов совпадают в обоих статьях, так что никакого дискомфорта Вы не испытаете...)))
https://wiki.archlinux.org/index.php/Tor_ док по TOR на ARCH
No comments:
Post a Comment