• Главная

Домашний роутер в роли сервера FTP для резервного копирования. Хостинг на роутере


Хостим персональный сайт на роутере / Хабр

Доброго времени суток.

Пару недель назад я решил создать персональный сайт с несколькими страницами о себе, своих достижениях, целях и контактах. Разумеется, одним из этапов его создания стал вопрос выбора хостинга. Отдавать деньги за размещение сайта на чьём-то сервере мне не хотелось, да и оставлять свой домашний компьютер постоянно включенным тоже.

Поразмыслив, я вспомнил интересную статью о настройке сервера ip-телефонии Asterisk на маршрутизаторе Mikrotik. Так как у меня дома установлен роутер именно этого проиводителя, не раздумывая, я решил поднять на нём веб-сервер nginx. Итак, мы имеем зарегистрированное доменное имя, «белый» статический ip-адрес и маршутизатор Mikrotik RB751G-2HnD c замечательной функцией MetaRouter. Начнём с выбора образа openwrt для нашего маршрутизатора. Зайдём на роутер через программу winbox и посмотрим на его архитектуру. У модели RB751G-2HnD архитектура mipbse:

Скачиваем с сайта последний образ openwrt для mipbse отсюда. Копируем на роутер в Files:

Импортируем образ openwrt в метароутер, и добавляем сетевой интерфейс для нашего виртуального образа:

/metarouter import-image file-name=openwrt-mr-mips-rootfs-31411-basic.tar.gz memory=24 enabled=yes /metarouter interface add virtual-machine=mr2 type=dynamic dynamic-bridge=bridge_local Затем входим в консоль образа и первым делом устанавливаем пароль на пользователя root.

Редактируем настройки сети для получения сетевых реквизитов по dhcp от самого роутера:

vi /etc/config/network config interface lan option ifname eth0 option proto dhcp Добавляем службу сети в автозагрузку и перезапускаем:/etc/init.d/network enable /etc/init.d/network restart Мы получили сетевые реквизиты, и теперь у нас есть доступ к системе по ssh.

Редактируем конфигурационный файл пакет-менеджера для обновления репозитория и установки необходимых программ:

vi /etc/opkg.conf src/gz snapshots http://openwrt.wk.cz/trunk/mr-mips/packages dest root / dest ram /tmp lists_dir ext /var/opkg-lists option overlay_root /overlay Далее, обновляем репозиторий и устанавливаем nginx и php:opkg update opkg install nginx php5 php5-fastcgi Переходим к настройке веб-сервера.mv /etc/nginx/nginx.conf /etc/nginx/nginx_example.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_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; gzip_min_length 1k; server { listen 80; # слушающий порт server_name 172.16.0.12; # имя или ip-адрес сервера 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 /srv/www; # Папка с файлами сайта location ~ \.php$ { fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; if (-f $request_filename) { fastcgi_pass 127.0.0.1:1026; } } } } Редактируем параметры php:vi /etc/php.ini doc_root = "srv/www" cgi.force_redirect = 1 cgi.redirect_status_env = "yes";

И проверяем параметры fascgi:

vi /etc/nginx/fastcgi_params fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; Добавляем службы в автозагрузку и запускаем их:/etc/init.d/nginx enable /etc/init.d/nginx start /etc/init.d/php5-fastcgi enable /etc/init.d/php5-fastcgi start Копируем файлы сайта на сервер в указанную папку и проверяем работоспособность сайта внутри локальной сети. Не забываем поменять http порт нашего роутера и пробросить 80 порт сервера во внешку:/ip service set port=8080 2 disabled=yes # or no /ip firewall nat add chain=dstnat action=dst-nat dst-address=внешний_IP-адрес protocol=tcp dst-port=80 to-ports=80 to-addresses=172.16.0.12 in-interface=ether2 disabled=no # in-interface=WAN порт На этом настройка закончена.
Заключение
Таким образом, мы получили условно (наличие роутера) беслпаный хостинг для персонального сайта с минимальным энергопотреблением и потреблением ресурсов роутера.

habr.com

Установка Mikrotik Cloud Hosted Router на VPS хостинг Digital Ocean / Хабр

… или другой Linux-хостинг.Сразу оговорюсь, что поскольку мне в процессе всех экспериментов уже поднадоело сносить и заново настраивать дроплет в DO, пример я буду выполнять в VMware ESXi, но на конечный результат это влиять не будет, команды все будут те же самые, в принципе, это применимо к любому облачному VPS хостингу, где у нас есть доступ по SSH. За основу взят доклад Дмитрия Пичулина deemru на прошедшем 30 сентября MUM в Москве. В отличии от доклада Дмитрия, в данной статье не будет рассматриваться вопросы выбора хостинга и цен на него (в стремлении намутить облачный роутер подешевле), настройки полученного устройства. Рассмотрена будет лишь техническая сторона вопроса и решены пара проблем.

Вернувшись с MUM, я был в предвкушении, руки чесались запилить Mikrotik на Digital Ocean (в тот момент, там была Ubuntu Server, которая выполняла функции VPN-сервера). Полез смотреть архив выступлений, но его ещё не было и я написал письмо Дмитрию с просьбой поделиться слайдами. Получив презентацию, с холодной головой ринулся в бой — ломать свой дроплет полностью. Сделал всё, как в презентации, всё завелось. Легче и придумать нельзя. Скачиваем на хостинг образ, распаковываем, переводим файловую систему в read-only, заливаем образ на диск через dd. Но тут то меня и подстерегала первая нестыковочка — у Дмитрия при первой загрузке CHR автоматически произошло расширение файловой системы и она заняла весь диск, у меня же этого не произошло и пришлось довольствоваться 128 МБ.

Кто-то скажет 128 МБ на роутере хватит всем. Но меня эта ситуация в корне не устраивала, поэтому я принялся её устранять. Всем известно, что RouterOS основана на Linux, но от Linux'а там мало что осталось, поэтому после установки системы, её штатными средствами переразметить диск уже нельзя. Нельзя и загрузиться с какого-нибудь LiveCD и переразметить в нём (ну по крайней мере у DO нельзя). Попытки тыкаться fdisk'ом и parted'ом после заливки образа на диск, но до перезагрузки так же не привели к какому-либо положительному результату (эффекта либо не было вообще, либо я получал не загружающуюся систему).

Нормальные герои всегда идут в обход.

Итак для того чтобы получить RouterOS, установленную на Digital Ocean, в которой доступно 20 ГБ дискового пространства (ну или сколько там у Вас по тарифу) нам потребуется:

  • Собственно, сам droplet с установленным Linux дистрибутивом (в данном случае дистрибутив будет Ubuntu Server 16.04 x64, а вместо droplet'а будет виртуальная машина в ESXi, но ещё раз повторюсь, что роли это не сыграет), к которому у нас есть доступ по SSH.
  • Установленный на компьютере или сервере гипервизор (изначально я делал в VirtualBox, сейчас буду делать опять же в ESXi, на конечный результат это не влияет).
  • LiveCD вашего любимого Linux-дистрибутива (желательно, чтобы там был GUI, так будет удобнее).
Как вы видете, список не очень большой, каких-то особых требований к его пунктам нет, решение я старался сделать максимально универсальным и простым, чтобы можно было всё соорудить буквально на коленке из того, что есть.

Начнём с дроплета.

Нам нужно выяснить, какого объёма нам нужен диск в виртуальной машине, поэтому:fdisk -l /dev/sda Диск /dev/sda: 16 GiB, 17179869184 байтов, 33554432 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Тип метки диска: dos Идентификатор диска: 0x7b5dbf9c Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sda1 * 2048 31457279 31455232 15G 83 Linux /dev/sda2 31459326 33552383 2093058 1022M 5 Расширенный /dev/sda5 31459328 33552383 2093056 1022M 82 Linux своп / Solaris Как мы видим, у нас диск 17179869184 байт, запомним это значение.

Подготовка промежуточной машины

В гипервизоре создаём новую виртуальную машину. Её параметры особого значения не имеют, но можно, к примеру сделать их близкими к характеристикам дроплета. Размер диска лучше сделать с небольшим запасом, на всякий случай (почему-то 20ГБ в DO оказались меньше 20ГБ в VirtualBox). Настраиваем загрузку виртуальной машины с LiveCD.

Включаем её и после загрузки скачиваем любым удобным способом последнюю версию CHR, которую можно найти по ссылке:

Нам нужен образ Raw disk image (к примеру chr-6.37.1.img.zip). Распаковываем архив:

unzip chr-6.37.1.img.zip Archive: chr-6.37.1.img.zip inflating: chr-6.37.1.img И заливаем образ на жёсткий диск с помощью dd (Дмитрий тут использовал утилиту pv, но я, если честно не вижу в этом смысла, т.к. образ маленький и разворачивается довольно быстро):dd if=chr-6.37.1.img.zip of=/dev/sda 262144+0 records in 262144+0 records out 134217728 bytes (134 MB, 128 MiB) copied, 5.64304 s, 23.8 MB/s вместо sda нужно указать ваш диск, его имя может отличаться.

Расширяем файловую систему RouterOS

Любители всё делать в консоли могут делать там, мне показалось быстрее и проще сделать всё в GParted.

Запускаем GParted, выбираем диск, на который установили RouterOS и с помощью функции Resize/Move увеличиваем размер второго раздела. Обратите внимание, что размер раздела за вычетом размера первого раздела не должен превышать размер диска Вашего дроплета, который мы посмотрели в самом начале (т.е. первый раздел у нас 32 МиБ, значит второй должен быть не более 17179869184 байт / 1048576 = 16384 МиБ и — 32, т.е. 16352 МиБ)

Не забываем применить изменения разметки диска.

Создаём новый образ и жмём его с помощью gzip:

dd if=/dev/sda bs=8196 count 17000 | gzip -9cf > chr.img.gz 17000+0 records in 17000+0 records out 139332000 bytes (139 MB, 133 MiB) copied, 3.30824 s, 42.1 MB/s Значение 17000 мы получаем путём приведения размера образа при его развёртывании на диск. Там было 128 МиБ, т.е. 128 * 1024 = 131072 КиБ разделим размер на размер блока и округлим 131072 / 8 = 16384 ≈ 17000 блоков.

Заливаем полученный образ на дроплет и устанавливаем его

scp chr.img.gz [email protected]:~/ Где user — имя пользователя на вашем дроплете, а host — его адрес. Копирование будет выполняться в домашний каталог пользователя.

Принимаем сертификат ssh сервера, и вводим пароль, когда нас об этом попросят. После окончания копирования, эта виртуальная машина нам больше не понадобится.

Переходим на наш дроплет. Можно подключиться к нему по ssh или зайти через консоль. Убедимся, что наш образ скопировался, желающие могут проверить контрольные суммы. Переведём файловую систему в режим read-only и развернём образ на диск через gzip и dd:

echo u > /proc/sysrq-trigger && gunzip -c chr.img.gz | dd of=/dev/vda Всё! CHR установлен на наш дроплет. Перезагрузимся:reboot

Вас приветствует Mikrotik Cloud Hosted Router

@gexogen - обманщик!!!

На самом деле, хоть я и обещал, что нет никакой разницы, в Digital Ocean мы это делаем или в ESXi, разница всё-таки есть. В DO всё работает, а вот ESXi после перезагрузки упал в Kernel Panic. Но, в ESXi файловая система растягивается и так при первой загрузке и данные манипуляции не потребуются.

После перезагрузки входим под пользователем admin без пароля, после чего задаём пароль, прописываем ip адрес и дефолтный маршрут:/system user set admin password=YOURPASSWORD /ip address add address=YOUR.IP.ADD.RESS/MASK /ip route add gateway=YOUR.GATE.WAY.IP После чего можно подключаться к нему и настраивать через Winbox.

Заключение

На доступном месте можно установить внутри RouterOS виртуальную машину с Linux или использовать его как-нибудь иначе — на Ваше усмотрение (поднять FTP сервер или ещё что-нибудь).

Ссылки:

Презентация Дмитрия в фомате PDFЗапись его выступленияНа всякий случай, ссылка на готовый образ под файловую систему на 20 ГБ (т.е. минимальный тариф DO за 5$)

habr.com

Хостим персональный сайт на роутере

Доброго времени суток.

Пару недель назад я решил создать персональный сайт с несколькими страницами о себе, своих достижениях, целях и контактах. Разумеется, одним из этапов его создания стал вопрос выбора хостинга. Отдавать деньги за размещение сайта на чьём-то сервере мне не хотелось, да и оставлять свой домашний компьютер постоянно включенным тоже.

Поразмыслив, я вспомнил интересную статью о настройке сервера ip-телефонии Asterisk на маршрутизаторе Mikrotik. Так как у меня дома установлен роутер именно этого проиводителя, не раздумывая, я решил поднять на нём веб-сервер nginx.Итак, мы имеем зарегестриваронное доменное имя, «белый» статический ip-адрес и маршутизатор Mikrotik RB751G-2HnD c замечательной функцией MetaRouter. Начнём с выбора образа openwrt для нашего маршрутизатора. Зайдём на роутер через программу winbox и посмотрим на его архитектуру. У модели RB751G-2HnD архитектура mipbse:

Хостим персональный сайт на роутере - 1

Скачиваем с сайта последний образ openwrt для mipbse отсюда. Копируем на роутер в Files:

Хостим персональный сайт на роутере - 2

Импортируем образ openwrt в метароутер, и добавляем сетевой интерфейс для нашего виртуального образа:

/metarouter import-image file-name=openwrt-mr-mips-rootfs-31411-basic.tar.gz memory=24 enabled=yes /metarouter interface add virtual-machine=mr2 type=dynamic dynamic-bridge=bridge_local

Затем входим в консоль образа и первым делом устанавливаем пароль на пользователя root.

Хостим персональный сайт на роутере - 3

Редактируем настройки сети для получения сетевых реквизитов по dhcp от самого роутера:

vi /etc/config/network config interface lan option ifname eth0 option proto dhcp

Добавляем службу сети в автозагрузку и перезапускаем:

/etc/init.d/network enable /etc/init.d/network restart

Мы получили сетевые реквизиты, и теперь у нас есть доступ к системе по ssh.

Хостим персональный сайт на роутере - 4

Редактируем конфигурационный файл пакет-менеджера для обновления репозитория и установки необходимых программ:

vi /etc/opkg.conf src/gz snapshots http://openwrt.wk.cz/trunk/mr-mips/packages dest root / dest ram /tmp lists_dir ext /var/opkg-lists option overlay_root /overlay

Далее, обновляем репозиторий и устанавливаем nginx и php:

opkg update opkg install nginx php5 php5-fastcgi

Переходим к настройке веб-сервера.

mv /etc/nginx/nginx.conf /etc/nginx/nginx_example.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_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; gzip_min_length 1k; server { listen 80; # слушающий порт server_name 172.16.0.12; # имя или ip-адрес сервера 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 /srv/www; # Папка с файлами сайта location ~ .php$ { fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; if (-f $request_filename) { fastcgi_pass 127.0.0.1:1026; } } } }

Редактируем параметры php:

vi /etc/php.ini doc_root = "srv/www" cgi.force_redirect = 1 cgi.redirect_status_env = "yes";

И проверяем параметры fascgi:

vi /etc/nginx/fastcgi_params fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name;

Добавляем службы в автозагрузку и запускаем их:

/etc/init.d/nginx enable /etc/init.d/nginx start /etc/init.d/php5-fastcgi enable /etc/init.d/php5-fastcgi start

Копируем файлы сайта на сервер в указанную папку и проверяем работоспособность сайта внутри локальной сети.Не забываем поменять http порт нашего роутера и пробросить 80 порт сервера во внешку:

/ip service set port=8080 2 disabled=yes # or no /ip firewall nat add chain=dstnat action=dst-nat dst-address=внешний_IP-адрес protocol=tcp dst-port=80 to-ports=80 to-addresses=172.16.0.12 in-interface=ether2 disabled=no # in-interface=WAN порт

На этом настройка закончена.

Заключение

Таким образом, мы получили условно (наличие роутера) беслпаный хостинг для персонального сайта с минимальным энергопотреблением и потреблением ресурсов роутера.

Автор: dmitra90

Источник

www.pvsm.ru

Домашний хостинг. Часть 2 - Настройка роутера

3 октября 2014 г. 0:55

В статье мы рассмотрим какие типы IP адресов могут быть использованы для доступа к серверу по интернету со всего мира, и затем выполним базовую настройку роутера. Настройки описанные в данной статье могут быть использованы не обязательно для подключения сервера Cubietruck, а и любого другого, будь то обычный системный блок или ноутбук. Я буду все показывать на примере своего Huawei HG532e, но аналогичные функции должны присутствовать и в других роутерах. 

Для доступа к веб-серверу из интернета роутер стоящий на входе в домашнюю (локальную) сеть должен прежде всего иметь "белый" IP - либо статический, либо динамический.  "Белые" также называют внешними, или анонсированными. "Серый" (Частный, внутренний) адрес не подойдет. Узнать какой именно у вас IP и по каким ценам можно сменить его тип, можно у провайдера. Лучше всего получить статический ip так как он никогда не меняется. Но если это дорого, то для не особо серьезных проектов можно обойтись и динамическим. Динамический ip меняется при перезагрузке роутера, а также через определенный интервал (например раз в сутки, при разрыве сессии сервером), при этом в течении сессии ip не меняется и до него можно достучатся из любой точки мира. Единственная проблема тут с доменным именем, поскольку обычный DNS указывает на один айпи который меняется только при специальном ручном запросе, да и в течении длинного интервала времени (до нескольких дней). Однако эта проблема решается с помощью использования динамического DNS (DDNS), суть которого состоит в том, что при изменении вашего внешнего IP, он автоматически мгновенно изменяется в DNS, таким образом домен указывает на новый IP. DDNS проще всего заказать у провайдера - обычно это бесплатно, и в теории должно работать наиболее быстро так как провайдер сам меняет IP и сам его обновляет в DDNS. Более сложный способ - использование стороннего DDNS сервиса, при этом нужно чтобы локально был постоянно запущен какой-нибудь скрипт (предоставляемый сервисом или свой), который будет сообщать серверу что ваш IP поменялся и его нужно обновить в DDNS. Также в некоторых роутерах, например D-LINK, функция DDNS уже встроена, а сам сервис они предоставляют на своем сайте.

Приступим к настройке. Прежде всего нужно "пробросить" 80ый порт на ip-адрес Cubietruck-а в локальной сети. Так как правило проброса всегда указывает на определенный адрес, IP сервера должен быть постоянным, то есть не изменятся от подключения к подключению роутера и не отдаваться другим компьютерам в локальной сети. Для этого в роутерах обычно присутствует настройка резервирования IP адресов по уникальным MAC-адресам устройств. Находится эта настройка обычно в разделах связанных с DHCP. 

Для начала понадобится узнать MAC кьюбитрака. Сделать это можно прописав ipconfig на Cubietruck, но проще зайти на Web-интерфейс роутера в браузере (обычно по адресу 192.168.1.1 или 192.168.0.1) и посмотрев список подключенных устройств. 

Видно что у меня на данный момент подключено два устройства. Посмотрев ifconfig у себя на ноуте, я знаю что у меня адрес IP 192.168.1.2, значит кьюбитрак получил 192.168.1.2, а значит его MAC 02:02:04:C2:D6:54 (У вас, естественно, будет другой).

Теперь перейдем к резервированию нашего мака под постоянный адрес.

Для начала на вкладке DHCP server, мы видим что DHCP сервер раздает клиентам адреса в диапазоне от 192.168.1.2 - 192.168.1.65. Адрес 192.168.1.1 - это сам роутер, 192.168.1.0 - адрес подсети а 192.168.1.255 - широковещательный адрес подсети (поскольку маска 255.255.255.0). Таким образом постоянный адрес мы можем выбрать из диапазона 192.168.1.66 - 192.168.1.254, например 192.168.1.168. По этому во вкладке IP Address Reserve создано правило по маку кьюбитрака с его айпишником.

Заодно во вкладке DHCP server я задал DNS-сервера гугла, так как они обычно стабильнее и быстрее DNS-серверов провайдера.

Пора пробросить 80-ый порт на Cubietruck при помощи привила NAT на брандмауэре роутера:

И последнее что не помешает сделать - это настроить приоритезацию трафика к нашему серверу при помощи QoS (Quality of Service - качество обслуживания). Это нужно чтобы при активном использовании интернет канала из локальной сети, сервер получал свою гарантированную долю "Интернета". Кроме того входящий в локальную сеть трафик не должен перегружать сеть и в случае превышенной интенсивности трафик должен шейпеться (то есть выравниваться, ему придается ровная форма(shape)). Шейпинг выполняется путем ограничения максимального числа передаваемых байт за единицу времени.

На моем роутере идея QoS состоит в следующем: есть 4 очереди (QoS Queue) с разными приоритетами и 4 политики (QoS Policer). Очередь определяет какие пакеты нужно быстрее обрабатывать на роутере, а политика позволяет управлять скоростью для трафика принадлежащего разным классам. Сначала настраиваем пропускную способность (bandwidth), которую будут использовать некоторые алгоритмы и сделать настройки очередей и политик:

С очередями я ничего не менял - приоритет пакетов из очередей уменьшается от 1ой очереди до 4ой. Политики же задаются некой четверкой значений:

  1. CIR (Commited information Rate) - минимальная пропускная способность, которая должна быть обеспечена. Если этот уровень превышается во время перегрузки сети - трафик будет отброшен, если же нет, то выполняется проверка на PIR (см п.3)
  2. CBS (Committed Burst Size) - максимально допустимый размер передаваемый за раз (всплеск). Если превышен, то может отбрасываться или задерживаться.
  3. PIR (Peak Information Rate) - пропускная способность, допустимая если сеть не является перегруженной. Если скорость трафика выше этого значения то трафик отбрасывается вообще.
  4. Maximum Burst Size (MBS) - аналогично CBS, но опять же для случая когда сеть не перегружена. Если превышается, то пакеты или отбрасываются или задерживаются.

Значения обычно указываются в битах за секунду (bps), но в моем случае это кило биты за секунду (kbps).

Ну и напоследок нужно классифицировать трафик до сервера и задать ему очереди и политику:

Вот и все. Сохраняем, перезагружаем роутер, затем сервер. 

Проверяем пингом IP сервера (192.168.1.168). Теперь можно попробовать зайти на веб-сервер,  который на lubuntu-server в кьюбитрак уже по дефолту установлен и запущен. Сначала проверим доступен ли веб сервер из локальной сети. Для этого введем в строке адреса браузера IP сервера (192.168.1.168) и нажимаем ентер. Если все ок, то должна появится надпись:

It works! This is the default web page for this server. The web server software is running but no content has been added, yet.

Эту страничку отдал apache на сервере. Теперь можно перейти к проверке доступа из интернета. Сначала нужно узнать свой внешний IP, например тут http://www.whatismyip.com/ , или посмотреть на Web-интерфейсе роутера. Дальше нужно зайти на этот адрес с компьютера, который находится за пределами вашей домашней сети (из вашей сети этого просто так сделать не получится, так как вы сами находитесь в ней). Самый простой вариант - использовать какой-нибудь VPN или прокси сервер - например можно воспользоваться прокси сетью Tor. Для этого просто скачайте и запустите Tor browser. Прокси-сервер позволяет делать так называемый косвенный запрос - то есть когда вы вводите строку в торе вы соединяетесь на самом деле не с сайтом, а с прокси-сервером, находящимся не пойми-где, а он уже соединяется с запрашиваемы

bovs.org

Домашний роутер в роли сервера FTP для резервного копирования — Технический блог

Для того чтобы обезопасить себя от потери данных необходимо создавать резервные копии. Файлы которых, естественно, необходимо хранить в совершенно другом месте на совершенно другом компьютере (сервере). Как правило современные панели управления хостингом, к примеру IPSmanager, могут не только создать резервную копию сайта, но и передать ее (выгрузить) на внешнюю систему хранения по FTP протоколу.Для организации FTP сервера можно купить хостинг у другого провайдера, а можно для этого приспособить домашний роутер. В этой статье я расскажу как превратить маршрутизатор NetGear WNR3500l в FTP сервер для хранения резервных копий.

Необходимая конфигурация маршрутизатора

Данная инструкция написана для маршрутизатора NetGear WNR3500L на который установлена прошивка от Олега и Энтузиастов модифицированная Vampik. На моем маршрутизаторе используется версия прошивки 1.9.2.7-rtn-r3300M. В качестве хранилища я использую внешний жесткий диск размером 2,5 дюйма на 250 ГБ подключенный к USB разъему роутера. Такая схема не требует внешнего питания и работает очень тихо.

Настройка FTP сервера на маршрутизаторе

  1. Включаем FTP сервер. Разрешаем подключение только авторизованным пользователям.
  2. Указываем полный путь до папки к которой будет подключен FTP сервер. Папка должна существовать!
  3. Добавляем пользователя FTP сервера. Не забываем нажать «Add».
  4. Сохраняемся и перезагружаем маршрутизатор нажав кнопку «Finish».

Настройка внешнего подключения

Большинство домашних пользователей при подключении к интернету получают динамический IP адрес. Который может меняться по несколько раз в день и поэтому его нельзя использовать для внешнего подключения.Для решения подобной проблемы была придумана система динамических доменных имен. Суть ее работы в том, что время жизни динамического доменного имени ограничена несколькими минутами. И поэтому при подключении сверка соответствия доменного имени и IP адреса происходит намного чаще. Для поддержания актуальности значений имени и адреса устройство с динамическим именем должно работать в паре с сервером DNS которому это имя принадлежит, и где обслуживается.В сети много сайтов поддерживающих службу динамических доменных имен. Я использую dyndns.org. Получив аккаунт в котором можно будет обращаться к своему роутеру не по IP адресу, а по доменному имени.Для подключения службы динамических доменных имен необходимо настроить маршрутизатор, указав данные подключения.С недавних пор услуги сервера dyndns.org стали платными. Можно попробовать использовать другие сервисы из списка, что поддерживает маршрутизатор. К примеру noip.com.

Бесплатный аккаунт DynDNS

Владельцы маршрутизаторов D-Link могут использовать свой бесплатный сервис от производителя dlinkddns.com. Но не многие знают, что аккаунт от него подходит и для dyndns.org. То есть если у вас роутер D-Link, то вы можете зарегистрироваться на сервере dlinkddns.com и использовать полученные данные на dyndns.org. Получив таким образом бесплатный аккаунт на платном сервисе.

Настройка панели управления IPSmanager

После того как были настроены маршрутизатор и служба динамических DNS можно настроить функцию резервного копирования указав полученные ранее данные.Теперь файлы резервных копий хостинга будут у вас дома. Желаю, чтобы они вам никогда не пригодились.

Поделись этой страницей с друзьями!

moonback.ru

Хостим персональный сайт на роутере / СоХабр

Доброго времени суток.

Пару недель назад я решил создать персональный сайт с несколькими страницами о себе, своих достижениях, целях и контактах. Разумеется, одним из этапов его создания стал вопрос выбора хостинга. Отдавать деньги за размещение сайта на чьём-то сервере мне не хотелось, да и оставлять свой домашний компьютер постоянно включенным тоже.

Поразмыслив, я вспомнил интересную статью о настройке сервера ip-телефонии Asterisk на маршрутизаторе Mikrotik. Так как у меня дома установлен роутер именно этого проиводителя, не раздумывая, я решил поднять на нём веб-сервер nginx. Итак, мы имеем зарегистрированное доменное имя, «белый» статический ip-адрес и маршутизатор Mikrotik RB751G-2HnD c замечательной функцией MetaRouter. Начнём с выбора образа openwrt для нашего маршрутизатора. Зайдём на роутер через программу winbox и посмотрим на его архитектуру. У модели RB751G-2HnD архитектура mipbse:

Скачиваем с сайта последний образ openwrt для mipbse отсюда. Копируем на роутер в Files:

Импортируем образ openwrt в метароутер, и добавляем сетевой интерфейс для нашего виртуального образа:

/metarouter import-image file-name=openwrt-mr-mips-rootfs-31411-basic.tar.gz memory=24 enabled=yes /metarouter interface add virtual-machine=mr2 type=dynamic dynamic-bridge=bridge_local Затем входим в консоль образа и первым делом устанавливаем пароль на пользователя root.

Редактируем настройки сети для получения сетевых реквизитов по dhcp от самого роутера:

vi /etc/config/network config interface lan option ifname eth0 option proto dhcp Добавляем службу сети в автозагрузку и перезапускаем:/etc/init.d/network enable /etc/init.d/network restart Мы получили сетевые реквизиты, и теперь у нас есть доступ к системе по ssh.

Редактируем конфигурационный файл пакет-менеджера для обновления репозитория и установки необходимых программ:

vi /etc/opkg.conf src/gz snapshots http://openwrt.wk.cz/trunk/mr-mips/packages dest root / dest ram /tmp lists_dir ext /var/opkg-lists option overlay_root /overlay Далее, обновляем репозиторий и устанавливаем nginx и php:opkg update opkg install nginx php5 php5-fastcgi Переходим к настройке веб-сервера.mv /etc/nginx/nginx.conf /etc/nginx/nginx_example.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_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; gzip_min_length 1k; server { listen 80; # слушающий порт server_name 172.16.0.12; # имя или ip-адрес сервера 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 /srv/www; # Папка с файлами сайта location ~ \.php$ { fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; if (-f $request_filename) { fastcgi_pass 127.0.0.1:1026; } } } } Редактируем параметры php:vi /etc/php.ini doc_root = "srv/www" cgi.force_redirect = 1 cgi.redirect_status_env = "yes";

И проверяем параметры fascgi:

vi /etc/nginx/fastcgi_params fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; Добавляем службы в автозагрузку и запускаем их:/etc/init.d/nginx enable /etc/init.d/nginx start /etc/init.d/php5-fastcgi enable /etc/init.d/php5-fastcgi start Копируем файлы сайта на сервер в указанную папку и проверяем работоспособность сайта внутри локальной сети. Не забываем поменять http порт нашего роутера и пробросить 80 порт сервера во внешку:/ip service set port=8080 2 disabled=yes # or no /ip firewall nat add chain=dstnat action=dst-nat dst-address=внешний_IP-адрес protocol=tcp dst-port=80 to-ports=80 to-addresses=172.16.0.12 in-interface=ether2 disabled=no # in-interface=WAN порт На этом настройка закончена.
Заключение
Таким образом, мы получили условно (наличие роутера) беслпаный хостинг для персонального сайта с минимальным энергопотреблением и потреблением ресурсов роутера.

sohabr.net

Хостинг на домашнем компьютере - Установка ArchLinux

Хостинг на домашнем компьютере

Сегодня, уважаемый читатель, мы поговорим о том, как же можно соорудить сервер из домашнего компьютера.

Как не странно, но если вы читали статью о настройке Apache + PHP + MySQL, то вы уже умете хостить сайты на своем домашнем компьютере.  Оказывается, все что нужно для того, чтобы сайт грузился не с какого-то сервера хостинг-провайдера, а со своего знакомого родного домашнего компьютера – это описанным в статье образом настроить связку apache+php+mysql и связать доменное имя с IP-адресом вашего домашнего компьютера.

Повторюсь:

  • О том как настраивать Apache + PHP + MySQL я писал здесь.
  • О том, как связать IP-адрес и доменное имя я записал видеоурок.

Так что вы вполне вооружены знаниями, остается лишь правильно их применить.

Замечательно, если компьютер подключен напрямую к провайдеру сетевым проводом и в настройках сети задан внешний статический IP-адрес. Именно этот IP и нужно будет указать в настройках доменного имени.

Но, обычное дело, когда компьютер, который будет выполнять роль сервера, расположен либо в локальной подсети, либо перед ним стоит какой-нибудь АДСЛ-модем и внешний IP-адрес (который вы можете узнать воспользовавшись сервисом myip.ru) – это адрес роутера либо адрес АДСЛ-модема. IP-адрес компьютера имеет при этом локальный вид (либо 192.168.0.ХХХ, либо 10.0.0.Х). Здесь уже сложнее, но все равно можно реализовать поставленную цель и сделать у себя дома филиал хостинг-провайдера.

Необходимо реализовать так называемый проброс портов. Т.е. настроить роутер или АДСЛ-модем следующим образом:

  • Пользователь набрал адрес сайта sdelaysite.com.
  • Name-сервер сообщил IP-адрес. Этот IP-адрес является внешним статическим адресом либо роутера, либо АДСЛ-модема, либо шлюза, через который компьютер-сервер выходит в интернет.
  • Запрос пришел к роутеру на 80-й порт (именно через 80-й порт осуществляется http-соединение).
  • Роутер настроен таким образом, что все запросы, приходящие на 80-й порт, перенаправляет компьютеру локальной подсети с определенным IP, например 192.168.0.200.
  • Запрос пошел на локальный компьютер-сервер, а там его уже с радостью встречает Apache и выдает нужный сайт.

Но с пробросом портов мы разберемся чуть позже. Пока поковыряем сам компьютер-сервер.

Характеристики компьютера-сервера

Здесь очень сложно говорить о каких-либо точных параметрах.

Если вы собираетесь поиграть в хостинг-провайдера, то сервер должен быть четырехъядерным компьютером с 4-мя Гигабайтами оперативки, и несколькими жесткими дисками, объединенными в RAID-массив. Такой компьютер делится на несколько виртуальных серверов, управление которыми дается клиентам.

Если вы собрались подхостить пару сайтов, типа sdelaysite.com, то вполне хватит обычного современного компьютера. А там уже нужно экспериментировать для достижения оптимального результата.

Направлю ваше внимание на следующую особенность: важно количество оперативной памяти на сервере. Т.к. процесс загрузки посетителем одной и той же страницы сайта можно ускорить путем хранения данных в оперативной памяти. Чем больше оперативки, тем лучше.

Скорость чтения с жесткого диска и его надежность можно повысить все теми же RAID-массивами.

Но неоспоримым оказывается тот факт, что ОС Windows, из-за огромного количества дыр в безопасности, множества вирусов, нестабильности работы – на сервере не место.

Поэтому на серверах бал правят операционные системы семейства Linux. Но не пугайтесь, принципы работы в Linux не так и сложны, как кажется, а настройка Apache + PHP + MySQL практически ничем не отличается от настройки в Windows.

Установка ArchLinux

Давайте-ка, уважаемый читатель, я познакомлю вас с установкой операционной системы ArchLinux.

Существует множество операционных систем, разработанных на основе Linux. Это и всем известная Ubuntu и openSUSE и многие другие. Одним из завоевавших популярность дистрибутивов является ArchLinux. С ним-то мы и будем знакомиться.

Почему именно ArchLinux:

  • На мой взгляд, оптимально подходящий дистрибутив для сервера. В нем нет никакой лишней тяжести, все настраивает и устанавливает сам пользователь (оставляя только то, что действительно необходимо).
  • Мощная система установки обновлений Pacman.

Подробнее об Arclinux можно почитать здесь. О философии Arch здесь.

Теперь я подробно опишу процесс установки ArchLinux на будущий сервер.

В случае обычного домашнего компьютера, из которого мы планируем сделать сервер, подойдет дистрибутив Core ISOs: i686, Torrent-ссылку на который можно получить на этой странице.

Данный дистрибутив представляет собой 32-х битную версию с присутствующими в скачиваемом образе необходимыми файлами установки (короче говоря, это то, что нам нужно).

Скачиваем Torrent-ссылку и загружаем ISO-образ диска любимым Torrent-клиентом.

Как я уже писал в статье о моих программах, я буду использовать инструментарий TCUP.

Для начала запускаю из TCUP Torrent-клиент и примерно через час дистрибутив у меня на жестком диске.

Загрузка дистрибутива Linux

Загружен ArchLinux

Теперь, как вы, наверное, догадались, нужно нарезать дистрибутив на диск. Идеальным окажется обычный CD, но где его в наше прогрессивное время взять, поэтому я использую чистую DVD (ради такого дела не жаль).

Нарезать будем плагином все того же TCUP.

Прожиг диска с Linux

Запускаем плагин Прожиг CD/DVD. Далее выбираем пункт Проект: Образ ISO/CUE и, прямо в открывшееся содержимое пункта, копируем скачанный дистрибутив ArcLinux-а (при помощи всем знакомой кнопки F5).

Запись начинаем, естественно, кликом на пункт Запись диска.

Выбираю низкую скорость записи, спешить нам некуда. И поехали трансформировать образ диска в загрузочно-устновочный диск ArcLinux.

Программа записи диска

После завершения всех этих нехитрых операций мы имеем диск с дистрибутивом, который нужно вставить в подопытный компьютер и загрузиться с него.

Считается, что дойдя до понимания необходимости установки Linux, пользователь знает где именно в BIOS подопытного компьютера можно включить загрузку с CD.

Грузимся с CD.

Загрузка в Arch linux

Выбираем пункт Boot Arch Linux Live CD. После чего наблюдаем процесс загрузки операционной системы.

Дожидаемся появления приглашения к авторизации.

Приглашение входа в Linux

Авторизуемся, как нам и предлагает надпись сверху, под логином root.

Хозяйке на заметку root – это логин суперпользователя, обладающего самыми широкими правами по настройке системы.

В установочном режиме учетная запись root-пользователя не имеет пароля. Пароль мы создадим на одном из последних шагов установки ОС Arch Linux.

Если обратить внимание на появившуюся, после авторизации, красиво оформленную надпись, то станет понятно – установку нужно начитать с ввода команды /arc/setup и подтверждаю ввод нажатием, вы не поверите, Enter.

Приступаем к установке Arch Linux

Все, приступаем непосредственно к установке.

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

1. Select Source

На данном этапе нам предлагается выбрать между установкой с CD или из интернета. Т.к. мы скачали полный дистрибутив, то выбираем пункт CD-ROM or OTHER SOURCE и нажимаем Enter.

Выбор источника установки

2. Set clock

установка даты и времени

Select region and timezone. Здесь необходимо выбрать временной регион. Я выбираю Europe и после Kiev (т.к. территориально я нахожусь в Украине).

Set time and date Здесь без лишних пояснений выбираю UTC. В режиме manuale редактирую дату. После корректировки возвращаюсь в подменю установки даты и времени, выбрав пункт return.

Настройку времени и даты я закончил, выбираю 3-й пункт Return to Main Menu.

Теперь самая интересная и сложная часть – разбивка жесткого диска. Но мы эту науку быстро одолеем.

Выбираю пункт

3. Prepare Hard Drive(s)

Разбивать будем в ручном режиме. Поэтому в подменю выбираем пункт 2. Manually Partition Hard Drives.

Разбивка жесткого диска

Я имею диск в 18 Гбайт, о чем с радостью меня информирует программа разбивки диска.

Информация о диске

На данном этапе хочу пояснить принципы работы с оборудованием и файловой иерархией Arch Linux:

В Linux нет дисков С:, D: и т.д., как мы привыкли видеть в Windows. Здесь вся иерархия начинается от корня, обозначаемого / Все находится внутри этого слеша и распределено по папкам.

Удивительно для пользователя Windows, но все оборудование хранится в папке /dev. Мой единственный жесткий диск обозначается как sda. Именно поэтому я вижу надпись /dev/sda: 18GiB, которая говорит о том, что на компьютере есть одно устройство, распознанное как жесткий диск размером в 18 ГигаБайт и оно, как и все устройства, засунуто в папку dev.

А теперь мы приступим непосредственно к созданию разделов на жестком диске.

Создание раздела

Выбираю диск /dev/sda и нажимаю Enter. После этого запускается программа cfdisk, при помощи которой мы и будем делить диск на разделы. Убираем приветственное окно программы cfdisk, нажав Enter и наблюдаем интерфейс программы cfdisk.

cfdisk в linux

Для чистоты эксперимента я удаляю все имеющиеся разделы, выбирая внизу пункт Delete (нижнее меню, перемещаюсь при помощи курсорной клавиши вправо).

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

Создадим три раздела:

  • Загрузочный раздел, который будет содержать ядро системы (для него нам достаточно отвести 50 Мбайт).
  • Раздел подкачки или swap. Он используется для хранения данных из оперативной памяти, когда они уже там не умещаются (512 Мбайт).
  • Раздел для всего остального, корневой раздел /. Для него задействуем все что осталось.

Итак, выбираю пункт New и создаю загрузочный раздел. На следующей развилке я вбираю пункт Primary. Далее выбираю размер раздела, в моем случае достаточно 50 МегаБайт. Выбор подтверждаю пунктом Beginning.

После создания раздела указываю его тип (пункт Type) как 83 (Linux).

Первый раздел создан. Теперь я перемещаюсь на пункт, символизирующий оставшееся свободное место на диске и снова нажимаю New.

Теперь я буду создавать раздел подкачки swap.

Используем вышеописанный алгоритм. Размер данного раздела будет равен 512 Мегабайт.

В качестве типа данного раздела (Type) необходимо указать 82.

Все остальное помечаем как sda3, туда мы будем монтировать корень /.

Размеченный жесткий диск sda имеет следующий вид:

Настал этап указать один из дисков, как загрузочный. Для этого мы перемещаемся на sda1 и помечаем его пунктом Bootable.

Все, уважаемый читатель, с разметкой диска покончено. Выбираем в интерфейсе cfdisk пункт write (в нижнем меню) и сохраняем внесенные изменения.

После сохранения можно выйти (пункт Quit).

Мы снова попадаем в знакомое нам меню установки Arch, где выбираем пункт DONE.

После выбора DONE, мы окажемся в подменю работы с диском, где будет заботливо выбран пункт 3. Manually Configure block devices, filesystems and mounpoints

Нажимаем Enter и переходим к монтированию разделов жесткого диска.

Перейдя в соответствующий раздел меню мы сможем указать файловые системы и точки монтирования (что именно должно располагаться в выбранном разделе жесткого диска).

Точки монтирования дисков Linux

Итак, начинаем с sda1. Этот раздел загрузочный. Для него оптимальной окажется файловая система ext3, поддерживающая восстановление после сбоя.

Как и договаривались, монтируем на sda1 загрузочный раздел /boot.

Загрузочная область

Никаких дополнительных опций указывать не будем, нажимаем Enter.

Аналогично вышеописанному создаем файловую систему и точку монтирования для sda2. Файловая система – swap. Это собственно все, что нужно было указать для sda2.

Sda3 будет иметь файловую систему ext3 монтировать туда будем, как и договаривались, все остальное, т.е. /.

Вот результат:

Результат монтирования диска

Остается лишь выбрать done и все, что мы наворотили, применится.

Вот теперь уж с настройкой жесткого диска действительно все. Arch заботливо выбирает пятый пункт в меню установки 5 Return to Main Menu.

Продолжаем устанавливать наш замечательный Linux.

В главном меню установки выбран пункт 4. Select Packages. В нем нам нужно выбрать ничто иное как base.

Выбор пакетов

После выбора base появится перечень входящих в установку пакетов. Не парим себе лишний раз мозг, жмем OK.

Попадаем на 5-й пункт меню Install Packages, которым запускается установка пакетов. Если вы видите вот это

и CD старательно шуршит, значит все нормально, ждите окончания установки.

Все, уважаемый читатель, процесс установки Arch Linux закончен, приступаем к конфигурированию. Все, что мы сейчас наконфигурируем, можно будет поправить в любой удобный момент.

6. Configure System

На следующем экране нам предложат выбрать редактор для изменения текстовых файлов конфигурации. Выбираем nano и не парим мозг.

После выбора редактора текстовых файлов мы видим список всех файлов конфигурации. Но не пугайтесь, править нужно лишь часть из них.

Конфигурационные файлы ArchLinux

Основной конфигурационный файл – /etc/rc.conf

Выбираем соответствующий пункт и нажимаем Enter.

Редактор nano загружает содержимое текстового файла rc.conf, расположенного в папке файлов конфигурации etc.

Для начала мы настроим сеть. Переходим к разделу NETWORKING в файле и внимательно впиваемся взглядом в строчки

#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" eth0="dhcp" INTERFACES=(eth0) gateway="default gw 192.168.0.1" ROUTES=(!gateway)

Значит так, если мы настраиваем сервер, то речи о динамической раздаче IP-адресов быть не может. Поэтому мы убираем комментирующую решетку перед первой строкой и ставим ее на вторую строчку. Получается вот что:

eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" #eth0="dhcp"

Теперь развлекаемся с первой строкой. Вместо 192.168.0.2 прописываем IP-адрес сервера. Мой сервак находится в локальной сети и имеет адрес 192.168.0.200 (именно его я и указываю).

netmask 255.255.255.0 Это нас устраивает. Данный формат маски говорит о том, что в подсети могут находится 254 компьютера (первые три составляющие IP-адреса у них фиксированы, а последняя изменяется от 1 до 254). Ну и ладно.

broadcast 192.168.0.255 – это IP-адрес для широковещательных пакетов. Если на данный IP будет отправлен пакет, то его получат все компьютеры подсети. Ну и хорошо, нас это устраивает.

В результате имеем следующее вместо первой строки:

eth0="eth0 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255"

Крутим ниже, к строке

gateway="default gw 192.168.0.1" ROUTES=(!gateway)

Первая строка указывает шлюз. Моя локальная сеть организована таким образом, что перед сервером расположен роутер, имеющий адрес 192.168.0.1, его я и указываю в качестве шлюза. Если в вашем случае, никакого роутера нет, то администратор сети должен сообщить вам IP-адрес шлюза, его здесь и укажете.

Во второй строке нам нужно, всего на всего, убрать восклицательный знак:

ROUTES=(gateway)

С этим файлов все. Жмем ctrl+o для записи и ctrl+x для выхода.

Следующим конфигурационным файлом, к которому мы проявим интерес, будет /etc/resolv.conf

Здесь все очень просто. В формате nameserver ip необходимо указать DNS.

Прямо под строкой #nameserver <ip> дописываем следующее

nameserver 192.168.0.1

nameserver 8.8.8.8

Кто такой 192.168.0.1 вы, уважаемый читатель, уже знаете.

8.8.8.8 – это DNS от Google. Указываю его, в качестве альтернативного.

Следующий интересный файл – /etc/hosts.deny

По умолчанию в этом файле запрещаются все соединения. Поправить это можно закомментировав строку ALL: ALL: DENY, т.е. поставить # перед фразой решетку, вот так:

# ALL: ALL: DENY

Сохраняем файл и выходим.

Следующим шагом мы подкорректируем зеркала для обновления, содержащиеся в файле /etc/pacman.d/mirrirlist

Прокручиваем файл к разделу Russia и раскомметируем строчки с адресом yandex.ru

Сохраняем, закрываем.

Последняя операция – установка пароля для супермощного пользователя root. Задайте его, и не забудьте.

Вводя пароль знайте, что в Linux символы паролей не закрываются звездочками, они просто вообще не показываются (чтобы нельзя было подсмотреть даже количества знаков в пароле и потом как-то их подобрать).

Жмем Done в самом конце.

Изменения применяются.

Последнее, что нам нужно будет сделать – это выбрать загрузчика. Пункт 7 Install Bootloader.

Здесь все просто, не парим мозг, выбираем Grub. После его выбора мы увидим содержимое файла конфигурации загрузчика. Он нас не интересует, сразу выходим оттуда.

Теперь нам нужно выбрать, куда устанавливать загрузчик. Выбираем пункт /dev/sda

Установка загрузчика Grub

Все, уважаемый читатель, 8 Exit Install.

Поздравляю, Arch Linux стоит, вводите команду reboot и не забудьте вынуть загрузочный диск из СДРОМА. Кстати, СДРОМ не откроется, пока не начнется перезагрузка, потому что диск примонтирован, вот такие особенности Linux.

Все, Linux загрузился и приглашает начать работу с ввода логина и пароля. А вы что ожидали?

Логинимся как root (пароль от рута вы сами завали, так что вводите, если не забыли).

Поздравляю, вы залогинились как root (по крайней мере, я точно залогинился).

Теперь проверим работоспособность сетевого соединения. Я надеюсь, вы подключили компьютер к локальной сети обычным сетевым проводом.

Тогда все должно работать, пишем команду ping google.com и наблюдаем веселую картину удачных пингов.

Когда картина пинга наскучит, нажмите ctrl+c.

ping

Если ping у вас не проходит, то убедитесь в том, что вы получали в детстве достаточно витаминов.

Наконец-то теперь мы можем установить программу для удаленного SSH доступа через Putty. Помните я об этом писал?

Теперь мы узнаем как это все настраивается на стороне сервера.

Установив SSH-доступ я смогу удаленно управлять сервером и записывать видеоуроки, делать обычные скрины а не сидеть перед монитором с фотоаппаратом.

У Arch есть такая замечательная штуковина, как менеджер пакетов. Называется он pacman. Назначение pacman-а – установка необходимых программ, их обновление, обновление всех имеющихся программ, установка необходимых компонентов для вновь устанавливаемых программ. В общем, замечательная вещь. Подробнее о pacman можно читать тут.

А пока введем команду pacman -Syu, которая синхронизует данные о пакетах на серверах Яндекса.

После завершения синхронизации мы установим программу для SSH доступа. Называется она openssh. Установка происходит командой pacman -Sv openssh

Pacman скачает и установит программу и все недостающие компоненты. Почему-то с первого раза у меня обновился только лишь pacman, а openssh не установился. Поэтому я повторяю команду pacman -Sv openssh

На этот раз попытка увенчалась удачной установкой программы.

Вот где расположен файл запуска /etc/rc.d/sshd

Для того, чтобы запустить openssh, необходимо ввести следующую команду:

/etc/rc.d/sshd start

После чего будет возможен SSH-доступ к серверу.

Для доступа к серверу мы будем использовать программу Putty. Скачать ее можно либо с официального сайта, либо с Deposit Files (*.zip, 243 КБайта).

Вводим IP-адрес сервера (в моем случае 192.168.0.200) и подключаемся по SSH.

После соединения, в окошке Putty мы видим все тоже самое, что и на мониторе сервера. Клавиатуру и монитор сервера можно отодвинуть подальше, в ближайшее время они нам не понадобятся.

Напоследок мы обновим нашу систему замечательной командой pacman –Syu

В моем случае потребовалось загрузить обновлений на 100 Мбайт, так что мужайтесь, дело это не быстрое.

Пока на этом все. До следующей встречи предлагаю вам, уважаемый читатель, потыкать в google вопросами типа «основные команды linux» много всего забавного найдете.

С уважением, Андрей Морковин.

www.sdelaysite.com