«Деньги, карты, два ствола» (linux, kodi, tv-box)

— Мамо! Купіть мені плєєр!
— Який тобі плєєр, доцю? Ти ще коньків не сточила!..

Прогресс шёл себе, шёл, и дошёл до того, что наиболее универсальный плейер нынче представляет собой … компьютер в том или ином его обличии. А современный медийный контент — это различные файлы (видео/аудио/изображение/прочие), хранящиеся либо на каких-нибудь носителях, либо на серверах, как локальных, так и размещенных где-то в интернете. Миру явили даже такой симбиоз, как Smart-TV — (фактически, обычный) компьютер, который запхнули внутрь телика. Он тебе и в интернет сходит, и музычку проиграет, и киношку покажет, и еще целую кучу других разных дел сделает!

Но так уж вышло, что телик я себе купил … обычный (хорошо, хоть с HDMI-входами!). И это — лишь одна из причин всего того «перфоманса», который описан в этой заметке. Телевизор мой стоит себе на стенке в зале. Рядом разместился AV-ресивер (музыку тоже люблю послушать иногда), колонки, саб, одним словом — «всё пучком». И лишь компьютера там нет! Ну и последний «гвоздь в крышку» — моя домашняя «файлопомойка» (сервер, на котором хранятся все те самые файлы медиа-контента) живет на антресоли, образно говоря, «на другом краю мира» (квартиры). И никаких кабелей между этими локациями не было проложено по определению (ну кто мог себе такое даже представить в конце прошлого века, когда делался ремонт квартиры?!). Ну и последнее — музыку  я люблю «пускать» на ресивер «по цифре», но при этом, из цифровых входов у моего «старичка» имеются лишь S/PDIF и его оптическая разновидность — TOSLINK. А фильмы жена любит смотреть со звуком из телевизора («А чего оно так громко гупает с твоих колонок?»). Ну вот вроде как и закончили с «вводными»…

Итак, первый плейер, на который были возложены обязанности развлекать нас, представлял собой мини-ПК Raspberry-PI, с установленной на нем дополнительной платой PiFi-Digi (цифровые выходы звука S/PDIF и TOSLINK). Вот такая себе «сладкая парочка»:

Ах да, кроме «вышеперечисленных товарищей» в процессе также участвовали:

  • USB-адаптер беспроводной сети Tp-Link TL-WN725N (надо ж было как-то к «файлопомойке» подключаться)
  • Беспроводная «аэро-мышь» i7 Rii mini (в качестве пульта ДУ)

Установленное на «малину» ПО представляло собой (в разное время) различные дистрибутивы Linux, с установленной на них программой медиа-плейера Kodi («в девичестве» называвшейся XBMC, и к которой я за эти годы, можно сказать, «прикипел душой»). И все было бы хорошо, если бы не те самые «НО», которые по определению есть всегда и везде:

  • Компьютер сей особой производительностью не блистал. Это была модель из «более ранних» версий (model B): одно ядро частотой 700 МГц, памяти 512 Мб. Возможно, текущие версии «малины» (например, Raspberry-PI model 3B+) работали бы пошустрей, но тратить деньги на «эксперименты по проверке теорий» абсолютно не хотелось. Кроме того, и плату S/PDIF тоже пришлось бы покупать новую…
  • Дизайн изделия (именно такой, как и показан на фото выше, без корпуса) тоже особо глаз не радовал (не столько мой глаз, сколько жены).
  • Были еще какие-то мелочи, но, видимо, настолько незначительные, что уже и из памяти выветрились.

Железо

Вдруг как-то неожиданно освободился мини-пк, работавший моей домашней «файлопомойкой» (мини-сервером, выполнявшим разные задачи, в том числе и хранения медиа-контента). Вот такой, как показан на картинках ниже (разве что, wi-fi адаптера в моем не было, и как следствие, антенки — тоже):

А главный «сюрприз» ждал меня внутри этого компьютера — при тщательном осмотре его материнской платы на ней было обнаружено место для установки передатчика TOSLINK (оптического варианта S/PDIF). Использованный в компьютере чип аудио-кодека ALC662 от ф. Realtek имеет соответсвующий выход. Последующая проверка цепей показала, что все необходимые подключения и элементы на плате присутствовали, и не хватало лишь самого передатчика! На следующей картинке место для установки TOSLINK видно (в левом нижнем углу платы, пониже светло-зеленого гнезда аналогового аудио-выхода):

Отлично! Передатчик TOTX179 был куплен и распаян на плате, в корпусе мини-пк было «прогрызено» отверстие под него, и новый медиа-плейер был практически готов! Оставалось лишь поставить на него ОС и программу-проигрыватель.

«Муки выбора» (софт)

Глобально «что устанавливать» — вопрос не стоял абсолютно! Все тот же Kodi поверх все того же Linux-а. Ответ на вопрос о том, «какой Linux устанавливать», мне тоже известен уже давно — тот, который знаешь, иначе «танцы с бубном» затянутся надолго! А «знакомы» мне два дистрибутива — Ubuntu и Debian. Вопрос был лишь в том, «что где доступно и почем?». Речь о том, что версии плейера Kodi, включенные в различные дистрибутивы их авторами, во первых, отличаются, а во вторых, не дают «гибкости выбора» (как вы можете увидеть в приведенной ниже таблице, в официальных репозиториях присутствует лишь по одной версии Kodi для каждого из релизов). Но тут мною для Ubuntu были найдены так называемые PPA на сервере launchpad.net, «и всё сразу-же стало на свои места»! 🙂

Ниже приведена таблица, в которой указано, какие версии Kodi доступны в разных версиях Linux-ов (для Ubuntu рассматривались только LTS-релизы). На всякий случай уточню — приведенная в таблице информация была актуальна на момент написания данной заметки.

Дистрибутив Релиз Доступность Kodi в репозиториях
Официальный PPA
Ubuntu 16.04 LTS (Xenial) 15.2 16.1 (kodi-old)
17.6 (stable)
18.0 (unstable)
Ubuntu 18.04 LTS (Bionic) 17.6 17.6 (stable)
18.0 (unstable)
Debian 8 (jessie) 16.1 (backports)
Debian 9 (stretch) 17.1

По итогам «исследований» мною был выбран дистрибутив Ubuntu, и вот почему: использование PPA предоставляло возможность установить 2 или 3 разных версии проигрывателя Kodi, не меняя при этом саму ОС. Причем, в плане самого проигрывателя Kodi мои личные предпочтения склонялись к версиям 16 и 18. Поводом для такого моего выбора послужила опция в настройках звука, которая в 16-й версии Kodi присутствовала, в 17-й версии её убрали, а в 18-й — снова вернули! Речь идет о возможности «задрать» уровень громкости центрального канала, когда плейер выполняет т.н. downmix из многоканального (5.1) звука в двухканальное стерео. Эта штука очень сильно помогает при просмотре на телевизоре (имеющем лишь стерео-динамики) фильмов с такими «качественными» переводами, при которых голоса актеров «озвучки» выведены лишь в центральный канал да еще и со слабым уровнем, в результате чего их очень плохо слышно на фоне «громогласных» звуковых эффектов. А с учетом того, что иногда «задирать центр» приходится аж до уровня в +10…+16 дБ, то лично для себя эту опцию я считаю весьма и весьма полезной! Настройка параметра в 16-й версии Kodi показана на скриншоте:

Релиз Ubuntu мною был выбран такой: 16.04 LTS, и вот почему. Во первых, в нём возможно установить любую из ТРЁХ различных версий проигрывателя Kodi (естественно, речь про установку именно с помощью PPA). А во вторых — настройка сетевых адаптеров в нём осуществляется ещё «по-старому». Не скажу, что я не нашел для 18.04 LTS информацию о том, как в ней вернуться к «старому» ifupdown вместо «нового» netplan, или не нашел, что и как нужно прописать в настройках netplan для запуска моего адаптера TL-WN725N. НО, под управлением netplan он все равно стартовать не захотел, а менять в «новом» дистрибутиве «новый» netplan на «старый» ifupdown я посчитал просто «не красивым». Кстати, в случае использования Network Manager-а всё настраивалось, подключалось и работало на ура, но в том-то и дело, что в мои планы его использование не входило, о причинах чего будет сказано в следующем абзаце…

Дело в том, что для работы Kodi не нужны никакие «графические рабочие столы» (такие как Gnome, KDE, и т.п.). У него есть возможность работать в т.н. «standalone» режиме, для которого — да, нужен X-сервер, но вот desktop-ы всякие там — совсем не обязательны! А за то время, что пользуюсь линуксами разными, я уже успел убедиться, что «графический десктоп» — это самая «прожорливая» часть ПО в данных системах! Поэтому, ставить на свой плейер я режил серверную версию Ubuntu — ту самую, которая совсем без графики! Расчитывая при этом впоследствии «досыпать» поверх «голой консоли» лишь самый необходимый минимум. И вот именно по причине отсутсвия графического десктопа никакой Network Manager моему плейеру просто «не светил»!

Установка ОС

Установка ОС Ubuntu в интернете описана столько раз, что останавливаться на этом не вижу смысла. Пошли на сайт, скачали образ диска (iso-файл), записали его на «болванку» или флешку, загрузились с нее и установили. Единственное, на всякий случай повторюсь — лично себе я устанавливал 64-битную версию server-а Ubuntu 16.04.5 LTS. И еще одна настоятельная рекомендация — устанавливая ОС, не используйте слово «kodi» в качестве логина (юзер с таким именем будет создан позже, при установке программы Kodi).

Настройка беспроводной сети

Считаю нужным уточнить — всю установку и настройку плейера я проводил, подключив его к сети (роутеру) ETHERNET-КАБЕЛЕМ. Связано это с тем, что так БАНАЛЬНО ПРОЩЕ! Не могу сказать, что современные версии Ubuntu «проблемны» в плане поддержки большинства популярных (наиболее массово производимых) Wi-Fi-адаптеров, но сам я никогда не возился с их настройкой именно во время установки ОС. Проще всё проделать, подключившись кабелем. И лишь потом настраивать Wi-Fi (естественно, продолжая «висеть на кабеле», чтоб не отвечать на вопросы типа «А как я могу скачать пакеты, если к интернету не подключен?» 🙂 )…

Должен сделать еще одно краткое отступление. Естественно, описываемые в этой заметке действия проделывались не раз, не два, и не двадцать два. И лишь по итогам всех этих (за)нудных «экспериментов» была написана статья, которая теперь выглядит как «просто раз, два, три…». В ходе этих «экспериментов» действия предпринимались самые разные, и далеко не всегда действительно необходимые. А главное, потом было сложно понять, лучше стало после них, или хуже. Потому что «всё продолжало работать также, как и до того как…».

И вот сейчас речь пойдет именно о таком «сомнительной необходимости» действии — установке «из исходников» драйвера для моего Wi-Fi-адаптера. На всякий случай напомню, мною использовался USB адаптер Tp-Link TL-WN725N с чипом RTL8188EUS от Realtek внутри. Должен сразу же добавить — Ubuntu сама распознает указанный адаптер и сама устанавливает драйвер для него. Но я в эти «дебри» с установкой драйвера «из исходников» полез на том этапе, когда у меня в Ubuntu 18.04 LTS никак не получалось настроить подключение к беспроводной сети в программе netplan (подумал, «А вдруг поможет?»). По факту — не помогло, но инфа осталась, вот и выкладываю ее тут. Итак, чтобы установить драйвер на RTL8188EUS выполните следующее (приведены команды, которые необходимо выполнить в консоли):

  1. Установите необходимые дополнительные пакеты:
sudo apt-get update
sudo apt-get install -y linux-headers-$(uname -r) build-essential git
  1. Скопируйте исходники драйвера:
git clone https://github.com/lwfinger/rtl8188eu
  1. Перейдите в папку с исходниками:
cd rtl8188eu
  1. Выполните сборку и установку драйверов:
make all
sudo make install
  1. Включите использование системой модуля установленного вами драйвера:
sudo insmod 8188eu.ko

После перезагрузки ОС должна начать использовать установленный вами драйвер вместо встроенного. Но повторюсь, разницы в работе Wi-Fi после смены драйвера лично я не заметил, поэтому считаю установку драйвера не обязательной.

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

  1. Для этого в консоли введите команды:
sudo apt-get update
sudo apt-get install -y wireless-tools wpasupplicant
  1. Настройте параметры подключения к беспроводной сети (предполагается, что ваша сеть использует WPA-PSK или WPA-PSK2 шифрование). Для этого запустите редактор, указав для редактирования соответсвующий файл настроек:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  1. Редактор должен сообщить вам, что он открыл [Новый файл]. В файл впишите такие строки:
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
   ssid="тут_впишите_SSID_вашей_сети"
   psk="тут_впишите_ключ_шифрования_вашей_сети"
}

Естественно, что SSID и пароль (выделенные выше красным цветом) вы должны указать СВОИ собственные! Двухбуквенный код страны, при желании, также можете указать свой (список кодов можно тут просмотреть в таблице). Правда, я не заметил особой разницы от его смены. Выполнив это, сохраните файл (нажмите F3 и затем подтвердите имя файла для сохранения, нажав Enter) и выйдите из редактора (нажав F2).

  1. И завершающий шаг — настройка сетевых параметров адаптера в файле /etc/network/interfaces. Правда, перед этим вам нужно уточнить какое «имя» система присвоила вашему беспроводному адаптеру. Это можно сделать следующей командой:
iwconfig

В ответ вы должны получить список всех сетевых адаптеров, которые ОС обнаружила в вашем компьютере. Напротив тех  из них, которые не являются беспроводными, будет указано «no wireless extensions». По поводу же того адаптера, который программа опознает как беспроводной, будет указано нечто наподобие такого:

wlx30b5c216a241  unassociated  ESSID:""  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

В показанном примере видно, что имя беспроводного сетевого адаптера — wlx30b5c216a241 (выделено мной). Вот именно для него и нужно прописать настройки в файл /etc/network/interfaces. Откройте данный файл в редакторе:

sudo nano /etc/network/interfaces

Впишите в конце файла (не удаляя и не меняя остальные, уже имеющиеся там строки) следующее:

allow-hotplug wlx30b5c216a241
auto wlx30b5c216a241
iface wlx30b5c216a241 inet dhcp
#wireless-power off
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Естетсвенно, редактируя файл, «имя» адаптера указывайте то, которое будет использовано в вашей системе.

Вписанные вами в файл команды означают следующее: адаптер допускает «горячее подключение» (1-я строка), должен запускаться «автоматом» при старте системы (2-я строка), получать все настройки (IP-адрес, шлюз, DNS) автоматически, по DHCP-протоколу (3-я строка) и для подключения к беспроводной сети использовать настройки из соответсвующего файла (5-я строка). 4-я строка запрещает управление питанием для данного адаптера (в том смысле, что драйверу адаптера запрещено снижать мощность передатчика Wi-Fi-радиомодуля с целью экономии энергии), но чтобы данная директива начала работать, ее нужно «раскомментировать» (удалить «#» в начале строки).

  1. Сохраните изменения и выйдите из редактора.

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

Установка Kodi

Для установки Kodi на Ubuntu-server нужно выполнить несколько действий, а именно:

  • Добавить PPA репозитория Kodi на сервере launchpad.net;
  • Установить X-server;
  • Установить Kodi;
  • Создать новый Unit для Sysytemd, который будет запускать Kodi как standalone-демон при запуске ОС;
  • Создать новое правило для polkit, которое позволяет неавторизованному пользователю управлять перезагрузкой/выключением системы (это добавит соответсвующие кнопки в меню Kodi);

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

Чтобы воспользоваться данным скриптом и установить Kodi с его помощью, выполните следующее:

  1. Установите необходимый пакет:
sudo apt-get update
sudo apt install git -y
  1. Клонируйте скрипт автора с сайта GitHub на свой компьютер:
git clone https://github.com/abacao/Boot2Kodi.git
  1. Перейдите в папку со скриптом:
cd Boot2Kodi
  1. ВНИМАНИЕ — ЭТО НЕ ОБЯЗАТЕЛЬНЫЙ ШАГ! Так как по умолчанию этот скрипт подключает т.н. «stable»-ветку репозитория Kodi, то в результате его выполнения на компьютер будет установлена текущая «стабильная» версия программы, а именно — 17.6 (учтите, что данная информация была актуальна на момент написания заметки, при выходе новых версий проигрывателя наверняка всё изменится, поэтому, уточните свежую раскладку по версиям на странице проекта на сервере launchpad.net или тут). Если вы хотите установить именно текущую стабильную версию программы Kodi (17-ю), просто пропустите этот шаг и сразу переходите к 5-му пункту! Если же вы хотите установить Kodi версий 16.х (предыдущую) или 18.х («нестабильный» релиз-кандидат), то тогда вам нужно будет выполнить следующее:

Откройте файл скрипта в редакторе:

nano install.sh

Найдите в нем такую строку (где-то в начале файла):

add-apt-repository ppa:team-xbmc/ppa -y

И отредактируйте её. Если вы хотите установить Kodi версии 16.х, измените ее так, чтобы строка стала выглядеть следующим образом:

add-apt-repository ppa:team-xbmc/kodi-old -y

Если же вы хотите установить Kodi версии 18.х, то строку нужно привести к такому виду:

add-apt-repository ppa:team-xbmc/unstable -y

Сохраните изменения и выйдите из редактора.

  1. Запустите скрипт на выполнение:
sudo sh ./install.sh

По окончании работы скрипта программа Kodi будет установлена и запущена.

Звук — донастройка и метод переключения

Как уже было сказано в начале заметки, в моем случае звук проигрывателя должен был выводиться «наружу» двумя различными способами. При просмотре фильмов — по HDMI на телевизор. А при прослушивании музыки — по S/PDIF (TOSLINK) на AV-ресивер. Но тут меня поджидала «засада» — Kodi видела только лишь два выхода (а главное — ни одного из тех, что были нужны мне!):

Причина «фокуса» крылась в программе pulseaudio — это она предоставляла проигрывателю информацию о всего двух возможных способах вывода звука. В случае, если бы на компьютере был установлен какой-нибудь «графический десктоп», в нем присутствовали бы средства для настройки предпочтений из числа ВСЕХ имеющихся в компьютере аудио-устройств. Но увы, в моём распоряжении были сервер и «голая консоль» на нём! Решением оказалось «грохнуть» pulseaudio (и в таком случае Kodi использзовал бы сведения, предоставляемые другой программой аудио — alsa). И как показала дальнейшая проверка — в таком случае список для выбора оказывается гораздо шире:

Естественно, этот вариант устраивал меня намного лучше — в нем были доступны к  выбору нужные мне и HDMI, и S/PDIF!

Интернет предлагал мне вообще полностью удалить программу pulseaudio с компьютера. Но я воспользовался другими найдным советом — просто запретить pulseaudio сканирование аудио-устройств. И этого оказалось достаточно! Чтобы настроить систему таким образом, нужно выполнить следующее:

  1. Откройте в редакторе файл настроек программы pulseaudio:
sudo nano /etc/pulse/client.conf
  1. Найдите в файле такую строку:
; autospawn = yes
  1. Отредактируйте ее так, чтобы она стала выглядеть следующим образом:
 autospawn = no
  1. Сохраните изменения и выйдите из редактора.
  2. Перезагрузите компьютер.

Всё! После перезагрузки в настройках Kodi вы увидите максимально полный перечень устройств для вывода звука, имеющихся в вашем компьютере!

Для переключения вывода звука с одного интерфейса (в моем случае, с HDMI) на другой (S/PDIF) интернет настойчиво предлагал мне установить в программу Kodi дополнительный плагин. И я даже установил его! И даже выполнил весь тот «кордебалет», который нужен был для его настройки! Но скажу честно — это была не совсем тривиальная задача! Нужно было найти специальный xml-файл с настройками интерфейса, найти в нем конкретную запись, отредактировать её, дополнительно добавить туда еще какой-то код, скопировать файлы иконок, и т.д. и т.п… Короче говоря — не понравилось мне все это! И поэтому я свою задачу решил совсем иначе — просто создал в программе Kodi еще один (новый) профиль (пользователя)! В каждом из профилей я настроил свой собственный способ вывода звука (а также, и дополнительные параметры): в одном используется HDMI, в другом — S/PDIF! И теперь в случае необходимости я просто переключаюсь из одного профиля в другой (штатными средствами программы Kodi)! В итоге — никакой мороки с правкой xml-файлов…

Кеширование

100500 раз в интернете читал высказывания о том, что «мультимедиа по Wi-Fi — это плохое решение!». Но кабеля у меня как не было (между «файлопомойкой» и плейером), так и нет по сей день! А «киношку» посмотреть какую-никакую охота все-равно.

Еще во времена, когда плейером трудился старенький Raspberry, я нашел описание и настроил по нему кеширование в программе Kodi. И считаю эту возможность большим плюсом — благодаря ей Kodi старается скачать себе в буфер какой-то объем данных наперед. И благодаря буферизации вопроизведение намного меньше подвержено влиянию качества канала передачи данных, чем в случае, когда кеширование не используется. Например, «среднестатистическую» песню Kodi за пару-тройку секунд скачивает в свой буфер целиком и потом воспроизводит её непосредственно из памяти. Есть ли ему при этом какое-либо дело до нестабильности Wi-Fi, думаю, вы догадаетесь сами…

Чтобы настроить кеширование в программе Kodi нужно создать специальный файл настроек и вписать в него ряд параметров. Учтите, что названия параметров в файле для версии 16.х отличаются от таковых для версий 17.х и 18.х! Поэтому, будьте внимательны, выполняя приведенные ниже инструкции.

Чтобы настроить кеширование, выполните следующее:

  1. Запустите редактор, указав для редактирования соответсвующий файл настроек:
sudo nano /home/kodi/.kodi/userdata/advancedsettings.xml
  1. Редактор должен сообщить вам, что он открыл [Новый файл]. В файл нужно вписать настройки, которые будут определять параметры кеширования. Как уже было сказано выше, для разных версий программы Kodi эти строки должны отличаться:

ЕСЛИ ВЫ НАСТРАИВАЕТЕ ПРОГРАММУ KODI ВЕРСИИ 16.Х, то впишите в файл такие строки:

<advancedsettings>
    <network>
	<cachemembuffersize>268435456</cachemembuffersize>
	<buffermode>1</buffermode>
	<readbufferfactor>6</readbufferfactor>
    </network>
</advancedsettings>

ЕСЛИ ЖЕ ВЫ НАСТРАИВАЕТЕ ПРОГРАММУ KODI ВЕРСИЙ 17.Х или 18.Х, то строки должны быть такие:

<advancedsettings>
    <cache>
	<memorysize>268435456</memorysize>
	<buffermode>1</buffermode>
	<readfactor>6</readfactor>
    </cache>
</advancedsettings>
  1. Сохраните файл и выйдите из редактора.

Изменения вступят в силу после перезапуска Kodi (думаю, проще будет перезагрузить сам компьютер).

Параметров три (их значения выделены красным цветом), и не смотря на отличие имен параметров, определяют они одно и то же: первый указывает размер буфера в байтах (в моём мини-пк установлен модуль памяти объемом 2Гб, так что размер буфера я указал равным 256 Мб, но можно было указать и побольше), второй — опредеяет в каких случаях используется кеширование (вариант 1 означает — для любых протоколов и сетей, как локальных, так и «глобальных»), и третий параметр указывает, во сколько раз быстрее программа должна пытаться считывать данные из источника по сравнению с битрейтом самого медиа-файла. Подробнее прочесть о том, что и как можно настраивать в файле advancedsettings.xml, вы можете в Wiki на сайте Kodi.

И вот теперь действительно ВСЁ!…

Ах да,

…вишенка на торте

Чтобы сделать скриншот, можно обратиться к программе Kodi из браузера с «соседнего» в сети компьютера. Для этого вы дожны выполнить запрос на адрес:

http://адрес_компьютера_с_kodi:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Input.ExecuteAction","params":{"action":"screenshot"}}

Пару важных замечаний. Во первых, для того, чтобы это работало, в настройках Kodi нужно «Разрешить удаленное управление по HTTP». Во вторых, при выполнении самого первого скриншота программа попросит вас указать папку, в которую их сохранять. И третье — самое грустное: это работает лишь в версиях 16.х и 17.х…

Настройка PPPoE в Ubuntu, когда ADSL-модем настроен как bridge

Оставим в стороне вопросы типа «А не проще ли было настроить модем роутером и не мучиться?». Так было нужно. Цель — средствами консоли (ну не нравится мне network-manager!!!) настроить PPPoE соединение, автоматически стартующее при загрузке компьютера.

Настройка производилась по статье с сайта официальной документации Ubuntu. Стаья расположена по адресу:

https://help.ubuntu.com/community/ADSLPPPoE

Вводная — модем, как и сказано в заголовке статьи, настроен в режиме bridge, в него вписаны значения VPI и VCI, выданные провайдером. Модем подключен кабелем в сетевую плату eth0 компьютера, на котором установлен дистрибутив Ubuntu desktop 12.04.

Итак, запускаем терминал, и в нем вводим команду:

sudo pppoeconf

Вариантов дальнейшего развития может быть два. Первый — неудовлетворительный: пакет pppoeconf не установлен. В таком случае его можно например, поискать и скачать с сайта пакетов Ubuntu  и установить «руками». Также, пакет может присутствовать на том диске, с которого вы устанавливали Ubuntu. Добавьте его в число источников ПО и затем выполните установку.

Второй вариант — благоприятный, пакет pppoeconf  установлен. В таком случае запустится программа настройки PPPoE подключения. Самый первый скрин работы программы в данной заметке не приведен — в нем программа проводит сканирование сетевых адаптеров на предмет наличия модемов. ВАЖНО: на момент запуска программы модем должен быть (а) включен, (б) подключен к линии и (в) подключен к компьютеру! Иначе, программа сообщит, что модемов не найдено и завершит свою работу.

После того, как модем найден, программа выдаст предупредительное сообщение:

С учетом того, что мы все-таки пришли сюда, чтобы настроить новое (а может быть и перенастроить старое) подключение, СОГЛАШАЕМСЯ — щелкаем «ДА».

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

В моем случае (равно как и в 99% остальных), эти дополнительные опции будут вовсе не лишними. Желающие подробнее узнать о сути этих параметров могут (как и предлагается системой) почитать man (8) pppd, ну или ознакомиться с его переводом на русский язык в интернете. Соглашаемся, щелкаем «ДА» и перходим к следующему шагу.

Программа предложит вам ввести имя пользователя:

В этом поле вам нужно ввести тот логин (имя пользователя), который вам выдал провайдер. Будьте внимательны, не допускайте ошибок. Также, дополнительно обращаю внимание ваше внимание на регистр букв, «User» и «user» — это РАЗНЫЕ логины!

Следующий пункт — ввод пароля:

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

Следующий вопрос — об автоматическом добавлении адресов  DNS-серверов провайдера в список к «уже имеющимся в системе», после того, как устанавливается подключение:

СОГЛАШАЕМСЯ! Без этого мы рискуем получить неработающую систему. (Или вы наизусть помните все IP-адреса интересующих вас серверов? 🙂 )…

Следующее диалоговое окно программы предложит установить для ADSL-подключения  размер MTU равным 1452 байтам:

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

Отвечаем «ДА», но при этом пусть вам «на ум пойдет», что на самом деле этого БЕЗ ДОПОЛНИТЕЛЬНЫХ «телодвижений», увы происходить не будет! Об этом также сказано и в той статье с сайта Ubuntu, ссылку на которую я приводил выше. Переживать не стоит, ниже мы еще «поколдуем», чтобы впоследствии все было ОК.

В следующем окне программа предложит установить соединение прямо сейчас:

Выбираем «ДА»,программа выполнит процедуру подключения. Данное меню также предлагает вам запомнить две команды: pon dsl-provider и poff. Первая из них позволит вам вручную в консоли подключаться к провайдеру. Вторая — отключаться.

Должен дополнительно заметить, что если ранее вы ошиблись при вводе логина и/или пароля, то подключение произойдет как и положено (все будет выглядеть отлично!), но при этом доступ в интернет будет отсутствовать. По крайней мере, у меня именно так и было (я не доглядел в пароле, что одна из букв была введена мной не в том регистре, и в итоге лишние полчаса был вынужден угадывать — «как так, подключение ОК, а интернета нету?!»)…

Последний скрин — сообщение об успешном подключении:

На этом работа программы pppoeconf завершена. С данного скрина вам стоит запомнить команду plog, выводящую лог последнего подключения (надеюсь, команда ifconfig вам итак уже была известна)…

Проверить, что мы успешно подключились, в консоли проще всего такой командой:

ping -c5 google.com

Она позволяет нам сразу увидеть, что все прекрасно — служба DNS определит IP-адрес  для указанного сервера, и начнет пинговать его. Если все Ok, то пинг достигнет цели, и ваш компьютер получит ответы в том же самом количестве.

Автозапуск при загрузке

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

Не «рассусоливая» понапрасну много текста, предлагаю просто выполнить следующее. Отредактируйте файл /etc/network/interfaces. Для этого введите команду:

sudo nano /etc/network/interfaces

И приведите файл к следующему содержанию:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet ppp
pre-up iptables-restore < /etc/network/firewall.rules
pre-up /sbin/ip link set dev eth0 up
post-down /sbin/ip link set dev eth0 down

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

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

Обращаю внимание на строку выделенную цветом — это необязательная команда. Она дословно означает следующее: перед тем как запустить интерфейс eth0 программа iptables-restore должна загрузить правила файервола из файла /etc/network/firewall.rules. В вашем случае она может быть и излишней, поэтому можете ее и не вписывать в файл /etc/network/interfaces.

Чтобы выйти из редактора, нажмите Ctrl + X, и в ответ на запрос согласитесь с сохранением изменений.

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

Потом такой:

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

Ну и напоследок…

Chillispot и PPPoE

Собственно, все эти манипуляции я проделывал на компьютере, который выступал в роли хотспота. И доступ в интернет предоставлял «тот самый» Chillispot.

Нюансов в настройке в таком случае совсем не много. Во первых, в правилах файервола в качестве WAN-интерфейса нужно указать ppp0, вот так (выделено красным):

EXTIF="ppp0"
INTIF="eth1"

А во вторых, на всякий случай, стоит указать в настройках Chillispot-а (файл /etc/chilli.conf) адрес второго сервера DNS таким образом:

dns2 8.8.8.8

Суть данной перестраховки в том, что «может так статься», что на момент запуска Chillispot-а ADSL-соединение еще не будет установлено, и у компьютера еще не будет адреса(ов) сервера(ов) DNS. В итоге, в работе Chillispot могут наблюдаться проблемы. А так, мы принудительно подставляем вторым адрес одного из публичных  DNS серверов Google, который подстрахует, если вдруг будет недоступен DNS сервер провайдера…

Линух, «мускул», Дебет Плюс v12

Действительно, и что тут писать? Там же на сайте «море документации»! Только вот прочтение ее мало приближает к пониманию. Может в этом и есть весь сакральный смысл open-source?…

Итак, прочтение  всего того вороха, что размещен непосредственно на сайте Дебет Плюс, особого «прозрения» не принесло. Какие-то сбивчивые пояснения, обильно перемешанные картинками из виндовса, «дисками C:\ и D:\», обязательными разрешениями открытого беспарольного доступа рута к мускулу с любого компьютера сети, и т.д.

Короче говоря, отстреляться в моем любимом режиме «побороть за 5 минут и забыть» у меня не вышло…

Посему, решил расписать тут процесс этот, может кто потом спасибо скажет…

1.  Вводные

Есть у меня одна организация, активно переходящая на использование линукса. Причина банальна, платить за честный майкрософт они не хотят, а проверки по городу регулярно выискивают — «кто тут снова авторские права злостно нарушает?!». Посему, стоит у них на всех компьютерах Ubuntu, Open Office и т.д. и т.п… И почти все хорошо, но вот понадобилась им программа даже не для бухгалтерии в полном понимании этого слова, а всего лишь для ведения склада. Но такая, чтобы работало в ней несколько человек, на нескольких компьютерах, по сети, из-под под Ubuntu, ну и, естественно, даром…

Первой «подопытной» для демонстрации заказчику мной была выбрана Open ERP. Установка и настройка её — еще та песня, окончательная настройка стабильно работающей системы «сожрала» у меня несколько дней (основная проблема была с установкой и настройкой ее веб-сервера и веб-клиентов), если будет как-нибудь не лень, тоже распишу тут. Но, не понравился заказчику показанный продукт — «очень монстровская программа», «все слишком правильно», «нам бы попроще и подоходчивей», «мы не сможем наших бабушек обучить ей», и т.д. и т.п. И тут «пало око» на Дебет Плюс. Первые ознакомительные потыкивания в установленной на виндовсе версии закончились резолюцией заказчика: «Нормально, чем-то похоже на 1С, если вы утверждаете, что на линуксе оно точно такое же, то нам пойдет».  И вот теперь заказчиком было озвучено желание — «поставьте нам ее такую же, но на линукс и сетевую»…

Я тоже лентяй, разбираться с «клиентами» и «серверами» самого Дебет Плюса не захотел и решил, что «серверность» будем делать банально — через единую базу в MySQL. Вот на этом, собственно, моя вводная и заканчивается…

2. Сервер, подготовка

В данном случае, под «сервером»  я подразумеваю тот компьютер, на котором будет установлен сам сервер MySQL и размещена база «Дебета». Во всем остальном — он мало чем отличается от остальных «соседних» компьютеров. И более того, по «вводной от заказчика» на этом компьютере также будет работать один человек. На всякий случай напоминаю — это компьютер с установленной на нем ОС Ubuntu-desktop (кстати, оказывается в Украине на бубунту какой-то шустрый киевский предприниматель продает предприятиям сертификаты, я выпал!!!). Сама версия дистрибутива выбиралась мной, и я установил 10.04 LTS только потому, что  LTS  — это дистрибутив «с длительной поддержкой» (лениво мне каждые полгода с новыми багами разбираться)…

Для начала нужен сам сервер MySQL. Способов установить его — в интернете описано превеликое множество. Единственная моя «отсебятина», заключается в том, что я иногда люблю заглядывать в базы с помощью PhpMyAdmin (хотя стартовые действия — создание баз, импорт дампов, назначение привилегий — предпочитаю делать в консоли мускульного клиента — как-то и быстрей и понятней получается). Поэтому, (с поправкой на желание PhpMyAdmin-а) я сходу установил на «сервер» LAMP. Как я обычно это делаю, уже описано мной ранее в заметке Зажигаем «LAMP-очку». Дублировать тут ее смысла не вижу абсолютно — просто кликните по ссылке и прочтите…

3. Импорт дампа базы данных

После того, как сервер MySQL установлен и работает, наступило время вкинуть в него базу для Дебет Плюс. Для этого в первую очередь понадобится сам  Дебет Плюс. Идем на сайт программы в раздел «Скачать» и качаем версию для линукса.

http://www.debet.kiev.ua/download-program

После того, как файл скачан, его нужно распаковать (tar -zxf в помощь…). С учетом того, что (как я говорил выше) «сервер» будет одновременно еще и рабочим местом, я распаковал архив в домашнюю папку пользователя, который работает на этом компьютере. Кстати, кому не нравится такой вариант, тот может распаковать архив и в любое другое месторасположение. В данном случае, указание того, куда я распаковывал файл имело под собой одну лишь цель — создание «единой точки отсчета» при выполнении приведенных ниже консольных команд.

Итак, после того как архив был распакован, в домашней папке пользователя появилась папка DebetPlusV12. Переходим в папку, в которой расположен дамп базы данных (в консоли (терминале) вводим команду):

cd ~/DebetPlusV12/base/org2

(В данном случае «~» обозначает как раз домашнюю папку пользователя, вместо нее можно еще указать $HOME. )

В обозначенной папке убеждаемся в том, что в ней присутствует файл dpbase.arh (это и есть искомый дамп базы данных программы Дебет Плюс!). Если файл присутсвует, идем в консоль сервера MySQL, для этого вводим команду:

mysql -uroot -p

..и в ответ на запрос вводим пароль root-а (для сервера MySQL). После того, как попали в консоль MySQL, вводим команду для импорта дампа:

source dpbase.arh;

(данная команда приведена с учетом того, что мы перед входом в консоль мускула находились ИМЕННО в той самой папке, где располагался сам файл дампа dpbase.arh, иначе — в команде нужно прописать полный путь к файлу dpbase.arh, например, /home/dmitry/DebetPlusV12/base/org2/dpbase.arh). Дополнительно обращаю внимание, что предварительно саму базу мы не создаем — команда на ее создание уже присутсвует в дампе. Там же, в дампе, указано и то имя, с которым новая база будет создана — dpbase.

В результате процедуры импорта на сервере MySQL будет создана новая база — dpbase и в ней — (примерно) 1000 таблиц. Однако, программе Дебет Плюс для работы нужна ЕЩЕ ОДНА база (уж зачем она ей нужна — я не разбирался, но без нее, увы никак!). Имя этой базы dpadmin. Поэтому, создаем сразу же и ее:

CREATE DATABASE `dpadmin` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

Импортировать в эту базу ничего не нужно, программе достаточен сам факт ее существования. После того, как в сервере MySQL будут присутствовать обе требующиеся для работы программы базы, им нужно назначить владельцев, и предоставить им права. Для этого вводим две  комманды (баз-то две):

GRANT ALL PRIVILEGES ON dpadmin.* TO "DPADMIN"@"%" IDENTIFIED BY "password" WITH GRANT OPTION; 
GRANT ALL PRIVILEGES ON dpbase.* TO "DPADMIN"@"%" IDENTIFIED BY "password" WITH GRANT OPTION; 

Как видите, в данных командах мы для двух баз (dpadmin и dpbase) назначаем владельцем пользователя (DPADMIN), который будет подключаться с помощью пароля password (причем в данном случае указанное в примере слово «password» — это ИМЕННО ЗНАЧЕНИЕ пароля, поставьте свое собственное, выполняя данные инструкции), и получать при этом полный доступ. Имя пользователя — DPADMIN, причем, именно так — БОЛЬШИМИ буквами, это имя, прописанное по умолчанию в программе Дебет плюс.  И именно с этим именем по умолчанию программа будет пытаться подключаться. Вместо адреса сервера, с которого пользователь DPADMIN будет подключаться к серверу баз данных в команде указано «%» — то есть, с любого адреса. Желающие повысить безопасность могут прописать конкретные адреса, или диапазоны адресов…

Все, базы готовы, консоль мускула нам больше ни к чему, выходим из нее командой quit или exit — кому как больше нравится…

4. Непосредственно сама программа

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

~/DebetPlusV12/DebetPlus

Программа стартует, причем, полностью готовая к работе, как говорится «из коробки»! Спрашивается, а зачем тогда весь этот талмуд, если ее надо было просто запустить?… Отвечаю — ведь мы ж хотели «сетевую», а если «вот так просто стартануть» — то программа работает с локальной Derby-базой. То есть — пока еще не спешим пользоваться программой — сначала ее нужно перенастроить на использование базы, лежащей в сервере MySQL, и уж тогда будет нам «счастье сетевое»!…

По этому, последний шаг:

5. Настройка на использование базы MySQL

В этой части инструкции я покажу скриншоты, сделанные уже на «внешнем» рабочем месте — стоящем по соседству в сети компьютере. Причем, так уж вышло, что скриншоты делались на компьютере с ОС Windows, но в случае использования ОС Linux все настройки будут происходить точно также.

После того, как программа запустилась, выполняем следующее:

Рис. 1 — Выбираем добавление базы данных

То есть, в Правой части в меню выбираем закладку «Дебет Плюс»,  правой кнопкой мыши щелкаем на пункте «База DERBY» и в контекстном меню выбираем пункт «Добавить новую».

В открывшемся меню:

Рис. 2 — Выбираем добавление уже существующей базы данных

 

…выбираем пункт «Добавить в список существующую».

Откроется вот такое меню настройки параметров базы:

Рис. 3 — Настройки параметров базы данных

В этом меню нам предстоит выполнить ряд действий.

  1. Введите произвольное имя для данного подключения к базе. То есть, это просто то имя, под которым данное подключение к базе будет фигурировать в настройках программы Дебет Плюс. Причем, как показывают и используемое по умолчанию в программе имя «База DERBY», и официальная дока с сайта программы, здесь вы вольны использовать в том числе и кирилицу (правда, лично я не люблю этого, и посему назвал подключение не мудрствуя лукаво — mysql).
  2. Щелкните на стрелку и в выпадающем вписке выберите пункт «MySQL» (надеюсь, вы еще помните в каком сервера баз данных мы создавали нашу базу 🙂 )..
  3. Адрес (сетевой) того компьютера, на котором расположен сервер баз данных MySQL, в котором размещена интересующая нас база программы Дебет Плюс.  В данном случае на скриншоте показан IP-адрес сервера.  Если у вас в сети есть и используется локальный сервер DNS, который для локальных компьютеров хранит имена, можете указать вместо IP-адреса сетевое имя. Ну и напоследок, для случая, когда Дебет плюс запускается на том же компьютере, где расположена и сама база, вполне логичным будет указать в этом поле значение localhost (естественно, что «таких» компьютеров в «сетевой» инсталяции м.б. всего один 🙂 ).
  4. Номер порта. По умолчанию MySQL слушает подключения на порту 3306. Если вы не меняли это значение в настройках сервера MySQL (или даже не знаете, о чем идет речь), остатвьте как есть — 3306. Если меняли — смените и тут… Имя базы. При импорте дампа базы (как было описано выше) мы «автоматом» получаем, что создаваемая для «Дебет Плюс» база будет иметь имя dpbase (оно жестко прописано в файле дампа dpbase.arh, и его смена предполагает ручное редактирование файла dpbase.arh перед импортом). Если вы «ничего такого не делали», оставьте как есть — dpbase.
  5. В поле «Использовать авторизацию Дебет Плюс» мы птичку ставим для того, чтобы избежать необходимости при каждом запуске программы вручную вводить пароль, с которым Дебет Плюс подключается к базе данных. (Заказчик очень просил — «Не мучайте наших бабушек! Не надо, чтобы они еще и пароли запоминали!»).  Если же вы приверженец того, чтобы в целях безопасности пользователь все-таки вводил пароль вручную — не ставьте эту «птичку»!
  6. В поле «Настройки в базе данных» ОБЯЗАТЕЛЬНО ставьте «птичку»! Для сетевой работы — это необходимо. Иначе, при работе с сетевой базой данных Дебет Плюс будет постояннно пытаться искать «какие-то» настройки в своих локальных папках, находить их там естественно не будет, и вместо нормальной работы вы будете просто читать кучи сообщений об ошибках…
  7. Когда все выполнено, нажмите кнопку «Готово». Новое подключение (база данных) появится в списке рядом с пунктом «База DERBY».

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

Рис. 4 — Активация нового подключения к базе

То есть, просто щелкните на ней правой кнопкой мыши, и в меню выберите пункт «Сделать активной».  В ответ на это вы получите два сообщения.

Первое — это сообщение об ошибке:

Рис. 5 — Сообщение о невозможности подключиться к базе данных

… которое гласит о том, что программа не смогла подключиться к базе данных. Не пугайтесь. Причина его в том, что, во-первых, ранее вы поставили птичку в поле «Использовать авторизацию Дебет Плюс» (см. рис. 3 выше), во вторых, назначая права пользователей базы (см раздел «3. Импорт дампа базы данных» выше), вы указали использовать пароль (password), и в третьих, самой программе «Дебет Плюс» об этом пока что ничего не известно — ни о факте использования пароля, ни его (пароля) значение. По этому, программа и пытается подключиться к базе с пустым паролем. На что сервер MySQL ей вполне естественно и отвечает, что мол, «низзя сюды без паролю-то!»… Не огорчайтесь, все будет хорошо, нас же просили «не мучать бабушек»…

Второе сообщение — это как раз приглашение ввести пароль:

Рис. 6 — Ввод пароля для подключения к базе

Вводим тот самый пароль, который указали во время процедуры назначения прав на базы данных — «password» (надеюсь, вы ж его сменили на какой-то другой, свой собственный? 😉 ).

После того, как пароль принят, вы можете приступать к работе непосрадственно в программе Дебет Плюс! (И кстати, на этом этапе, при желании, можно уже и удалить не используемую теперь «Базу DERBY»).

Однако, условие «не мучать бабушек» все еще не выполнено: если на данном этапе оставить все как есть, окно с предложением ввести пароль, показанное на рис. 6 выше, будет выпрыгивать при каждом запуске программы. По этому, будем настраивать дальше…

Выполните следующее:

Рис. 7 — Вход в меню «Администрирование»

То есть,  щелкните сначала «Администрирование» в списке на закладке «Дебет плюс», а потом просто на самой вкладке «Администрирование» вверху.

В открывшейся вкладке нас интересует пункт Пользователи.

Рис. 8 — Выбираем меню «Пользователи»

Вот его и щелкнем. Откроется меню настройки пользователей программы:

Рис. 9 — Меню настроек пользователя

В нем выполните следующее:

  1. «Щелкните плюсик», чтобы открыть список пользователей.
  2. В списке будет всего один пользователь — DPADMIN. Вот его и выберите. Кстати, вот мы добрались до того, и с каким именем программа «ходит» в базу данных,  и почему оно набрано большими буквами… Кстати, желающие могут сменить, но учтите, что менять придется и в сервере MySQL (см. выше про назначение прав).
  3. Но мы сюда пришли с единственной целью — сменить пароль, с которым программа пытается подключаться к базе.  Поэтому, ставим «птичку» в поле «Сменить пароль».
  4. После этого у вас появится возможность ввода в поле «Пароль для пподключения к БД». Вводим туда то самое «password» (или какое там вы указали у себя) значение пароля.
  5. Щедлкаем кнопку «Сохранить». При этом пропадут и «звезды» в поле пароля, и «птица» в поле «Сменить пароль». Не переживайте — дело уже сделано, программа запомнила новый пароль.
  6. Щелкаем кнопку Закрыть» и выходи из меню.

ВСЁ!

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

Вот теперь, на мой взгляд, наконец-то это похоже на иструкцию по запуску программы за пять минут!!! 😉

Ах, да! Чуть не забыл…

6. Важное замечание по серверу MySQL

По умолчанию, обычно, сразу после установки сервера MySQL, доступ извне (из сети) к нему ограничен! За это отвечает обычно специальная настройка в файле my.ini. Зачастую (раньше) использовался специальный параметр — skip-networking. Если он активирован в файле настроек, право подключения к серверу дается лишь запросам, поступающим с адреса localhost. В таком случае, наши сетевые клиенты не смогут работать.  Чтобы все было хорошо, указанную строку нужно закомментировать.

Однако, в Ubuntu последнее время вместо параметра skip-networking используется другой — bind-address =127.0.0.1. Он также не позволяет подключаться к серверу никому, кроме localhost-а. По этому, его как и рассматривавшийся выше параметр skip-networking тоже нужно закомментировать.

После того, как данное ограничение в настройках сервера будет исправлено, сервер MySQL нужно перезапустить.

И вот теперь ваша сетевая версия Дебет Плюс будет прекрасно работать…

Успехов!

1, 2, 3, 4, 5, продолжаем «шлюзовать»…

В своей прошлой заметке я описал создание шлюза на базе компьютера с Linux (а точнее — с установленным на нем дистрибутивом Ubuntu). Та процедура на самом деле была лишь первым шагом «глобального плана». Этот шаг позволил нам создать самый простой шлюз, который при подключении к нему пользователей автоматом присваивает им IP-адреса и «выпускает» их в интернет. Пришло время второго шага — установим на наш шлюз прокси-сервер.

Вводные

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

  • Есть сетевая плата eth0, которой он подключен в интернет (интерфейс WAN).
  • Есть сетевая плата eth1, к которой подклдючаются компьютеры клиентов (интерфейс LAN).
  • Сетевой плате eth1 присвоен IP адрес 192.168.100.1
  • На интерфейсе eth1 запущен сервер dnsmasq, который динамически присваивает компьютерам клиентов адреса в диапазоне 192.168.100.50 — 192.168.100.250, а также обслуживает их DNS-запросы.

«Откуда взялись» и «как настроились» эти вводные — смотрите в первой заметке, повторяться я не буду. Если же в вашем случае вводные данные будут иными, откорректируйте приведенные ниже инструкции в соответствии с собственными значениями.

SQIUD — установка

Установка прокси сервера SQUID на дистрибутиве UBUNTU выполняется очень просто — всего-навсего одной командой:

sudo apt-get install squid3

Тут надо сделать совсем маленькое отступление о том, почему в команде написано squid3, а не просто squid. Согласно информации с официального сайта, у Squid есть две стабильные ветки программы — 2-я и 3-я. Если у дистрибутива Ubuntu дать команду установить пакет squid, а не squid3, то в итоге будет установлена 2-я версия. Лично я предпочел поставить 3-ю. А уж как вам больше нравится — решайте сами.

В ответ на введенную команду Ubuntu скачает и установит Squid. Сразу же после установки он будет и запущен. Но в базовом виде его настройки нас не устраивают. Поэтому, самое время сделать следующее:

Настройка SQUID

Исходные параметры, с которыми в систему был установлен и запущен Squid, нам немного не подходят. Поэтому, в консоли вводим команду

sudo nano /etc/squid3/squid.conf

В указанном редакторе (nano) откроется файл конфигурации сервера Squid.

Еще одно отступление. В этой (равно как и в предыдущей) заметке рассматривается только самый необходимый минимум, так сказать «функциональный базис». После выполнения приведенных рекомендаций вы получите работающий шлюз. НО, полное раскрытие всех возможностей допустим того же Squid не было задачей, да и не возможно в выбранном формате (записи в блоге). В этом вам поможет (наиболее полно и максимально) естественно, документация, написанная авторами программы, которую можно легко найти на сайте разработчиков.

Итак, пройдемся по тем настройкам, которые добавил или изменил лично я.

Первым делом я нашел вот такую строку:

acl localhost src 127.0.0.1/32

и под (хотя можно и над) ней добавил еще одну — следующего содержания:

acl localnet src 192.168.100.50-192.168.100.250

В данном случае, добавленная мной строка создает (назовем его так) «шаблон» (жаждущие пеедантизма в формулировках могут прочесть это) с именем localnet (имя при желании вы вольны придумать свое собственное), который указывает, что под этот «шаблон» попадают данные (пакеты), источником (src) которых являются IP-адреса в диапазоне от 192.168.100.50 до 192.168.100.250 (см. выше наши «Вводные» — это именно тот диапазон, который наш шлюз присваивает компьютерам клиентов).

Затем я нашел в файле следующую строку — вот такую:

http_access allow localhost

и опять же под ней добавил еще одну:

http_access allow localnet

Эта запись разрешает нашему серверу прокси обрабатывать запросы, поступающие от тех компьютеров, которые удовлетворяют созданому ранее «шаблону» localnet (естественно, если вы дали приведенному выше «шаблону» свое собственное имя, то тогда и тут тоже укажите именно его). Тут есть еще одно ВАЖНОЕ ЗАМЕЧАНИЕ — добавленная вами строка ОБЯЗАТЕЛЬНО ДОЛЖНА БЫТЬ ВЫШЕ (раньше) строки «http_access deny all»!

Далее в файле я нашел строку

http_port 3128

и изменил ее саму — дописав в конец слово «transparent«. В итоге строка стала выглядеть следующим образом:

http_port 3128 transparent

Этим самым я указал, что мой Squid будет работать в режиме т.н. «прозрачного» прокси, т.е. клиенты даже не будут подозревать о его существовании. И им не нужно будет в своих браузерах прописывать использование прокси-сервера. Они будут просто «ходить в интернет» как обычно, а Squid, как тот Штирлиц — писать все 🙂 …

В принципе, приведенных выше изменений (с учетом того, что я просто НЕ ТРОГАЛ остальные базовые настройки) вполне достаточно для нашего случая. Но, я сделал еще одно — нашел и отредактировал строку, указывающую, на каком языке Squid будет выводить сообщения об ошибках. В итоге строка стала выглядеть следующим образом:

error_directory /usr/share/squid3/errors/Russian-1251

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

Ну чтож, сохраняем изменения и выходим из редактора (Ctrl + X). Чтобы задействовать внесенные в настройки параметров изменения, перезапускаем сервер Squid командой:

/etc/init.d/squid3 restart

Все. Кеширующий прокси-сервер Squid работает. Осталось сделать последний шаг — трафик клиентских компьютеров завернуть непосредственно в него. И в этом нам поможет…

Настройка файервола

Как было сказано выше, «минимализ — наше все». По этому, приведенный ниже скрипт правил файервола так и сделан — в нем прописан необходимый минимум. А минимум этот, как написано вот в этом HOWTO действительно весьма аскетичен! Как говорили в небезызвестной советской комедии — «Достаточно одной таблетки!». А в нашем случае — всего одной строчки, которая в приведенном ниже скрипте выделена синим цветом:

        #!/bin/sh
        WAN="eth0"
        LAN="eth1"

        iptables -F INPUT
        iptables -F FORWARD
        iptables -F OUTPUT

        iptables -P INPUT ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT

        iptables -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT

        iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
        echo "1" > /proc/sys/net/ipv4/ip_forward

Как было сказано выше, «синее» правило заворачивает запросы, приходящие на интерфейс, определенный как переменная LAN (которая в скрипте равна eth1 — интерфейсу, к которому, согласно нашей «Вводной» подключаются клиенты) на порт 3128 (а это тот порт, на котором слушает наш Squid). В итоге клиенты автоматом получают доступ в интернет через наш прокси.

В скрипте есть еще две строки, выделенные красным — они не нужны для работы собственно шлюза, а открывают доступ к ssh-консоли шлюза. Если вам не нужно такое — просто удалите эти строки.

Что делать со скриптом, и как автоматизировать его запуск при загрузке компьютера — уже было описано мной в прошлой заметке. В данном случае сделайте все то же самое — скрипт сохраните в виде файла, файл сделайте исполняемым, выполните и пропишите его например в тот же файл /etc/network/interfaces (естественно, вместо того, что там был указан ранее). Если же приведенный скрипт правил файервола вам покажется недостаточным, можете использовать иной, например, тот, который приведен вот в этой заметке, ну или напишите свой собственный…

И вот собственно после того, как вы запустили на исполнение приведенный выше скрипт, пришло время подключить в шлюзу клиентский компьютер. У компьютера в настройках сети нужно включить использование DHCP-клиента (т.е. говоря терминами Windows — «Получить адрес автоматически» и «Получить адрес сервера DNS автоматически»). Компьютер должен автоматом получить от шлюза нужные данные — свой адрес, адрес шлюза и адрес сервера DNS. После этого можно запускать на компьютере браузер и отправляться в интернет…

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

sudo tail -f /var/log/squid3/access.log

И наблюдать нечто наподобие такого:

192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/buttons/lastpost.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/icons/icon11.gif HTTP/1.1" 200 1503 TCP_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/statusicon/thread_hot_new.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/misc/multipage.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/icons/icon5.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/misc/paperclip.gif HTTP/1.1" 200 747 TCP_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/icons/icon4.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/icons/icon7.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/icons/icon1.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/icons/icon9.gif HTTP/1.1" 304 375 TCP_IMS_HIT:NONE
192.168.100.85 - - [12/Apr/2011:13:16:08] "GET http://www.cyberforum.ru/images/icons/icon2.gif HTTP/1.1" 200 1501 TCP_HIT:NONE

Как видим, лог Squid-а нам все показывает — «кто, куда, зачем и почем»…

PS. Ну вот, опять до вирусов не добрались…

Зажигаем «LAMP-очку»

Наблюдая превеликое множество инструкций на тему установки вебсервера с поддержкой РНР, в которых идет нудное перечисление вида «Установите Apache», «Установите PHP», и т.д. и т.п., я всегда прихожу в уныние. Ну зачем все так сложно? По этому, я и решил написать эту заметку, в которой мы все это установим «на раз, два, три»…

Очень кратко о том, что такое LAMP.  Метапакет LAMP (Linux – Apache – MySQL – PHP) – это «объединенный пакет» устанавливающий «одним махом» несколько программ сразу. Он включает в себя: веб сервер Apache, сервер баз данных MySQL и сервер приложений на языке PHP. Установка этого метапакета в дистрибутивах Linux на самом деле позволяет максимально просто установить все указанные службы, а также автоматически настроить их взаимодействие. Результатом его установки является полноценный веб-сервер, с поддержкой PHP и MySQL, работающий на компьютере.

Именно поэтому мы и пойдем таким путем — установим метапакет LAMP. Выполняться это будет на «попсовом» дистрибутиве Ubuntu. Предполагается, что на момент начала установки у компьютера настроен доступ в интернет, и проблем с установкой пакетов нет.

Запустите терминал (меню «Приложения» — «Стандартные» — «Терминал»).

Введите в терминале следующую команду:

sudo tasksel install lamp-server

Должен заметить, что с некоторых пор в релизах Ubuntu команда tasksel по умолчанию не устанавливается. В таком случае в ответ на команду, приведенную выше, вы получите сообщение об ошибке (что команда tasksel не найдена). Ну нет, так нет. Установите ее! Для этого введите такую команду:

sudo apt-get install tasksel 

…а уже после того как программа tasksel будет установлена, снова введите команду (ту, первую) для установки метапакета LAMP…

Но, вернемся к установке.

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

Рис. 1 — Команда установки метапакета LAMP

После того, как правильный пароль будет вами введен, начнется установка метапакета LAMP. Первый этап — загрузка файлов.

Рис. 2 — Загрузка пакетов из интернета

После того, как загрузка файлов завершится, будет запущен процесс настройки. При этом вам будет предложено указать самостоятельно единственный зависящий от вас параметр, а именно — пароль пользователя root для сервера баз данных MySQL. Вам будет выведено вот такое диалоговое окно:

Рис. 3 — Ввод пароля пользователя root для сервера MySQL

Введите свой собственный, самостоятельно придуманный пароль. Табуляцией (кнопка Tab на клавиатуре) перейдите на поле <OK> и нажмите Enter.

Появится окно для повторного ввода пароля (верификация):

Рис. 4 — Повторный ввод пароля (верификация)

Еще раз введите ваш пароль. Пароль этот запомните, а лучше запишите, чтобы не забыть.

После того, как вы введете пароль, начнется установка пакетов:

Рис. 5 — Установка пакетов

По ее окончании можно начинать радоваться — сервер LAMP у вас на компьютере уже установлен.

Теперь, не выходя из терминала введите следующую команду

echo '<?php phpinfo(); ?>' | sudo tee -a /var/www/test.php

Эта команда создаст новый файл test.php в папке /var/www/ и в этот файл записывается одна единственная строка – <?php phpinfo(); ?>. С учетом его имени и месторасположения, вновь созданный файл является одной из веб-страниц, написанных на языке РНР, и обрабатываемых вашим веб-сервером. А его содержание представляет собой единственную команду PHP, выполняя которую, ваш сервер должен отобразить страницу со всевозможной информацией — о текущей версии сервера PHP, его настройках, а также об иных параметрах и данных. Файл этот нам понадобится в дальнейшем для проверки работоспособности сервера РНР.

Рис. 6 — Создание тестового файла для проверки работы РНР

Ну и напоследок — установим всеми любимый phpmyadmin (почему-то все без него жить не могут). Не выходя из терминала введите команду

sudo apt-get install phpmyadmin

Система запросит подтверждения — согласны ли вы установить «такое-то» количество пакетов.

Рис. 7 — Команда установки phpmyadmin

Соглашайтесь (нажмите «Y» на клавиатуре).

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

Рис. 8 — Выбор вебсервера, в который будет интегрирован phpmyadmin

Памятуя о том, что только что мы установили apache (в составе метапакета LAMP), выбираем соответствующий пункт (apache2), и щелкаем «любимое» <OK>.

Следующий вопрос будет посвящен настройке самого phpmyadmin. Вам предлагается настроить учетную запись административного пользователя в phpmyadmin.

Рис. 9 — Запрос дальнейшей настройки phpmyadmin

Выбираем «Да».

Вас попросят ввести пароль административного пользователя баз данных. ВНИМАНИЕ! Это тот самый пароль пользователя root для сервера MySQL, который вы только что вводили, когда устанавливали LAMP (см. рис. 3 выше). Вы ж его записали? Вот и чудно, введите его в ответ на этот запрос:

Рис. 10 — Запрос пароля пользователя root для сервера MySQL

После этого вам будет предложено ввести пароль  (как написано в диалоговом окне) «приложения для phpmyadmin». На самом деле настройщик создаст вам еще одного административного пользователя для сервера MySQL. Имя пользователя будет phpmyadmin, а пароль его вам как раз и предлагается ввести. Укажите свой самостоятельно придуманный пароль:

Рис.11 — Ввод пароля для нового пользователя — phpmyadmin

Как и любой вновь вводимый пароль вас попросят его ввести повторно для верификации:

Рис. 12 — Повторный ввод пароля пользователя phpmyadmin (верификация)

После того, как вы  успешно введете все пароли, установка и настройка phpmyadmin будет завершена.

Осталось лишь проверить, и убедиться, что все хорошо. Сначала проверяем работу именно веб-сервера Apache. Запустите браузер (в Ubuntu по умолчанию установлен Mozilla Firefox). В браузере введите следующий адрес (подразумевается, что ваш браузер запущен НА ТОМ ЖЕ САМОМ компьютере, на котором был установлен веб-сервер):

http://localhost/

Вы должны увидеть вот такое окно:

Рис. 13 — Проверка работы веб сервера Apache

«Радостная» надпись «It works!» является подтверждением того, что Apache работает.

Проверим теперь PHP. В адресной строке браузера введите другой адрес:

http://localhost/test.php

(это адрес той самой «тестовой» страницы, которую мы создали ранее). Должно появится вот такое окно:

Рис. 14 — Проверка работы сервера PHP

В нем, как и было обещано ранее, вы сможете прочесть все информацию о вашем сервере…

Ну и напоследок — а как там поживает наш phpmyadmin? Введите в строке адреса браузера следующее:

http://localhost/phpmyadmin/

Откроется вот такое окно с предложением ввести имя пользователя и пароль.

Рис. 15 — Проверка работы phpmyadmin

В этом окне, чтобы попасть в phpmyadmin вы можете теперь ввести два различных варианта имен пользователя и паролей. Первый вариант — пользователь root и пароль, который вы вводили во время установки LAMP (см. рис. 3 выше). Или же второй вариант — пользователь phpmyadmin и пароль, который вы вводили во время настройки пакета phpmyadmin (см. рис. 11 выше).

НУ ВОТ И ВСЕ!

PS. А ведь и правда, вы читали и разглядывали картинки дольше, чем в итоге длилась сама установка?  🙂

Ну а в принципе, самым ленивым возможно пригодится уже готовый скрипт, который сам «по порядочку» выполняет все указанные действия. Скачать его можно с моего FTP по вот этой ссылке

Ubuntu — запускаем 3G модем в консоли

Цель данной записи — показать, как в консоли найти, настроить и запустить USB модем для сетей 3G.

В качестве подопытных кроликов выступали модем ZTE MF-170 и дистрибутив Ubuntu 9.04:

dmitry@hotspot-server:/etc$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

(о причинах выбора столь «несвежей» версии дистрибутива я скажу ниже…)

Что крайне полезно знать про модем — какие значения vid (Vendor ID — код изготовителя) и pid (Product ID — код устройства) он принимает, когда работает в качестве модема (посмотреть их можно как на «соседнем» компьютере с Windows, так и просто нагуглить за пару минут). Для использованного мной модема значения были такие vid равен 19d2 и pid равен 0031.

И совсем небольшое отступление по оформлению заметки. В ней приведена консоль «как она есть» — полный вывод, со всевозможными промежуточными сообщениями и пр. Что сделано для удобства восприятия — команды, которые я вводил вручную выделены синим цветом, сообщения, которые для нас «хорошие» (положительный результат) выделены зеленым цветом, а «плохие» для нас сообщения выделены красным.

Итак, поехали…

Часть первая — ищем сам модем!

Много современных USB-модемов для 3G сетей являются «составным USB-устройством». То есть, в таком многофункциональном «USB-свистке» присутствует как сам модем, так и виртуальный компакт-диск с драйверами и ПО, плюс, у ряда моделей — картридер, а также служебный интерфейс, который нас в данном случае не интересует вовсе. При подключении такого модема к компьютеру с Linux-ом, система изначально видит устройство, но увы, совсем не то, которое нас интересует, а именно — тот самый виртуальный CDROM. То есть, подключаем модем к компьютеру и вводим команду:

dmitry@hotspot-server:~$ lsusb
Bus 001 Device 002: ID 19d2:2000
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

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

Програмное решение для этой цели уже давно существует. Оно называется usb-modeswitch, и на сегодняшний день включено в большинство современных дистрибутивов Linux. И вот теперь, я вернусь к тому, почему был выбран такой старый дистрибутив — в дистрибутиве Ubuntu 9.04 пакет usb-modeswitch отсутствует (причем не только в числе пакетов, устанавливаемых по умолчанию, но и в репозитории). Не верите? Смотрие:

dmitry@hotspot-server:/usr/src/usb$ sudo apt-get install usb-modeswitch
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет usb-modeswitch

Очень жаль, ибо без него нам никак!

ВНИМАНИЕ: Еще раз повторюсь — речь идет именно про дистрибутив Ubuntu 9.04 (и возможно, более старые версии, но я не проверял)! Если же у вас дистрибутив Ubuntu 9.10 и новее, то описанные ниже действия по ручному скачиванию пакетов и ручной же их установке вам не нужны. Достаточно установить пакет usb-modeswitch (если он не был установлен ранее) командой, приведенной выше!

Чтож, пойдем «в обход». Поищем пакет на сервере Ubuntu — http://packages.ubuntu.com/search?keywords=usb-modeswitch. Результаты поиска показывают, что он там присутствует для версий, начиная с 9.10. Я решил взять тот, что предназначался для релиза maverick (просто версию мне захотелось посвежей — 1.1.4).

Ну, решил, так решил. Приступаем. Для начала создаем временный каталог, в который скачаем deb-пакеты для установки. Потом назначаем себя владельцем данного каталоги, и наконец переходим в него. Все это выполняют три приведенные ниже команды (с учетом того, что я в системе — пользователь dmitry):

dmitry@hotspot-server:~$ sudo mkdir /usr/src/usb
dmitry@hotspot-server:~$ sudo chown dmitry:dmitry /usr/src/usb
dmitry@hotspot-server:~$ cd /usr/src/usb

«Сакральный» смысл этого процесса заключается в том, что нам нужно скачать и установить ДВА пакета — сам usb-modeswitch (это именно программа) и usb-modeswitch-data (в этом пакете находится «база устройств» которые знает и умеет переключать программа). Проще всего установить их одновременно, одной командой, когда они расположены в одной отдельной (можно временной) папке…

После того, как каталог создан, права назначены и мы в него перешли, начинаем качать требующиеся пакеты. Первым — usb-modeswitch (хотя, ничто не мешает поменять порядко на обратный):

dmitry@hotspot-server:/usr/src/usb$ wget http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch/usb-modeswitch_1.1.4-1_i386.deb
--2011-01-12 14:18:54--  http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch/usb-modeswitch_1.1.4-1_i386.deb
Преобразование адреса ie.archive.ubuntu.com... 193.1.193.69
Устанавливается соединение с ie.archive.ubuntu.com|193.1.193.69|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 45668 (45K) [application/x-debian-package]
Сохраняется в каталог: `usb-modeswitch_1.1.4-1_i386.deb'.

100%[==============================================================================================================================>] 45.668      63,1K/s   в 0,7s

2011-01-12 14:18:55 (63,1 KB/s) - `usb-modeswitch_1.1.4-1_i386.deb' сохранён [45668/45668]

И сразу же вдогонку — второй пакет:

dmitry@hotspot-server:/usr/src/usb$ wget http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20100826-1_all.deb
--2011-01-12 14:19:58--  http://ie.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20100826-1_all.deb
Преобразование адреса ie.archive.ubuntu.com... 193.1.193.69
Устанавливается соединение с ie.archive.ubuntu.com|193.1.193.69|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 17214 (17K) [application/x-debian-package]
Сохраняется в каталог: `usb-modeswitch-data_20100826-1_all.deb'.

100%[==============================================================================================================================>] 17.214      20,7K/s   в 0,8s

2011-01-12 14:20:00 (20,7 KB/s) - `usb-modeswitch-data_20100826-1_all.deb' сохранён [17214/17214]

Итак, оба пакета — и с программой, и с ее «базой» скачали. Теперь нужно установить из репозитория еще несколько пакетов, которые являются зависимостями для установки требуемой программы. Для этого вводим команду:

dmitry@hotspot-server:/usr/src/usb$ sudo apt-get install tcl8.3 tcl8.4 tcl8.5
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Предлагаемые пакеты:
  tclreadline
НОВЫЕ пакеты, которые будут установлены:
  tcl8.3 tcl8.4 tcl8.5
обновлено 0, установлено 3 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 3618kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 10,6MB.
Получено:1 http://archive.ubuntu.com jaunty/main tcl8.5 8.5.6-3 [1544kB]
Получено:2 http://archive.ubuntu.com jaunty/main tcl8.4 8.4.19-2 [1178kB]
Получено:3 http://archive.ubuntu.com jaunty/main tcl8.3 8.3.5-13 [896kB]
Получено 3618kБ за 35с (103kБ/c)
Выбор ранее не выбранного пакета tcl8.5.
(Чтение базы данных... на данный момент установлено 26376 файлов и каталогов.)
Распаковывается пакет tcl8.5 (из файла .../tcl8.5_8.5.6-3_i386.deb)...
Выбор ранее не выбранного пакета tcl8.4.
Распаковывается пакет tcl8.4 (из файла .../tcl8.4_8.4.19-2_i386.deb)...
Выбор ранее не выбранного пакета tcl8.3.
Распаковывается пакет tcl8.3 (из файла .../tcl8.3_8.3.5-13_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет tcl8.5 (8.5.6-3) ...

Настраивается пакет tcl8.4 (8.4.19-2) ...

Настраивается пакет tcl8.3 (8.3.5-13) ...
Обрабатываются триггеры для libc6 ...

После того, как скачали, на всякий случай проверяем, что в той папке, в которой мы находимся в текущий момент, присутствуют два deb-пакета, которые мы собрались устанавливать:

dmitry@hotspot-server:/usr/src/usb$ ls
usb-modeswitch_1.1.4-1_i386.deb  usb-modeswitch-data_20100826-1_all.deb

Присутствуют! Теперь, продолжая находиться в папке, где лежат наши два «кандидата на установку», вводим команду, суть которой можно сформулировать так — «установить все пакеты из текущей папки» (именно для этого и создавалась отдельная папка):

dmitry@hotspot-server:/usr/src/usb$ sudo dpkg -i *
Выбор ранее не выбранного пакета usb-modeswitch.
(Чтение базы данных... на данный момент установлено 26845 файлов и каталогов.)
Распаковывается пакет usb-modeswitch (из файла usb-modeswitch_1.1.4-1_i386.deb)...
Выбор ранее не выбранного пакета usb-modeswitch-data.
Распаковывается пакет usb-modeswitch-data (из файла usb-modeswitch-data_20100826-1_all.deb)...
Настраивается пакет usb-modeswitch-data (20100826-1) ...
Настраивается пакет usb-modeswitch (1.1.4-1) ...
Обрабатываются триггеры для man-db ...

Всё, теперь пакеты usb-modeswitch и usb-modeswitch-data установлены! Можем их использовать.

Пару слов о программе usb-modeswitch, и том, что она выполняет. Работу программы определяет ее файл конфигурации. Точнее сказать, у программы usb-modeswitch есть «глобальный» файл конфигурации /etc/usb_modeswitch.conf (который НЕ НУЖНО ТРОГАТЬ) и файл конфигурации под конкретное устройство. Файл конфигурации УСТРОЙСТВА обычно содержит всего несколько параметров — «стартовый» идентификатор (vid:pid) устройства, «целевой» идентификатор, и сообщение или сообщения, посылаемые устройству, чтобы оно переключалось из одного состояния в другое. То есть, вернемся к тому, с чего начали. Мы подключили модем к компьютеру. Система увидела его как CDROM с идентификатором 19d2:2000. Это и есть «стартовый» идентификатор. Нам же нужно, чтобы устройство переключилось в модем с идентификатором 19d2:0031 («целевой» идентификатор). Для этого программа usb-modeswitch сначала находит (убеждается, что в системе есть) устройство со «стартовым» идентификатором, а затем посылает нашему «USB-свистку» сообщения (Message), приведенные в файле конфигурации, до тех пор, пока тот не ответит «целевым» идентификатором.

Тепрерь пару слов о том, как выбрать этот самый файл конфигурации устройства. Точнее — из чего выбрать. Фактически, некоторое количество файлов (база известных программе устройств) лежит в папке /etc/usb_modeswitch.d. Для простоты выбора файлы поименованы… «стартовыми идентификаторами». То есть, применительно к моему случаю — «стартовый идентификатор» использованного мной модема — 19d2:2000, и именно с таким именем файл мне и нужно найти в указанной папке. Проверка показала — есть такой файл.

Чтож, запускаем программу и указываем ей в командной строке какой файл конфигурации устройства использовать:

dmitry@hotspot-server:/usr/src/usb$ sudo usb_modeswitch -c /etc/usb_modeswitch.d/19d2:2000
Warning: TargetProductList overrides TargetProduct!

Looking for target devices ...
 No devices in target mode or class found
Looking for default devices ...
 Found devices in default mode or class (1)
Accessing device 002 on bus 001 ...
Using endpoints 0x01 (out) and 0x81 (in)
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
 No driver found. Either detached before or never attached

SCSI inquiry data (for identification)
-------------------------
  Vendor String: ZTE
   Model String: USB SCSI CD-ROM
Revision String: 2.31
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: ZTE,Incorporated
     Product: ZTE WCDMA Technologies MSM
  Serial No.: P679M1KVSD010000
-------------------------
Setting up communication with interface 0 ...
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
Reading the response to the message (CSW) ...
 OK, response successfully read (13 bytes).
Trying to send message 2 to endpoint 0x01 ...
 OK, message successfully sent
Reading the response to message 2 ...
 OK, response successfully read (13 bytes).
Trying to send message 3 to endpoint 0x01 ...
 OK, message successfully sent
Reading the response to message 3 ...
 OK, response successfully read (0 bytes).
Resetting response endpoint 0x81
Resetting message endpoint 0x01

Checking for mode switch (max. 20 times, once per second) ...
 Waiting for original device to vanish ...
 Waiting for original device to vanish ...
 Waiting for original device to vanish ...
 Original device can't be accessed anymore. Good.
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Searching for target devices ...
 Found correct target device

Mode switch succeeded. Bye.

Как видим, переключение прошло успешно. Посмотрим теперь, какие USB-устройства есть в системе:

dmitry@hotspot-server:/usr/src/usb$ lsusb
Bus 001 Device 003: ID 19d2:0031
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Как видим, устройство с требовавшимся нам идентификатором (19d2:0031) в системе появилось! А теперь посмотрим — есть ли в системе USB-модемы:

dmitry@hotspot-server:/usr/src/usb$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

Отлично! В системе наблюдается USB-модем(ы). Пора его (их) использовать по назначению.

Часть вторая — подключаемся

Собственно, программ, которые позволяют заставить модем набрать номер и подключиться к провайдеру — предостаточно. Тот же Network Manager, например. Кстати, те, у кого до этого в Network Managere-е модем не находился, уже могут попробовать поискать его снова 😉 . Ну а мы, в данном случае, решили воевать в консоли. Потому, в консоли и продолжим…

Программу я для этого решил использовать следующую — wvdial. По умолчанию она не установлена, поэтому, устанавливаем:

dmitry@hotspot-server:/usr/src/usb$ sudo apt-get install wvdial
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  libuniconf4.4 libwvstreams4.4-base libwvstreams4.4-extras libxplc0.3.13
НОВЫЕ пакеты, которые будут установлены:
  libuniconf4.4 libwvstreams4.4-base libwvstreams4.4-extras libxplc0.3.13 wvdial
обновлено 0, установлено 5 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 1099kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 2814kB.
Хотите продолжить [Д/н]? y
Получено:1 http://archive.ubuntu.com jaunty/main libxplc0.3.13 0.3.13-1build1 [39,0kB]
Получено:2 http://archive.ubuntu.com jaunty/main libwvstreams4.4-base 4.4.1-0.2ubuntu2 [412kB]
Получено:3 http://archive.ubuntu.com jaunty/main libwvstreams4.4-extras 4.4.1-0.2ubuntu2 [406kB]
Получено:4 http://archive.ubuntu.com jaunty/main libuniconf4.4 4.4.1-0.2ubuntu2 [137kB]
Получено:5 http://archive.ubuntu.com jaunty/main wvdial 1.60.1+nmu2 [106kB]
Получено 1099kБ за 19с (55,4kБ/c)
Предварительная настройка пакетов ...
Выбор ранее не выбранного пакета libxplc0.3.13.
(Чтение базы данных... на данный момент установлено 26865 файлов и каталогов.)
Распаковывается пакет libxplc0.3.13 (из файла .../libxplc0.3.13_0.3.13-1build1_i386.deb)...
Выбор ранее не выбранного пакета libwvstreams4.4-base.
Распаковывается пакет libwvstreams4.4-base (из файла .../libwvstreams4.4-base_4.4.1-0.2ubuntu2_i386.deb)...
Выбор ранее не выбранного пакета libwvstreams4.4-extras.
Распаковывается пакет libwvstreams4.4-extras (из файла .../libwvstreams4.4-extras_4.4.1-0.2ubuntu2_i386.deb)...
Выбор ранее не выбранного пакета libuniconf4.4.
Распаковывается пакет libuniconf4.4 (из файла .../libuniconf4.4_4.4.1-0.2ubuntu2_i386.deb)...
Выбор ранее не выбранного пакета wvdial.
Распаковывается пакет wvdial (из файла .../wvdial_1.60.1+nmu2_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libxplc0.3.13 (0.3.13-1build1) ...

Настраивается пакет libwvstreams4.4-base (4.4.1-0.2ubuntu2) ...

Настраивается пакет libwvstreams4.4-extras (4.4.1-0.2ubuntu2) ...

Настраивается пакет libuniconf4.4 (4.4.1-0.2ubuntu2) ...

Настраивается пакет wvdial (1.60.1+nmu2) ...

Success!  You can run "wvdial" to connect to the internet.
  (You can also change your configuration by editing /etc/wvdial.conf)

Обрабатываются триггеры для libc6 ...
ldconfig deferred processing now taking place

Установили! Теперь ее нужно сконфигурировать. Первым делом, нужно предоставить программе возможность попытаться автоматически выполнить предварительную настройку. Для этого вводим команду:

dmitry@hotspot-server:/usr/src/usb$ sudo wvdialconf
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S2   S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
WvModem<*1>: Cannot get information for serial port.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: ZTE CORPORATION
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyUSB2<*1>: ATQ0 V1 E1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer: ZTE CORPORATION
ttyUSB2<*1>: Speed 9600: AT -- OK
ttyUSB2<*1>: Max speed is 9600; that should be safe.
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found a modem on /dev/ttyUSB1.
Modem configuration written to /etc/wvdial.conf.
ttyUSB1: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

Итого — НАШЛА! Посмотрим, какие настройки программа вписала в файл конфигурации:

dmitry@hotspot-server:/usr/src/usb$ sudo nano /etc/wvdial.conf

Вот что было в моем файле по умолчанию (после выполнения предварительной самонастройки):

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
; Phone =
ISDN = 0
; Password =
New PPPD = yes
; Username =
Modem = /dev/ttyUSB1
Baud = 9600

Как видите, самый минимум. Плюс ко всему, еще и ключевые параметры подключения — номер дозвона (Phone), имя пользователя (Username) и пароль (Password) — закомментированы (в начале строки стоит точка с запятой — «;» ).

В итоге я отредактировал свой файл конфигурации, и он стал выглядеть следующим образом:

[Dialer Defaults]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
 Phone = *99#
ISDN = 0
 Username = 1
Init1 = ATZ
 Password = 1
Modem = /dev/ttyUSB2
Baud = 9600
Init3 = AT+CGDCONT=1,"IP","3g.utel.ua"
Stupid Mode = 1
Auto Reconnect = on

То есть, во первых, я указал номер дозвона, а также имя пользователя и пароль (для моего случая подключения к Utel — в принципе, логины/пароли безразличны, но как говорится, «чтобы не было проблем»). Кроме того, я указал третью строку инициализации — Init3 = AT+CGDCONT=1,»IP»,»3g.utel.ua». Она указывает модему, какую точку доступа использовать. Как должна выглядеть эта строка в вашем случае — ищите на сайте вашего провайдера (оператора мобильной связи). Также я включил автоматическое переподключение — Auto Reconnect, и режим «тупого» модема — Stupid Mode.  После этого сохранил изменения и вышел из редактора.

И вот, торжественный момент — подключаемся:

dmitry@hotspot-server:/usr/src/usb$ sudo wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","3g.utel.ua"
AT+CGDCONT=1,"IP","3g.utel.ua"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT 3600000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Wed Jan 12 14:57:51 2011
--> Pid of pppd: 4131
--> Using interface ppp0
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> pppd: ▒'2 `%2 ▒'2
--> local  IP address 178.92.69.72
--> pppd: ▒'2 `%2 ▒'2
--> remote IP address 10.64.64.64
--> pppd: ▒'2 `%2 ▒'2
--> primary   DNS address 213.179.249.151
--> pppd: ▒'2 `%2 ▒'2
--> secondary DNS address 213.179.249.152
--> pppd: ▒'2 `%2 ▒'2

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

dmitry@hotspot-server:~$ sudo cat /etc/resolv.conf
nameserver 213.179.249.151
nameserver 213.179.249.152

Итог — вы в интернете.

Ну и напоследок — как его выключать. Вводите команду:

dmitry@hotspot-server:/usr/src/usb$ sudo pkill wvdial
Caught signal 15:  Attempting to exit gracefully...
dmitry@hotspot-server:/usr/src/usb$ --> Terminating on signal 15
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> Connect time 0.8 minutes.
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> pppd: ▒7▒[08]`5▒[08]▒7▒[08]
--> Disconnecting at Wed Jan 12 15:04:14 2011

… и дожидаетесь, когда соединение будет разорвано.

Успехов!

Настройка Dlink DSL-2500U в режиме роутера

Не думал, что придется написать это, но, «никогда не говори никогда»…

Итак, у вас в доме завелось более одного компьютера, и всем им хочется в интернет.  И вот появляется на очередном «любимом форуме» очередной вопрос примерно такого содержания  — «Как подключить теперь к интернту все мои компьютеры». В общем случае, ответ звучит примерно так: «Включить модем роутером, подключить в него хаб (свич) и в него же (хаб или свич) — все компьютеры».  Но, обычно на этом дело не заканчивается (начинаются вопросы — «что такое роутер?», «как его включить?» и т.д. и т.п.). По этому, сейчас мы будем настраивать модем Dlink DSL-2500U именно в режиме роутера.

1. Вводные данные.

При настройке модема вам понадобятся следующие данные:

  1. VPI и VCI (идентификаторы) сети провайдера.
  2. Логин (имя пользователя), с которым вы подключаетесь к серверу провайдера
  3. Пароль, с которым вы подключаетесь к серверу провайдера

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

В приведенной ниже инструкции для примера будут использованы значения VPI — 1, VCI — 32, имя пользователя — login_to_internet, пароль — password. При реальной настройке модема подставьте вместо них свои значения.

2. Подготовка модема.

Если вы только что приобрели модем, то настройки в нем и так заводские. Если же он уже эксплуатировался, например в режиме моста, а теперь вы решили изменить его режим на роутер, то лучше выполнить сброс настроек модема к заводским значениям.  Что нужно для этого?

Рис. 1 - Расположение кнопки аппаратного сброса (RESET) на модеме DSL-2500U
  1. Найти кнопку сброса RESET (располагается  на задней стенке модема, как показано на рис. 1 выше)
  2. Найти тонкий предмет, например, спичку.
  3. Включить питание роутера.
  4. В то время, когда роутер включен (горят индикаторы на лицевой панели), тонким предметом (спичкой) нажать и удерживать кнопку RESET. Кнопку нужно удерживать до тех пор, пока индикаторы на лицевой панели модема не погаснут, а потом загорятся снова. Это время составляет примерно 10 — 20 секунд. После этого кнопку можно отпустить. Сброс выполнен.

После того, как модем сброшен к заводским значениям, пришло время подключить его к компьютеру. Для этого используется Ethernet-кабель, один из двух, прилагающихся к модему в комплекте. Второй комплектный кабель служит для подключения к телефонной линии. Определить, который из них Ethernet, просто — его разъемы шире, в них по 8 контактов, и любой разъем этого кабеля плотно заходит и защелкивается в гнезде ETHERNET (оно еще м.б. подписано как LAN), располагающемся на задней стенке модема. Второй конец этого кабеля нужно подключить в сетевую плату вашего компьютера. На время настройки модем лучше подключить в компьютер напрямую, а не через хаб или свич, чтобы исключить возможные проблемы, в случае неполадок данного оборудования. Питание модема нужно включить, индикаторы на его лицевой панели должны гореть (как минимум, должна гореть лампочка Power, а при подключении кабеля в сетевую плату компьютера и лампочка LAN).

3. Подготовка компьютера.

Приведенная далее инструкция предназначена для настройки компьютера, работающего под управлением ОС Windows XP.

Первым делом учтите, что отныне управлять вашей сетью будет именно Dlink DSL-2500U. Применительно к компьютерам это значает лишь одно — все параметры настройки протокола TCP-IP отныне они будут получать от модема. И для этого их нужно соответствующим образом настроить.  Настройка заключается в том, чтобы указать компьютеру, что отныне свой собстенный адрес, а также адрес сервера DNS он будет получать автоматически (по протоколу DHCP). Как это сделать, показано на рисунке ниже.

Рис. 2 - Настройка протокола TCP-IP на компьютере

Первым делом открываете папку «Сетевые подключения» (см. рис. 2 выше).

  1. Находите в ней подключение, соответствующее вашей сетевой плате, к которой вы подключили модем. Обычно по умолчанию оно называется «Подключение по локальной сети». На его значке нужно щелкнуть правой кнопкой мыши, и в появившемся контекстном меню выбрать пункт «Свойства».
  2. Откроется окно свойств. В этом окне, в списке нужно выбрать пункт «Протокол Интернета (TCP/IP)», подсветить его (один раз щелкнув мышью), и затем нажать кнопку «Свойства».
  3. В открывшемся окне свойств протокола TCP-IP необходимо установить «птички» напротив пунктов «Получить IP-адрес автоматически» и «Получить адрес DNS-сервера автоматически» (кстати, обращаю ваше внимание, что на приведенном рис. 1 «птичка» про DNS-сервер установлена не правильно!!!)

Когда «птички» будут установлены в нужные позиции, нажмите кнопку «ОК» внизу справа. После того, как вы нажмете «ОК»,  комьютер слегка «призадумается», также, возможно моргнет индикатором подключения сетевой платы внизу справа у часов (выведя сообщение «Получение адреса….»).

После этого есть смысл лишний раз проверить, что все у нас, как говорится, «идет по плану».

Рис. 3 - Просмотр сведений о подключении

Для этого:

  1. Всё в той же папке Сетевых подключений на подключении, обозначающем сетевую плату, которой компьютер подключен к модему, нужно просто дважды щелкнуть мышью (см. рис. 3 выше). Откроется окно Состояния подключения.
  2. В открывшемся окне вы увидите текущий IP-адрес компьютера и IP-адрес шлюза, к которому он подключен. Запомните адрес шлюза. Хотя, у модема сброшенного в заводские параметры, адрес обычно один и тот же — 192.168.1.1.
  3. Также, щелкните мышью кнопку «Подробности..»
  4. Откроется окно «Деталей подключения», в котором среди прочего вы можете увидеть IP-адреса DNS-серверов, используемых вашим компьютером в текущем подключении.

Все. Мы увидели то, что нам было нужно — адрес шлюза. Запомним его.

Возможно, что после смены настроек возникнут проблемы с подключением, или появится сообщение, что «Подключение ограничено…» и т.п. Тогда имеет смысл «обновить подключение». Для этого выполните следующее:

  1. Щелкните мышью кнопку «Пуск».
  2. В списке щелкните пункт «Выполнить». Откроется окно «Запуск программы».
  3. В поле «Открыть» введите cmd, после чего щелкните мышью кнопку «ОК».
  4. Откроется консоль.
  5. В консоли введите последовательно две команды — сначала ipconfig/release, а затем ipconfig/renew. После выполнения первой команды подключение будет остановлено, а после второй — создано по новой. При этом модему будет отправлен запрос обновить все данные соединения по протоколу DHCP (см. рис. 4 ниже).
Рис. 4 - "Переподключение" к модему

ПРИМЕЧАНИЕ (для пользователей с компьютерами, на которых установлена ОС, отличающаяся от Windows XP). Подготовка компьютера выполняется с одной единственной целью — указать компьютеру, что для сетевой платы, к которой подключен модем, должен использоваться протокол DHCP, благодаря чему компьютер будет автоматически получать от модема и собственный IP-адрес, и адрес сервера DNS. В документации к вашей ОС найдите соответствующие инструкции («Как включить DHCP-клиент»), и выполните их на вашем компьютере. После этого найдите в компьютере информацию о текущих параметрах подключения и прочтите IP-адрес шлюза, к которому подключен компьютер.

4. Подготовка Internet Explorer-а.

Точнее сказать, благодаря непосильным стараниям корпорации Microsoft, направленным на дальнейшую и плотнейшую интеграцию IE в ОС-ь, настройки браузера стали настройками подключения к интернету ВСЕЙ операционной системы Windows. Другие программы, если ИНОЕ в них не указано принудительно (а такое возможно далеко не во всякой программе), при доступе к интернету пользуются теми самыми параметрами, которые указаны для браузера Internet Explorer. Именно поэтому, мы говорим «настраиваем подключение IE», а подразумеваем -«настраиваем подключение компьютера».

Итак, перейдем непосредственно к настройке. Откроем панель управления, и в ней щелкнем пункт «Сеть и подключения к интернету»

Рис. 5 - Панель управления

Панель с заданиями и ярлыками сменится на ту, что показана на рис. 6 ниже:

Рис. 6 - Открытие окна свойств "обозревателя" Internet Explorer

В этом окне есть ярлыки для выполнения самых различных действий по управлению свойствами сетевых подключений вашего компьютера. Нас же в данном случае интересуют свойства «обозревателя» (в свете маркетинговой политики компании, наверное, это слово стоило бы написать как «оборзевателя», ну да ладно 😉 ). По этому, щелкнем мышью именно по указанному ярлыку, и тогда появится окно свойств Internet Explorer-а, показанное на рис. 6 справа.

ПРИМЕЧАНИЕ: Если же у вас в Панели управления используется «классический» режим отображения, то интересующий вас пункт так и называется — «Свойства обозревателя«, а комментарий к нему — «Изменение параметров отображения и подключения к Интернету» (ну не умрут они от скромности, 😉 )…

Рис. 7 - Редактирование "Подключений" в свойствах обозревателя IE

В открывшемся окне выполним следующее:

  1. Вверху выберете закладку «Подключения» и щелкаете по ней. Появится окно, показанное на рис. 7 справа. В этом окне отображаются ярлыки имеющихся в вашей системе способов подключения к сети (Интернету). Если вы в первый раз подключаетесь к интернету, то этот список будет девственно чист.  На рис. 7 для примера показано подключение, названное «По модему», которое до текущего момента якобы использовалось в системе по умолчанию. Как вариант, если вы раньше уже использовали подключение по модему, но работавшему в  режиме моста, то оно (подключение) также будет отображаться в этом списке. Чтож, пришло время избавиться от него!
  2. Просто поставьте «птичку» в поле «Никогда не использовать коммутируемые соединения». Таким образом вы указываете своему компьютеру, что отныне «интернет он должен искать в сетевой плате».
  3. По большому счету, старые коммутируемые соединения можно удалить вовсе. То есть, щелкните мышью по ярлыку подключения, чтобы выделить его, а затем нажмите кнопку «Удалить» (если у вас подключений несколько, то это придется проделать с каждым из них). Но если вы «опасаетесь», «перестраховываетесь» и т.п. , то их на данном этапе можно и оставить (потом убьете), главное — перепроверьте еще раз, что выполнили пункт 2 — поставили «птицу» напротив «Никогда не использовать коммутируемые соединения»!
  4. И напоследок осталось убедиться что в настройках вашего браузера не используется прокси. Для этого щелкните кнопку «Настройка сети». Откроется окно настройки параметров локальной сети, показанное на рис. 8 ниже.
Рис. 8 - Настройка параметров локальной сети

В этом окне нас интересует всего один факт — в поле «Использовать прокси-сервер….» НЕ ДОЛЖНО стоять «птички». Если она там есть, убирайте. Все, нажимайте «ОК» (во всех окнах), на этом настройка «обозревателя» завершена.

Ну вот, не прошло и пол года, как наконец-то ваш компьютер готов к работе с модемом в режиме роутера. Время пришло, и нас ждет наконец-то…

5. Настройка модема.

Лично я предпочитаю настраивать модем через браузер. А особенно, после того, как неоднократно сталкивался с жалобами тех, кто пытался сделать это с помощью прилагающегося к модему компакт-диска. Скажу сразу — вина в этом диска, или вина в этом тех, кто настраивал, мне неведомо. Но я … по прежнему предпочитаю настраивать модем через браузер 😉 …

Итак, запустите на компьютере браузер. Любой, который вам нравится. В этот момент также весьма полезно выполнить еще одно действие — почистить кеш браузера. Как это сделать — посмотрите в документации к используемому вами браузеру. Где найти документацию — нажмите F1…

В адресной строке браузера нужно ввести адрес шлюза. Тот самый адрес, что мы определяли в пункте 3 данной инструкции. По большому счету, если вы, как и было рекомендовано ранее, выполнили сброс модема к заводским настройкам, то адрес модема будет такой — http://192.168.1.1. Именно его и введите в адресной строке браузера. В результате вы попадете в веб-интерфейс настройки модема. Вход в настройки защищен паролем. Вас попросят ввести имя пользователя и пароль:

Рис. 9 - Авторизация для входа в настройки модема

Если вы, как и было рекомендовано ранее, сбросили модем к заводским настройкам (или же вы настраиваете только что купленный модем), то имя пользователя и пароль будут одинаковыми — admin | admin. Введите их в поля запроса. Учтите, что в модеме используется Linux, который чувствителен к регистру вводимых букв. После того, как имя и пароль будут приняты модемом вы попадете в следующее меню:

Рис. 10 - Первый пункт Мастера настройки модема.

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

На этой самой первой странице по умолчанию установлена «птичка» в поле «DSL Auto-connect». Честно говоря, к чему и с какими параметрами предполагается это «автоматическое подключение», лично  не знаю. По этому, чтобы настроить модем со своими параметрами, ЭТУ «ПТИЧКУ» НЕОБХОДИМО УБРАТЬ! Как только вы уберете «птичку» , откроются новые поля для ввода данных:

Рис. 11 - Ввод значений VPI, VCI и QoS

Первым делом, и это обязательно, необходимо ввести значения VPI и VCI. Учтите, что при неправильно указанных значениях данных параметров ваш модем НЕ СМОЖЕТ подключиться к провайдеру. По этому, будьте внимательны. Как было сказано ранее во «Вводных…», в данном примере используются значения VPI — 1 и VCI — 32, и именно эти значения я и указал, что видно на скриншоте на рис. 11.  (Кстати, использованные в данном примере значения VPI и VCI — реальные, это параметры сети моего провайдера «Укртелеком»). В вашем случае введите значения VPI и VCI, выданные вам вашим провайдером.

Также, на странице присутствует поле, в котором необходимо проставить «птичку», если вы хотите включить QoS (Quality of Service — резервирование части пропускной способности канала для нужд некоторых сетевых приложений, например, потокового видео и т.п.). Подробнее можно прочесть по ссылке. Если вам необходимо использовать данную службу (например для просмотра IP-TV), то проставьте «птичку» в поле «Enable Quality of Service».

После этого нажмите кнопку «Next » и вы перейдете к следующей странице.

Рис. 12 - Выбор типа поключения

В этом окне вам нужно выбрать тип подключения (метод использования / режим работы) модема при связи с провайдером. Так как мы решили, что будем настраивать модем в режиме роутера, то необходимо выбрать вариант PPPoE. Именно напротив него и установите  «птичку» (см. рис. 12).

После этого нажмите кнопку «Next «, чтобы перейти к следующей странице.

Рис. 13 - Ввод имени пользователя и пароля, использующихся при подключении к провайдеру

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

  1. В поле PPP Username введите имя пользователя, выданное вам провайдером.
  2. В поле PPP Password введите пароль, выданный вам провайдером.
  3. В поле PPP Service Name введите какое-нибудь имя для данного подключения. Это имя вы придумываете сами, единственное ограничение, не используйте в этом поле кириллицу, а используйте только буквы латинского алфавита. В качестве имени подключения можете, например, использовать имя провайдера (как это сделал я в примере, показанном на рис. 13).
  4. Обязательно (!!!) убрать «птичку» в поле PPP IP extension (обращаю внимание на то, что на рис. 13 нет стрелки по этому поводу), иначе на следующей странице настроек (см. рис. 14 ниже) не будет возможности включить NAT и Firewall.
  5. Нажмите нопку «Next «, чтобы перейти к следующей странице.
Рис. 14 - Включение NAT, файервола и доступа к веб интерфейсу модема из интернета

На этой странице нужно выполнить следующее:

  1. Включить (проверить что включен) NAT. Именно эта служба (Network Address Translation) позволяет нескольким компьютерам, когда они работают в локальной подсети модема и получают от него локальные IP-адреса, использовать одно подключение к интернету. Еще раз повторюсь — для правильной работы модема в режиме роутера (маршрутизатора) служба NAT должна быть включена («птичка»должна быть установлена).
  2. Включить (проверить что включен) файервол. Он защищает ваши компьютеры, находящиеся в локальной подсети, от попыток попасть в них извне (из интернета).
  3. Если вы хотите иметь возможность подключиться к интерфейсу управлением модема извне (из интернета), проставьте птичку в поле «Enable WAN Service». Единствнное замечание в таком случае — придумайте свои собственные значения (причем «позаковыристей», чем банальные admin / admin) для пользователя, который имеет доступ к веб интерфейсу настройки модема.
  4. Нажмите кнопку «Next » и вы перейдете к следующей странице.
Рис. 15 - Настройка параметров локальной подсети (LAN)

Эта страница (рис. 15) отвечает за настройки локальной сети, создаваемой вашим модемом.

  1. В поле «IP-address» указывается адрес самого модема, под которым он будет виден в локальной сети. По умолчанию в этом поле указано значение 192.168.1.1.  Без особой нужны менять этот адрес не стоит. Но если вы все-таки решите его изменить, то учтите, что после того, как настройки будут сохранены, и модем перезагрузится (а это выполняется на последней странице Мастера быстрой настройки), то в последствии для доступа к настройкам модема в браузере вам нужно будет  вводить уже новый адрес. Значение сетевой маски (255.255.255.0), указанное в поле Subnet Mask, подразумевает свободную работу в адресном поле 254 устройств. Если в вашей домашней сети еще нет такого количества компьютеров, то оставьте как есть.
  2. В модеме присутствует сервер DHCP. Протокол DHCP предназначен для упрощения процедуры подключения новых устройств к сети. То есть, каждое устройство (компьютер), подключаясь в такую сеть, (если, конечно, в нем включен DHCP-клиент, как это было описано выше) ищет DHCP сервер, и найдя его, посылает ему запрос. В ответ на этот запрос DHCP сервер выделяет новому устройству IP-адрес (из числа свободных), сообщает его устройству (компьютеру), а также сообщает адрес используемых в сети шлюза и сервера DNS. Компьютер, получив эти данные, настраивает работу своей сетевой платы именно с учетом полученных параметров, и тут же автоматически получает доступ в интернет. Этот протокол — DHCP придуман именно для того, чтобы простить вам жизнь. Чтобы включить в вашем модеме сервер DHCP, поставьте птичку в поле «Enable DHCP Server» (если вы сбрасывали модем к заводским настройкам, то «птичка» итак будет проставлена в этом поле, и вам нужно лишь убедиться в этом). Если же вы не желаете использовать эту возможность, то тогда установите «птичку» в поле «Disable DHCP Server». В таком случае, в дальнейшем, при подключении новых устройств (компьютеров) к вашему модему вам нужно будет настраивать их параметры сетевых подключений вручную.
  3. В полях «Start IP Address» и  «End IP Address» указаны соответственно первый и последний адреса диапазона, из которого встроенный сервер DHCP модема будет «выдавать» их (IP-адреса) вашим устройствам (компьютерам). Обращаю ваше внимание на три следующих адреса: адрес ххх.ххх.ххх.0 — это адрес сети, адрес ххх.ххх.ххх.1 — адрес модема, и адрес ххх.ххх.ххх.255 — т.н. «щироковещательный», используемый для нужд сети. Они не включены в этот диапазон, и не могу быть «выданы» вашим компьютерам. Все остальные — доступны, а это, ни много ни мало — 253 адреса. Думаю, вашей домашней сети такого количества будет достаточно. Но никто не запрещает вам установить собственные значения, естественно, если вы понимаете, что делаете. Если вы захотите указать свои собственные значения, то для вычисления стартовых, стоповых адресов диапазона, адреса сети, а также сетевых масок можете воспользоваться каким-нибудь IP-калькулятором, нагуглить коих можно превеликое множество.
  4. После этого нажмите кнопку «Next » и вы перейдете к следующей странице.
Рис. 16 - Сводка параметров модема

Данная страница — это сводка с теми параметрами, которые вы указали. Она позволяет проверить, все ли так, как вы хотели. Если вы заметили ошибку, нажмите кнопку Back, чтобы попасть на требуемую страницу из числа предыдущих, и исправьте ее. Если все правильно, нажимайте кнопку «Save/Reboot«. Модем сохранит в своей памяти все те настройки, что вы вводили на предыдущих страницах и перезагрузится.

После перезагрузки модем будет пытаться установить соединение с провайдером (подключиться к интернету). В это время он уже должен быть подключен и к телефонной линии тоже. То есть, вы подключаете кабель от телефонной линии к сплиттеру, а комплектный телефонный кабель модема — из гнезд MODEM сплиттера, в гнездо LINE модема. По этому поводу в инструкции к модему присутствует красивая картинка…

Если вы не меняли IP-адрес самого модема (пункт 1 на рис. 15), то после того, как модем перезагрузится, страница в окне вашего браузера обновится автоматически. Вам будет выведена вот такая страница с информацией о подключении:

Рис. 17 - Информация о текущем состоянии модема

ПРИМЕЧАНИЕ: В верхней таблице присутствуют данные о текущей версии прошивки модема. Эта информация, на мой взгляд, не представляют интереса до тех пор, пока модем нормально работает. Разве что, если вы энтузиаст и фанатик обновления прошивок. Если же модем отказывается работать так как надо, то я бы посоветовал первым делом сбросить его и по новой выполнить всю описанную выше процедуру настройки. Если же это не помогает, то тогда есть шанс исправить ситуацию, перепрошив модем (возможно какая-то ошибка встроенного ПО мешает работе в вашем случае).  Чтобы перепрошить модем Dlink DSL-2500U, воспользуйтесь информацией, приведенной на этой странице.

Нас же интересует вторая таблица. В ней приведены данные о текущем подключении модема к провайдеру:

  • Первые два пункта показывают какие максимально возможные скорости обмена данными дает ваша линия (не стоит путать со значениями максимальной скорости, предоставляемой провайдером). Эти данные показывают тот (измеренный модемом) максимум, который теоретически может быть достигнут, и он зависит лишь от одного — от качества вашей телефонной линии (см. Примечание ниже).
  • Следующая строка — локальный адрес модема (в вашей домашней сети).
  • Default Gateway — это адрес шлюза провайдера, к которому подключен ваш модем.
  • И последние две строчки — это адреса серверов DNS, предоставленные вашему модему вашим провайдером.

ПРИМЕЧАНИЕ: Кроме того, техническую информацию о текущем подключении (состоянии линии) можно посмотреть, если в модеме открыть страницу, расположенную по адресу «Device Info» — «Statistics» — «ADSL» (выбирать закладки в меню слева). Вид открывающейся при этом страницы показан на рис. 18 ниже, а разъяснения по некоторым параметрам можно прочесть, например, тут. Эта информация может пригодиться, если вдруг у вас возникнут прения с провайдером по поводу качества предоставляемых услуг.

Рис. 18 - Сводные данные о текущем состоянии ADSL подключения

6. Port Forwarding.

Ну и напоследок еще один вопрос, который периодически возникает у тех, кто хочет предоставить доступ извне (из интернета) к своеу компьютеру, который подключен к модему настроенному роутером. В этом случае, тот кто пытается подключиться на ваш внешний IP-адрес, попадает в модем. Модем, благодаря включенному с нем файерволу, никого никуда не пускает. Да и куда пускать-то? Компьютеров у вас несколько, и к которому из них «стучались», модему неведомо. По этому, вам нужно будет выполнить определенные настройки, которые «в миру» чаще всего называют как «Port Forwarding», а в модеме Dlink DSL-2500U назвали иначе — «Virtual Servers». Кроме того, настройки нужно будет выполнить и в компьютере, к которому планируется подключение. В компьютере нужно сделать два дела:

  1. Присвоить ему статический IP-адрес из того диапазона, который использует DHCP сервер модема (см. пункт 3 на рис. 15 выше).
  2. Открыт в его файерволе те порты, к которым планируется подключение.

Ну а теперь настроим модем. Откройте страницу настойки «виртуальных серверов». Для этого в меню слева сначала щелкните «Advanced Setup», затем «NAT» и там уже пункт «Virtual Servers». Откроется окно, показанное на рис. 19 ниже:

Рис. 19 - Страница со списком настроенных "виртуальных серверов"

На этой странице отображается список уже настроенных в модеме «виртуальных серверов». Так как вы еще ничего не настраивали, то и список пуст. Чтобы создать новый «виртуальный сервер» (а фактически — новое правило для файервола модема), нажмите кнопку «Add» (пункт 2 на рис. 19).

Откроется следующее окно:

Рис. 20 - Создание "Виртуального сервера".

ПРИМЕЧАНИЕ: По умолчанию в только что открывшемся окне «птичка» стоит напротив пункта «Select a Service». Рядом с этим пунктом присутствует выпадающий список с различными службами (серверами, приложениями, играми и пр.), для которых настройки уже подготовлены и их нужно просто лишь разрешить. По большому счету, просмотрите список, и может быть вы найдете в нем нужное вам. Если же нет, то тогда настройте в «ручном» режиме, как это описано ниже.

  1. Поставьте «птичку» в поле «Custom Server» и в поле рядом впишите свое собственное самостоятельно придуманное имя данному правилу (службе). В приведенном мной примере, я открываю порт для того, чтобы люди из интернета имели доступ к моему веб-серверу Apahce, который установлен на компьютере с локальным адресом 192.168.1.10). По этому, свое имя «сервиса» я так и указал — apache.
  2. В поле «Server IP Address» я вписал (Внимание!!!) ЛОКАЛЬНЫЙ адрес моего компьютера на котором установлен и и запущен веб-сервер Apache. Как было сказано выше адрес компьютера 192.168.1.10, и именно такое значение я и вписал в указанном поле.
  3. Следующим шагом я указал какие порты и по каким протоколам хочу переадресовывать на мой сервер. Для этого на странице представлена целая таблица. В ней каждая строка — это отдельное правило переадресации («портфорвардинга»). В строке самым первым указывается стартовый (начальный / первый) номер порта (External Port Start). Дело в том, что иногда требуется переадресация не одного порта, а целого диапазона (например, для протокола BitTorrent нужно пробросить порты с 6881 по 6889). В таком случае в это поле пишется начальный номер порта диапазона. Если же «пробросить» нужно только один порт, то тогда в это поле пишется номер этого порта. В следующем поле (External Port End) указывается последний номер порта, если вы настраиваете переадресацию целого диапазона портов, или же тот же самый номер порта, что и в первом поле, если вы переадресуете всего только один порт. В следующем поле (Protocol) вы указываете — пакеты какого протокола будут переадресовываться. Варианты: TCP, UDP или оба сразу. Этот параметр вы должны узнать в документации на то приложение, для которого создается ваше правило. Ну и последние два параметра в строке — это соответственно первый (Internal Port Start) и последний (Internal Port End) номера портов на вашем локальном компьютере, на которые будет осуществляться переадресация. В моем случае, для веб-сервера apache,нужно было всего-лишь обеспечить прохождение TCP-пакетов на 80-й порт. Именно поэтому, как и видно на рисунке 20, в полях первого и последнего номеров внешних портов, а также в поле стартового порта внутренней сети вписан 80-й номер порта, а в поле Protocol указан протокол TCP.
  4. После того, как правило создано, нажмите кнопку «Save/Apply«. Ваше правило будет записано в память модема и тут же запущено (начнет работать переадресация).

Мой пример с 80-м портом выбран еще и потому, что попытка настроить его переадресацию приводит к появлению дополнительного вопроса (для случая других номеров портов у вас есть шанс и не увидеть подобного вопроса). Дело в том, что при настройке самого подключения я оставил включенным т.н. «WAN Service» (доступ к веб-интерфейсу настроек модема извне) (см. пункт 3 на рис. 14 выше). И благодаря этому внешний 80-й порт модема был «занят» — на нем он сам отвечал при обращении извне. Теперь же я ему указываю, что запросы по 80-у порту нужно переадресовывать на компьютер в локальной сети. По этому, модем, чтобы у меня осталась возможность входа в настройки извне, предлагает мне сменить номер порта, на котором будет работать его встроенная веб-сервер настроек с 80-го на 8080 (см. рис. 21 ниже).

Рис. 21 - Запрос подтверждения на смену номера порта WAN интерфейса модема.

Соглашаемся. А что нам еще делать? Единственное, нужо запомнить, что отныне при попытке попасть в настройки модема звне (из интернета), к адресу нужно будет дописывать номер порта 8080, например, вот так: http://123.123.123.123:8080/.

После того, как правило создано, мы снова взвращаемся на страницу со списком уже настроенных в модеме «виртуальных серверов». Но теперь в нем уже появился один пункт — строка про созданный только что «виртуальный сервер» apache (см. рис. 22 ниже). При желании создать следующий «виртуальный сервер», снова нажмите кнопку «Add» и повторите приведенную выше инструкцию, указав новые параметры. Учтите, что «портфорвардинг» возможен не только на разные номера портов, но и на разные компьютеры вашей локальной домашней сети. Единственное ограничение — один и тот же порт  нельзя пробросить на насколько компьютеров.

Рис. 22 - Снова страница со списком "виртуальных серверов", но уже не пустая

Ну вот вроде и все пока…

Установка ОС Ubuntu

Подготовка к установке ОС Ubuntu

Каждый, кто хоть раз поставил Ubuntu,
считает своим долгом написать
об этом инструкцию в своем блоге… 😉

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

Итак, в данной инструкции предполагается, что что вы устанавливаете на компьютер операционную системы Ubuntu-desktop версии 9.04. Чтобы установить саму операционную систему (далее – ОС) вам необходимо скачать с сайта Ubuntu в интернете и записать на диск (болванку) образ  диска с дистрибутивом Ubuntu-desktop.

После того, как вы скачали образ диска (файл *.iso), запишите его на пустую болванку. Как это можно сделать, например, с помощью программы Nero, показано на рис. 1 ниже.

Рис. 1 – Запись образа диска в программе Nero

После того, как диск вами был записан на болванку, установите ее в привод компакт-дисков вашего компьютера и загрузите компьютер с только что записанного компакт-диска. Как указать вашему компьютеру, чтобы он загрузился с компакт-диска, прочтите в инструкции к материнской плате (или к компьютеру).

Проверка компакт-диска и ОЗУ компьютера перед установкой Ubuntu

Самое первое, что вы видите после того, как загрузились с компакт-диска – это меню выбора языка:

Рис. 2 – Меню выбора языка

Стрелками управления курсором выберите язык (на рис.2 показано, что выбран русский язык) и затем нажмите Enter на клавиатуре. Появится основное меню загрузки Live-CD с ОС Ubuntu.

Рис. 3 – Основное меню загрузки Live-CD с ОС Ubuntu

Перед началом установки настоятельно рекомендуется выполнить два других пункта меню. Первый пункт – это «Проверить память», а второй – «Проверить CD на наличие ошибок» (см. рис. 4, 5 и 6 ниже). Выполнение этих двух пунктов лично мной НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ — оно позволит вам быть уверенным в том, что при установке ОС Ubuntu не возникнет ошибок. Тест памяти (см. рис. 4) вверху справа показывает два параметра – Pass и Test, а рядом с ними – числовые значения в процентах. Pass – это показатель выполнения всей проверки, в то время как Test – показатель хода выполнения одного отдельного теста (а их несколько). Один полный проход проверки завершен тогда, когда значение Pass прошло 100% и начало новый отсчет с 0% (начался второй проход). Число выполненных проходов (Pass) отображается в таблице, приведенной в нижней половине экрана. Там же отображается число найденных ошибок (Errors), и если таковые были, то в виде таблицы – адреса памяти, в которых произошли ошибки. Выход из теста памяти – кнопка Esc. Компьютер при этом перезагрузится. Проверка компакт-диска на ошибки выглядит, как показано на рис. 5. После успешной проверки выводится сообщение «no errors found», после чего вам предлагается нажать любую кнопку для перезагрузки компьютера (рис. 6).

Рис. 4 – Проверка памяти – программа memtest86+
Рис. 5 – Проверка компакт-диска на ошибки

 

 

Рис. 6 – Проверка компакт-диска на ошибки успешно завершена

 

После того, как вы успешно выполнили обе указанные проверки, еще раз загрузитесь с компакт диска, но в этот раз в меню, показанном на рис. 3 выше, выберите уже пункт «Установить Ubuntu».

Непосредственно установка ОС Ubuntu

После того, как вы выбрали пункт «Установить Ubuntu», начнется установка самой операционной системы. В начальной стадии на экран будет выведен лишь логотип Ubuntu и бегающая полоска (аналогично той, что была во время проверки диска на ошибки, как показано на рис. 5). В течение этого времени идет обнаружение устройств вашего компьютера. После этого начинается интерактивная часть установки. Первым вопросом вам предлагают подтвердить выбор языка:

Рис. 7 – Выбор языка для процедуры установки системы

Выберите в списке слева подходящий язык, и щелкните мышью кнопку «Forward» (Далее), расположенную внизу справа. Все последующие сообщения программы установки будут выводиться на выбранном вами языке. Следующий вопрос установщика предложит вам выбрать часовой пояс:

Рис. 8 – Выбор часового пояса

Выбор возможен как по карте, расположенной в верхней половине окна, так и с помощью двух выпадающих списков, расположенных в нижней его части. Если будете использовать списки, то сначала выберите регион в левом, а потом в правом – ваш город (если он там есть, или же ближайший, или же другой такой, про который вы точно знаете, что он расположен в том же самом часовом поясе что и ваш). После того, как вы выбрали часовой пояс, щелкните мышью кнопку «Forward» (Далее), расположенную внизу справа.

Следующий пункт предложит вам выбрать раскладку клавиатуры. В данном случае имеется в виду раскладка, которая будет установлена в систему как дополнительная, кроме раскладки en_US (английский язык, раскладка США), которая все равно будет установлена по умолчанию. Рекомендуем на данном этапе не обращать на это особого внимания. Лучше будет настройку раскладок, а также их отображения, выполнить после окончания установки ОС Ubuntu – уже на работающей системе. Диалоговое окно с вопросом о раскладке приведено на рис. 9 ниже.

Рис. 9 – Выбор раскладки клавиатуры

В нем просто щелкните мышью кнопку «Forward» (Далее), расположенную внизу справа.

Следующим пунктом установки ОС Ubuntu будет подготовка жесткого диска – выбор способа разбивки винчестера компьютера на разделы.

Рис. 10 – Выбор варианта разбивки жесткого диска

В моем руководстве (из которого и вырвана данная инструкция) предполагается, что ОС Ubuntu устанавливается на компьютер где она будет ЕДИНСТВЕННОЙ ОС, и жесткий диск компьютера девственно чист — на нем отсутствуют какие-либо разделы. Также, загрузчик на компьютере будет один-единственный, и установлен он будет в основную загрузочную запись (MBR). Исходя из всего вышеперечисленного, с разбивкой дисков никаких танцев» не предполагалось, потому в моем руководстве об этом ничего и не было сказано. Когда-нибудь я обязательно соберусь с силами, и напишу об это отдельную инструкцию, а пока…

Самый простой способ подготовки жесткого диска – в меню, показанном на рис. 10, просто поставить птичку напротив пункта «Использовать весь диск» (как собственно это и сделано на указанном рисунке). При таком выбора программа установки сама автоматически создаст два минимально необходимых раздела – т.н. «корневой» (обозначается как «/») и второй – раздел подкачки. Раздел подкачки займет максимально до пары Гигабайт (в зависимости от характеристик компьютера), а все остальное место жесткого диска будет отдано под один единственный корневой раздел. Такая разбивка не оптимальна с учетом двух обстоятельств: с одной стороны, вся система при установке займет максимум около 4 Гб дискового пространства, а с другой стороны минимальный объем современного жесткого диска составляет более 80 Гб. И отдавать все место под единственный раздел – не самый лучший вариант. Но зато самый простой! И вы можете смело использовать именно его. Но, при желании вы можете самостоятельно выполнить разбивку диска, руководствуясь собственными критериями. Для этого в меню, показанном на рис. 10, вам необходимо поставить птичку напротив пункта «Указать разделы вручную (расширенно)». После того, как вы выбрали метод разбивки диска на разделы, щелкните мышью кнопку «Forward» (Далее), расположенную внизу справа.

Выбрав ручную разбивку диска на разделы, учтите, что на диске обязательно должны присутствовать как минимум два раздела. Первый из них называется «корневым» (или по-просту «корнем» –  /). Как уже было сказано ранее, вся «установленная по умолчанию» операционная система Ubuntu займет на диске не более 4 Гб. Таким образом, первый («корневой») раздел можно сделать размером, допустим, 20 Гб. Второй необходимый для работы ОС Ubuntu раздел – это раздел подкачки (swap). Его размер варьируется в зависимости от характеристик компьютера, и рекомендуется в пределах от 0,5 до 2-х объема ОЗУ. Ну и еще «стандартно» для пользовательской машины советуют сделать отдельным как минимум еще один раздел — /home. В этом разделе будут находиться рабочие папки всех пользователей системы. Такое отселение их в отдельный аздел позволит сохранить пользовательские данные в случае переустановки системы…

Если вы выбрали ручную разбивку диска, то попадете в следующее меню:

Рис. 11 – Структура жесткого диска

В нем отображается текущее состояние разделов жесткого диска. Первый (единственный) жесткий диск компьютера будет обозначен в таблице как устройство /dev/sda. Чтобы создать на нем новый раздел, щелкните правой кнопкой мыши на поле «Свободное место», сразу под надписью /dev/sda. Появится следующее контекстное меню:

Рис. 12 – Контекстное меню

В контекстном меню щелкните пункт «Новый раздел». Также, вместо щелчка правой кнопкой мыши можно просто выделить мышью поле «свободное место», а потом щелкнуть кнопку «Новый раздел» расположенную под таблицей. Откроется следующее окно создания нового раздела, показанное на рис. 13 ниже (на следующей странице).

Рис. 13 – Создание нового раздела

Первым создайте корневой раздел. В открывшемся окне выберите тип раздела только «Первичный» (Примечаение — это важно в случае, если больше разделов в системе нет. Если вы устанавливаете Ubuntu на копьютер, на котором уже есть одна или несколько ОС, например,  Windows, то в системе уже будет основной раздел. В таком случае для корневого раздела может быть выбран и логический диск в дополнительном разделе), в поле «Размер нового раздела»  введите желаемый размер. Допустим, для 20 Гб введите 20000. Местоположение раздела – «Начало». Следующий параметр – «Использовать как». В данном случае на самом деле в этом поле указывается тип файловой системы. Наиболее подходящими для установки ОС Ubuntu являются файловые системы ext3 или ext4. Выберите один из указанных типов файловой системы. И последнее поле – «Точка монтирования». В этом поле указывается, куда в файловую систему будет смонтирован создаваемый раздел. Так как вы создаете корневой раздел, выберите «/». Все, все параметры для нового раздела указаны. Нажмите кнопку «ОК». Программа разметки диска обновит информацию с учетом только что созданного корневого раздела и выведет обновленную структуру разделов жесткого диска:

Рис. 14 – Структура жесткого диска с созданным корневым разделом

Снова мышью выделите поле, отмеченное как «свободное место» и либо щелкните на нем правой кнопкой мыши и выберите в контекстном меню пункт «Новый раздел», либо просто щелкните кнопку «Новый раздел» под таблицей. В этот раз вам нужно создать раздел подкачки. Это специальный раздел, которому вы просто должны указать размер и тот факт, что он будет использоваться как раздел подкачки.

Итак, после нажатия кнопки «Новый раздел» вы снова увидите окно создания раздела. В этот раз заполните его поля следующим образом:

Рис. 15 – Создание раздела подкачки

Тип раздела в этот раз вы уже можете выбрать любой – как «Первичный», так и «Логический». Учтите только, что первичных разделов на жестком диске может быть не более четырех. Если вы планируете создать первичные разделы еще, то лучше выбрать «Первичный». Если все последующие разделы вы будете создавать как логические, то и для раздела подкачки можете выбрать «Логический».  В поле «Размер нового раздела»  введите желаемый размер. Допустим, для 1 Гб введите 1000. Местоположение раздела – «Начало». Следующий параметр – «Использовать как». При создании раздела подкачки в этом поле нужно из списка выбрать пункт, в котором именно так и указано – «раздел подкачки».  При этом поле «Точка монтирования» будет неактивным – ОС Ubuntu не монтирует раздел подкачки в файловую систему. Когда все параметры для нового раздела указаны, щелкните мышью кнопку «ОК». Программа разметки диска обновит информацию с учетом только что созданного корневого раздела и выведет обновленную структуру разделов жесткого диска:

Рис. 16 – Структура жесткого диска с созданными разделами

Итак, два минимально необходимых для установки ОС Ubuntu раздела жесткого диска созданы. Можно продолжать установку ОС. Но, если у вас есть и место и желание, то вы можете создать и еще дополнительные разделы. Например, как было сказано выше, создать отдельный раздел с точкой монтирования ./home для домашних папо пользователей…

После того, как вы определили все разделы жесткого диска, щелкните мышью кнопку «Forward» (Далее), расположенную внизу справа.

Следующий пункт установки ОС Ubuntu – создание первого пользователя. Для этого вам выводится следующее меню:

Рис. 17 – Создание первого пользователя

В данном меню нужно в поле «Как вас зовут?» указать реальное имя пользователя, из которого система автоматом сформирует логин – имя, используемое для входа в систему. Если предложенный установщиком логин вас не устроит, введите свой собственный вариант. После этого дважды введите придуманный свой собственный пароль. Логин и пароль обязательно сохраните в безопасном месте на случай, если забудете их. ВНИМАНИЕ! Для логина и пароля используйте буквы латинского алфавита и не используйте кириллицу! Имя для вашего компьютера программой установки также будет сгенерировано автоматически. Если оно вас не устроит, введите свой вариант в соответствующем поле. Так же, как и в случае с логином, не используйте кириллическое имя компьютера! Последний пункт меню называется «Войти автоматически». Если в этом поле поставить «птичку», при загрузке компьютера логин и пароль данного пользователя будут подставляться автоматически. В противном случае, при каждом включении компьютера, чтобы попасть на свой рабочий стол, вам нужно будет обязательно вводить логин и пароль. После того, как заполните все поля, щелкните мышью кнопку «Forward» (Далее), расположенную внизу справа.

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

Рис. 18 – Сводная информация о предстоящей установке

Чтобы продолжить установку, щелкните мышью кнопку «Установить», расположенную внизу справа. Начнется непосредственная установка операционной системы. Дополнительное уточнение – именно после этого будет выполнено редактирование таблицы разделов жесткого диска, удаление (если таковые были) старых и создание новых разделов, а также их форматирование.

Рис. 19 – Процесс установки ОС Ubuntu

После того, как установка ОС Ubuntu будет завершена, программа установки предложит вам перезагрузить компьютер, как показано на рис. 20 ниже:

Рис. 20 – Предложение перезагрузить компьютер

Перезагрузите компьютер. На этом установка будет завершена.

Запуск системы

При загрузке ОС Ubuntu сначала отображается логотип и бегающая полоска, аналогично показанным на рис. 5 ранее, после чего появляется окно авторизации, в котором система просит вас ввести Имя пользователя (логин) и затем Пароль для того, чтобы вы смогли получить доступ к рабочему столу. Введите те значения логина и пароля, которые вы указали при создании пользователя во время установки (см. рис. 17 ранее).

Рис. 21 – Ввод логина
Рис. 22 – Ввод пароля

После того, как вы введете корректные значения логина и пароля, откроется рабочий стол.

Примечание: Если при установке системы в меню создания пользователя вы отметили пункт «Войти автоматически» (см. рис. 17 ранее), то для того, чтобы попасть на рабочий стол, логин и пароль вводить будет не нужно.

Индикатор выбранной раскладки клавиатуры

Одним из самых больших неудобств только что установленной ОС Ubuntu является отсутствие какой бы то ни было видимой индикации выбранной раскладки клавиатуры. Добавить ее очень просто. Как это сделать описано у меня в блоге вот в этой заметке.

Видео максимально простой установки новой версии Ubuntu 12.04 LTS

Создание файла Casper-RW

Довольно часто в мой блог попадают с вопросом о создании файла casper-rw. Что это за файл такой? Это файл в котором хранятся изменения на загрузочной флешке с Ubuntu. Создание самой флешки уже я описывал на странице «Живая» флешка с Linux-ом (в разделе Persistent mode). Там же есть несколько ссылок на готовые файлы casper-rw. Но, всегда найдется тот, кому имеющиеся варианты не подходят, и нужно создать свой собственный. Вот для таких и написана данная заметка.

Должен сразу сказать, что данная инструкция предполагает ее выполнение на компьютере, работающем под управлением операционной системы Linux.  Как это сделать из под Windows, я увы не знаю (ниже я скажу — почему).

Итак приступим. Первым делом нужно запустить консоль и авторизоваться в ней root-ом (ввести команду su, а потом в ответ на запрос — пароль администратора системы). После этого запускаем команду:

dd if=/dev/zero of=casper-rw bs=1M count=280

По этой команде:

  • запускается программа dd;
  • которая в выходной файл casper-rw (of=casper-rw);
  • записывает нули (if=/dev/zero);
  • в количестве 280 блоков (count=280);
  • каждый блок размером в 1 Мегабайт (bs=1M)

По окончании работы программа выдает вот такой отчет о выполнении:

280+0 записей считано 280+0 записей написано скопировано 293601280 байт (294 MB), 5,72013 c, 51,3 MB/c

Таким образом мы получили тот самый файл с размером …. правильно — 280х1024х1024=293601280 байт. Чтож, задача выполнена? Почти! Файл действительно создан, размер выдержан (и при необходимости, я думаю, вы уже поняли, как сможете задать свой собственный любой требуемый размер). Единственный нюанс — пока что это по прежнему просто файл, забитый нулями. А casper-rw — это не «просто так файл», а файл … внутри которого создана файловая система ext3 (по крайней мере именно такая ФС требуется, если делать файл для использования с загрузочными флешками, создание которых описано в упоминавшейся выше заметке).

И вот теперь пару слов собственно, о том, почему я не знаю, как создать файл casper-rw из под Windows. Бог с ней, с командой dd — уже есть ее аналог для Windows. И устройство «zero», думаю, при необходимости найдется. Но вот как отформатировать файл и создать внутри него файловую систему, работая в ОС Windows, я увы не знаю…

Но вернемся к инструкции, тем более, что мы выполняем ее в Linux-е, и в нем «создать файловую систему внутри файла» я знаю как :)…

Для этого вводим команду:

mkfs.ext3 casper-rw

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

mke2fs 1.41.9 (22-Aug-2009) casper-rw is not a block special device. Proceed anyway? (y,n) 

Естественно, соглашаемся и вводим на клавиатуре «y». Процесс займет некоторое время, после чего будет выведен отчет о его выполнении:

Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 71680 inodes, 286720 blocks 14336 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67633152 35 block groups 8192 blocks per group, 8192 fragments per group 2048 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 29 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.

Текста много, не спорю… Но весь он «о хорошем». Иными словами — «done» — это «выполнено». Таким образом форматирование завершено, и мы получили файл casper-rw, внутри которого сформирована файловая система ext3. (Кстати, если нужна другая ФС, просто используйте соответствующую команду, например, mkfs.ext2 для файловой системы ext2). Как нам проверить, что все хорошо? Есть простой способ — смонтируем для этого наш «файл-диск» в какую-нибудь папку:

mount casper-rw /mnt/temp -o loop

Обращаю внимание, что папка /mnt/temp, у меня уже была создана ранее. Вы можете использовать другую, а можете создать и такую же (команду mkdir никто не отменял)… Вернемся к монтированию — если ответом на команду «будет молчание», а не сообщения о каких бы то ни было ошибках, значит, монтирование прошло успешно. Перейдем в папку, куда смонтирован наш «диск»:

cd /mnt/temp

И введем команду:

ls

В ответ мы должны получить следующее:

lost+found/

То есть, на данном этапе единственным содержимым нашего диска является папка lost+found, которую полагается иметь каждому … диску (или разделу диска). Значит, все у нас хорошо! Проверка завершена. Отмонтируем наш «диск»:

umount /mnt/temp

Результатом выполнения описанной выше процедуры стал файл casper-rw, размером 280 Мб. Кстати, те, кому нужен именно такой файл, или те, у кого нет возможности выполнить это все в Linux-е, могут скачать готовый файл по вот этой ссылке. (Естественно, качать 280 Мб нулей не придется — файл сжат zip-ом, и его размер равен ~300 кб).

Ну и теперь вкратце об изменении в процедуре создания флешки с persistent mode, которые нужно нести в процедуру описанную на упоминавшейся уже странице. Перед запуском файла U810.bat (пункт 3-й инструкции) нужно новый (созданный или скачанный) файл casper-rw поместить в папку U810p, заменив им уже имеющийся там такой-же файл размером 1 Гб.

Ну и о размере, использованном в данном примере — он был выбран равным 280 Мб для того, чтобы загрузочную флешку Ubuntu с сохранением изменений можно было создать на драйве размером 1 Гб.

Очень быстро родившаяся заметка

На одном из форумов возник вопрос про подключение компьютера под управлением Ubuntu 9.04 к оператору мобильной связи 3G (в конкретном случае речь шла про Peoplenet).

Я сравнительно недавно настраивал знакомому мобильный интернет 3G от другого провайдера, но разница не велика. Потому, я быстренько наклепал скриншотов, и вот теперь у меня есть «материал» и для этой заметки. Единственное, скриншоты делались уже на Ubuntu 9.10 и … без модема. Но сути это не меняет…

Итак, подключал я через контекстное меню Network Manager-а. Для этого, первым делом правой кнопкой мыши щелкаем на значке подключения к сети (по умолчанию — вверху справа).

Рис. 1 Вызываем контекстное меню Network Manager-а

В контекстном меню выбираем пункт «Изменить соединения» и попадаем в следующее окно.

Рис. 2 Окно настроек Network Manager-а

В нем вверху выбираем закладку «Мобильные широкополосные», и жмем кнопку «Добавить».

Рис. 3 — Выбор модема

В открывшемся окне вам в случае наличия в системе реального модема, его нужно выбрать из списка (это на тот случай, если их несколько). Хуже, если система модем не определила. В таком случае «танцев с бубном в консоли» не избежать. Но там не так уж и сложно — если что, читайте вот эту запись — «Ubuntu — запускаем 3G модем в консоли«.

После чего нажать кнопку «Вперед».

Рис. 4 — Выбор страны

Думаю, в открывшемся окне, с выбором страны трудностей возникнуть не должно 😉 … Выбираем свою и жмем «Вперед».

Рис. 5 — Выбор провайдера

Откроется окно выбора провайдера. Как видно на рис. 5, окно имеет две части. В верхней есть список известных провайдеров, и именно ради этого списка мы выбирали страну в предыдущем шаге (рис. 4 выше). В случае, если ваш провайдер присутствует в списке, просто ставим «птичку» напротив надписи «Выберите вашего провайдера из списка» и выделяем самого провайдера.

Но, как я сказал выше, речь шла про Peoplenet, а его в списке в вверху не было. По этому, я поставил «птичку» напротив надписи «Я не могу найти своего провайдера и хочу ввести его вручную». После чего ввел название для своего провайдера (тут вы вольны вписать любое нравящееся вам). И вдобавок, я выбрал из списка стандарт связи (ту технологию, которую использует провайдер). После чего нажал кнопку «Вперед».

Если вы в пункте, показанном на рис. 5 выбрали уже имеющегося провайдера из списка, а не заводили его вручную, то следующего рисунка (№6) вы не увидите. Это окно выводится только при создании соединения вручную.

Рис. 6 — Окно ввода параметров соединения

В этом окне нужно ввести (минимально) Имя пользователя, пароль и номер дозвона. Чтобы видеть вводимый пароль (с целью убедиться, что не было ошибок), поставьте птичку «Показать пароли».

Возможно понадобится также открыть закладку «Параметры IPv4» и там ввести адреса серверов DNS, и возможно, имя точки доступа.

Ну и напоследок — если поставить птичку в поле «Подключать автоматически», то данное подключение к данному провайдеру будет выполняться автоматически при загрузке компьютера.

После того, как все настройки введены, жмем кнопку «Применить» внизу справа. После чего снова возвращаемся в окно настроек Network Manager-а:

Рис. 7 — Окно настроек Network Manager-а со вновь созданным соединением

Теперь у нас есть настроенное соединение к провайдеру. Оно также добавится в контекстное меню Network Manager-а, вызываемое правой кнопкой мыши и показанное на рис. 1 выше. Чтобы подключиться к провайдеру будет достаточно просто щелкнуть по нему мышью…

Форматирование флешки в Linux

Как показывает учет статистики моего блога, периодически сюда попадают люди, которые ищут ответ именно на этот вопрос — «Как отформатировать флешки в Linux?»

Итак, наиболее просто это можно сделать с помощью программы Gparted. Как ей пользоваться для изменения разделов жесткого диска, я уже вкратце писал тут. Для форматирования флешки не нужно загружаться в режиме Live-CD, можно просто запустить программу из меню. После этого в программе первым делом нужно выбрать саму флешку (вверху справа, нечто вида /dev/sdx, сориентироваться можно по объему диска в Мб) а потом на выбранном разделе щелкнуть правой кнопкой и выбрать пункт «Форматировать»….

А теперь перейдем к консоли. Зачем? На тот случай, если вдруг графика подводит…

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

su

…и в ответ на запрос вводим пароль администратора. Как стать root-ом в Ubuntu (точнее, задать root-у свой собственный пароль) я уже писал.  Теперь поищем нашу флешку (собственно, как это сделать, я упоминал тут). Повторюсь — для этого вводим следующую команду:

fdisk -l

В ответ получим данные обо всех разделах всех жестких дисков компьютера. В том числе и данные о разделах флешки тоже. Причем, у флешек, плотно эксплуатировавшихся (и форматировавшихся в том числе) под Windows в таблице разделов зачастую такая каша, что линуксовый fdisk выводит весьма «веселые» комментарии:

Диск /dev/sdc: 125 МБ, 125829120 байт
4 heads, 60 sectors/track, 1024 cylinders
Units = цилиндры of 240 * 512 = 122880 bytes
Disk identifier: 0x6f20736b

Это не похоже на таблицу разделов
Возможно, вы выбрали неверное устройство.

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1   ?     3242233     7998524   570754815+  72  Неизвестный
Раздел 1 имеет различные физические/логические начала (не-Linux?):
физ=(357, 116, 40) логич=(3242232, 3, 49)
Раздел 1 имеет различные физические/логические окончания:
физ=(357, 32, 45) логич=(7998523, 0, 19)
Раздел 1 не заканчивается на границе цилиндра.
/dev/sdc2   ?      702874     8769658   968014120   65  Novell Netware 386
Раздел 2 имеет различные физические/логические начала (не-Linux?):
физ=(288, 115, 43) логич=(702873, 0, 3)
Раздел 2 имеет различные физические/логические окончания:
физ=(367, 114, 50) логич=(8769657, 1, 22)
Раздел 2 не заканчивается на границе цилиндра.
/dev/sdc3   ?     7791173    15857957   968014096   79  Неизвестный
Раздел 3 имеет различные физические/логические начала (не-Linux?):
физ=(366, 32, 33) логич=(7791172, 3, 6)
Раздел 3 имеет различные физические/логические окончания:
физ=(357, 32, 43) логич=(15857956, 3, 37)
Раздел 3 не заканчивается на границе цилиндра.
/dev/sdc4   ?    12023672    12023903       27749+   d  Неизвестный
Раздел 4 имеет различные физические/логические начала (не-Linux?):
физ=(372, 97, 50) логич=(12023671, 1, 53)
Раздел 4 имеет различные физические/логические окончания:
физ=(0, 10, 0) логич=(12023902, 2, 51)
Раздел 4 не заканчивается на границе цилиндра.

Пункты таблицы разделов расположены не в дисковом порядке

Ну да ладно, нас не шуточные комментарии интересовали. Главную информацию мы получили — в системе наша флешка определилась как /dev/sdc.

Начать я предлагаю все-таки с наведения порядка в таблице разделов. Для этого запустим все тот же fdisk, но уже с указанием того накопителя, который будем рихтовать:

fdisk /dev/sdc

(Естественно, вместо /dev/sdc вы указывайте нужный вам диск). В ответ получим следующее приглашение:

Команда (m для справки):

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

Действие команды
   a   переключение флага загрузки
   b   редактирование метки диска bsd
   c   переключение флага dos-совместимости
   d   удаление раздела
   l   список известных типов файловых систем
   m   вывод этого меню
   n   добавление нового раздела
   o   создание новой пустой таблицы разделов DOS
   p   вывод таблицы разделов
   q   выход без сохранения изменений
   s   создание новой чистой метки диска Sun
   t   изменение id системы раздела
   u   изменение единиц измерения экрана/содержимого
   v   проверка таблицы разделов
   w   запись таблицы разделов на диск и выход
   x   дополнительная функциональность (только для экспертов)

Первым делом удалим все те «смешные и странные» разделы. Как удалим? Да так, полностью, окончательно и бесповоротно! Зачем удалим? Так вы ж ведь флешку вобще-то форматировать собирались…

Данный этап процедуры я позволю себе назвать «первой красной меткой». Суть данного маркера в том, что выполняемые нами далее действия выглядят как деструктивные — мы что-то вроде как удаляем, что-то создаем. Однако, на данном этапе мы на самом деле еще не будем вносить какие-либо изменения в таблицу разделов диска. Реальные изменения будут выполнены позже, и об этом я вас извещу «второй красной меткой»…

Начинаем удалять — а именно — нажимать на клавиатуре букву «d». На предложение выбрать раздел, нажимаем последовательно сначала «1» (чтобы удалить первый раздел диска) :

Команда (m для справки): d
Номер раздела (1-4): 1

…потом снова «d» и «2» (второй раздел), «d» и «3» (третий раздел) и возможно «d» и «4» (четвертый). Показателем того, что уже пора остановиться, будет следующее сообщение от fdisk, появляющееся в ответ на очередное нажатие кнопки «d» :

Разделы еще не определены!

То есть, все разделы мы удалили. Теперь создадим новый. Для этого нажмеме кнопку «n» на клавиатуре:

Команда (m для справки): n
Действие команды
e   расширенный
p   основной раздел (1-4)

Создавать мы будем основной раздел. И для этого нажмем кнопку «p» на клавиатуре:

Номер раздела (1-4):

Создадим первый раздел. Для этого нажмем «1» на клавиатуре:

Первый цилиндр (1-1024, по умолчанию 1):

Значение по умолчанию нас полностью устраивает (нам же не нужно пустое место вначале флешки?). По этому чтобы создать разел начиная с самого первого «цилиндра» просто нажимаем «Enter» на клавиатуре:

Используется значение по умолчанию 1
Last цилиндр, +цилиндры or +size{K,M,G} (1-1024, по умолчанию 1024):

По умолчанию программа нам предлагает номер самого последнего «цилиндра». При этом новый раздел будет создан на весь размер флешки. Если Вы как и я, планируете всю флешку использовать как один диск, то просто согласитесь с предложенным выбором. Если же Вы хотите разбить флешку на несколько разделов, то тут нужно задать точку окончания первого раздела. Простейший способ — это указать требуемый размер раздела способом, который предложил сам fdisk — «+ КОЛИЧЕСТВО (ЕДИНИЦ ИЗМЕРЕНИЯ)». Например ввод «+1000М» создаст раздел размером 1000 Мегабайт. Лично я создавал один единственный раздел, и потому просто нажал «Enter» на клавиатуре:

Используется значение по умолчанию 1024

На этом лично я с созданием разделов закончил. Если же Вы планировали создание на диске нескольких разделов, то снова возвращайтесь к процессу создания (кнопка «n»), вводите следующий (а не 1-й) номер раздела, соглашайтесь с номером цилиндра начала раздела (fdisk корректно предложит первый свободный после первого раздела), указывайте размер раздела, и т.д. как говорится, до «полного удовлетворения»…

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

И вот пришло время «второй красной метки». Следующая команда запишет на диск новую таблицу разделов, которую мы только что создали. Самое время лишний раз всё перепроверить, и если в чем-то допустили ошибку, вернуться к началу и исправить ее. Если же все нормально, то двигаемся далее.

Итак, вводим команду «w» с клавиатуры:

Таблица разделов была изменена!

Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.

ВОТ ИМЕННО В ЭТОТ МОМЕНТ новая таблица разделов и была записана на флешку. После этого Вы снова вернетесь в консоль.

И вот наконец-то мы добрались до … форматирования 🙂 .

Команда форматирования раздела в Linux выглядит следующим образом:

mkfs [-V] [-t тип_фс] [опции_фс] устройство [размер]

Нам в нашем процессе форматирования флешки потребуется указать два параметра. Наиболее важным будет параметр -t — тип файловой системы. Если флешку планируется использовать с Windows, то нужно использовать файловую систему FAT (отформатировать флешку в NTFS Linux,увы, не сможет). В этом случае параметр указывается как «vfat» Если же флешка будет использоваться для работы только с Linux, то можно использовать файловые системы ext2 или ext3. В этих случаях ключу -t тип файловой системы прямо так и указываете (ext2 или ext3).

Второй параметр — это номер того раздела, который мы планируем отформатировать. Раньше мы уже определили, что флешку нашу Linux видит как диск /dev/sdc, а раздел на ней мы создавали 1-й. Но, перепроверим на всякий случай еще раз:

fdisk -l

и получим ответ

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1               1        1024      122850   83  Linux

Как видим, «каши» в таблице разделов флешки теперь не наблюдается, там всего один раздел /dev/sdc1, и именно его нам и нужно отформатировать. Чтобы отформатировать флешку в файловую систему FAT, вводим следующую команду:

mkfs -t vfat /dev/sdc1

Если хотим использовать файловую систему ext2, то команда должна быть следующая:

mkfs -t ext2 /dev/sdc1

Ну и для ext3, соответственно:

mkfs -t ext3 /dev/sdc1

Флешка будет отформатирована соответствующим образом.

Кстати, при самой первой попытке отформатировать диск в файловую систему FAT меня ждал сюрприз. Оказывается в моей Mandriva утилита для форматирования в FAT вынесена в отдельный пакет и по умолчанию не устанавливается. Пришлось установить ее следующей командой

urpmi dosfstools

Вот и все…

PS. Те же самые процедуры используются и для работы с жестким диском…

300-тысячная статейка про интернет шлюз

Вводная

Я понимаю, что таких (подобных) инструкций в интернете — целое море. Но вот пришел мой черед искать информацию по данному вопросу — и все-равно немало времени убил на поиски. В принципе, в этой заметке я постараюсь не сильно дублировать информацию, но по максимуму выложу ссылки, которые помогли мне…

Началась моя эпопея со звонка одного знакомого: «А вот можно проверять на вирусы интернет-трафик всего офиса?» Причем, вопрошавший хотел, чтобы эта функция была возложена на какой-нибудь «трехкопеечный» SOHO-роутер, которому родную прошивку заменили на какую-нибудь альтернативную. Пришлось его разочаровать, т.к. те «коробочки» на использование которых собственно и рассчитывал мой знакомый, с такой задачей вряд-ли смогли бы справиться ввиду своей «хилости». Из недорогих (по меркам цен для подобного оборудования) решений были найдены шлюзы серии NetDefend фирмы D-Link. Цена эта, правда, оказалась сопоставима с ценой недорогого нового офисного компьютера (самого системного блока без монитора и манипуляторов). В итоге знакомый сказал «дорого» (и в последствии пропал с горизонта и вовсе), а я решил поискать информацию о том, как сделать это с помощью обычного компьютера, использующего Linux в качестве ОС, и open-source ПО для выполнения поставленных задач.  По мере чтения всего того, что предлагал Google, вырисовывались даже гораздо более интересные перспективы, чем изначальная задача. В итоге и родился этот «сборник цитат», который Вы сейчас и читаете.

Процесс выполнения данной задачи можно разделить на несколько этапов.  Заканчиваю рассусоливать и перехожу к первому:

1. Просто шлюз

«Просто шлюз» нам нужен, чтобы все пользователи офиса (или, допустим, «другие домашние компьютеры») могли легко подключаться к нему и получить доступ в интернет. Кстати, эта первая часть заметки будет очень полезна тем, кто ищет ответ на вопросы типа «Как расшарить интернет под Linux-ом?» и тому подобные.

Итак, у меня был компьютер, работающий под управлением Linux (дистрибутив Ubuntu 9.04). Компьютер был как раз класса того самого «недорогого офисного». Причем справится с задачей может даже б/у компьютер, объявлений о продаже которых предостаточно в любой местной газете. Главное отличие — в нем было установлено две сетевые платы. Первая сетевая плата называлась eth0, и через нее компьютер был подключен в интернет. Вопрос подключения к интернету тут мы рассматривать не будем. Единственное, что примем к сведению, так это адрес платы eth0 — 192.168.1.2 и адрес шлюза, к которому она подключена — 192.168.1.1. Ко второй сетевой плате — она называлась eth1 — я планировал подключать пользователей офиса. Причем, сделать это подключение для пользователей максимально простым. С этой целью на интерфейсе я поднял DHCP-сервер.

Сначала я выставил сетевой плате eth1 фиксированный адрес. Причем, выбрать его нужно таким, чтобы он не попадал в диапазон адресов подсети, к которой относится сетевая плата eth0 (а там, как мы помним, у меня 192.168.1.ххх). В итоге я решил, что пускай у моей платы eth1 адрес будет 192.168.100.1. Чтобы назначить ей такой адрес, я отредактировал файл /etc/network/interfaces, для чего ввел команду:

sudo nano /etc/network/interfaces

В файле этом я дописал следующие строки:

auto eth1
iface eth1 inet static
        address 192.168.100.1
        netmask 255.255.255.0

После чего вышел из редактора, нажав «Ctrl + X». На вопрос о сохранении изменений ответил «Да» (кнопка «Y»). И подтвердил имя файла, не меняя его (кнопка «Enter»). Введенные строки определяют следующее:

  • Интерфейс eth1 автоматически стартует при загрузке (строка «auto eth1«);
  • У интерфейса eth1 будет статический (т.е. фиксированный) адрес (слово «static«)
  • У интерфейса eth1 будет адрес 192.168.100.1
  • Маска подсети на интерфейсе eth1 будет 255.255.255.0

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

sudo /etc/init.d/networking restart

Теперь пришло время установить DHCP-сервер и запустить его на интерфейсе eth1. Для этого вводим команду:

sudo apt-get install dnsmasq

(Подразумевается, что через интерфейс eth0 наш компьютер уже подключен к интернету, и репозитории настроены). По этой команде программа dnsmasq (а это и есть тот самый DHCP-сервер) была загружена и установлена на мой компьютер. Мне оставалось лишь подстроить ее параметры под мои нужды. Для этого я слегка подредактировал файл настроек указанной программы (/etc/dnsmasq.conf), введя команду:

sudo nano /etc/dnsmasq.conf

Файл сам по себе достаточно большой, и настроить в нем можно «ну очень много всего». Для моего простейшего случая оказалось достаточным указать всего два параметра. Первый делом я указал тот интерфейс, на котором сервер собственно и будет работать (слушать DHCP и DNS запросы). Параметр указывается одной простой и доходчивой строкой:

interface=eth1

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

dhcp-range=192.168.100.50,192.168.100.250,12h

Опять же, выходим из редактора и сохраняем изменения.

Эти два указанных мной параметра определили следующее: клиентам, подключающимся к сетевой плате eth1, автоматически будут присваиваться адреса в диапазоне от 192.168.100.50 до 168.100.250, и «срок аренды» составит 12 часов. Обратите внимание, что диапазон выдаваемых адресов, должен принадлежать той подсети, которую мы указали для сетевой платы eth1.

Два слова про «срок аренды». Параметр этот опциональный и указывает — в течении какого времени сервер помнит, что «такой-то» адрес, который был автоматически присвоен «такому-то» клиенту (компьютеру), все еще «принадлежит» ему. Таким образом сохраняется возможность, что один и тот же компьютер будет по возможности получать один и тот же адрес. (Если вдруг это кому-то важно 🙂 )…

Все остальные настройки в файле закомментированы (т.е. либо не используются, либо, там где это необходимо, используются «умолчательные» значения). Они позволяют более тонко настроить сервер под собственные нужды. В том числе например, ЖЕСТКО указать присвоение одному и тому же клиенту всегда одного и того же адреса, а также многое другое. С другой стороны, все перечисленные в файле параметры хорошо прокомментированы (на английском, естественно), на тот случай, если Вы решите настроить сервер именно «более тонко»…

Но вернемся к нашему серверу. После того, как настройка его завершена, перезапускаем сам сервер:

sudo /etc/init.d/dnsmasq restart

С этого момента можно подключать клиентов (компьютеры пользователей) к сетевой плате eth1. Одного (например, второй компьютер в доме) можно подключить и напрямую, а если нескольких, то тогда уже через обычный hub или switch с требуемым числом портов. На компьютерах клиентов, работающих в ОС Windows, в свойствах сетевой платы для протокола TCP/IP нужно указать «Получить IP-адрес автоматически» и «Получить адрес DNS-сервера автоматически». В таком случае компьютер пользователя при подключению к нашему шлюзу будет автоматом настраиваться на то, что основным шлюзом у него будет 192.168.100.1, маска подсети — 255.255.255.0, и адрес ему будет присваиваться один из того диапазона, который мы указали при настройке dnsmasq (то есть, от 192.168.100.50 и до 168.100.250). Для компьютеров клиентов, работающих под управлением ОС Linux, скорее всего вообще не нужно будет ничего настраивать — в большинстве дистрибутивов после установки DHCP-клиент стартует автоматом…

Итак, наши пользователи на автомате успешно подключаются к шлюзу и получают адреса. Все хорошо?! На первый взгляд — да. Первые пару минут… Но потом оказывается, что до полного счастья им не хватает …доступа в интернет! А мы то ведь шлюз делали…

На самом деле, для того, чтобы выпустить наших пользователей в интернет, осталось всего лишь включить функцию NAT (преобразования сетевых адресов). Для этого создадим новый файл настроек файервола, в котором на данном этапе будет всего одна единственная — включить NAT. Чтобы создать новый файл правил (я назвал его fw.rules и разместил в папке /etc/network, а Вы можете придумать и другое имя), введем следующую команду:

sudo touch /etc/network/fw.rules

Теперь откроем новый файл в редакторе:

sudo nano /etc/network/fw.rules

И впишем в него следующее:

        #!/bin/sh
        INET="eth1"
        INETIP="192.168.1.1"

        iptables -F INPUT
        iptables -F FORWARD
        iptables -F OUTPUT

        iptables -P INPUT ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT

        iptables -t nat -A POSTROUTING -o $INET -j SNAT --to-source $INETIP
        echo "1" > /proc/sys/net/ipv4/ip_forward

Сохраняем изменения, выходим из редактора. Из того, на что стоит обратить внимание:

  • Строка INET=»eth1″ указывает на сетевой интерфейс (плату) к которой подключены пользователи, которым мы будем предоставлять доступ в интернет.
  • Строка INETIP=»192.168.1.1″ указывает на шлюз, где у нас этот самый интернет и живет (помните, в самом начале я упоминал о том, что «…мой компьютер к интернету подключен сетевой платой eth0 через шлюз 192.168.1.1». Так вот это он и есть….

ПРИМЕЧАНИЕ: Данный файл должен выглядеть несколько иначе, если ваш «шлюз» использует не статический IP-адрес, а получает его динамически по DHCP. В этом случае вам нужно вместо функции SNAT использовать MASQUERADE. В итоге строка

        iptables -t nat -A POSTROUTING -o $INET -j SNAT --to-source $INETIP

должна быть заменена на такую

        iptables -t nat -A POSTROUTING -o $INET -j MASQUERADE

а строку

        INETIP="192.168.1.1"

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

Собственно, созданный нами только что файл является набором команд конфигурирования файервола. А раз это набор команд, то его нужно исполнять. По этому, делаем файл исполняемым:

sudo chmod +x /etc/network/fw.rules

…и запускаем его:

sudo /etc/network/fw.rules

Все! Вот теперь наши пользователи наконец-то получили то, чего так желали — доступ в интернет. Осталось лишь сделать так, чтобы наши «правила файервола» запускались автоматически каждый раз при загрузке компьютера. Для этого еще раз отредактируем файл /etc/network/interfaces:

sudo nano /etc/network/interfaces

И впишем в него еще одну строку. В приведенном ниже примере она выделена красным:

auto eth1
iface eth1 inet static
pre-up /etc/network/fw.rules
        address 192.168.100.1
        netmask 255.255.255.0

Сохраняем изменения и выходим из редактора.

В итоге мы получили самый простой шлюз, который при подключении к нему пользователей автоматом присваивает им IP-адреса и «выпускает» их в интернет. Таким образом, первая часть «глобального плана» выполнена. Ах да, я же не сказал — что выполнено и зачем? Помните еще — в самом начале знакомый мой хотел, чтоб шлюз проверял трафик на вирусы? Так вот сам шлюз мы уже сделали. Пользователи из локальной сети к нему подключаются, получают автоматом (по DHCP) все настройки и затем — доступ в интернет. Что нам это дало? Весь трафик нашей локальной сети теперь идет через шлюз, и проверять на вирусы достаточно только трафик самого шлюза, а не каждого клиентского компьютера в отдельности. О самой «борьбе с вирусами» — будет далее, а пока что еще немного ссылок про шлюзы:

И еще. Как я уже прозрачно намекал ранее, написанные нами правила не стоит громко называть файерволом в том смысле, что в них «все разрешено», и они ни от чего не защищают. Их единственной задачей было включить раздачу интернета для компьютеров локальной сети («расшарить его»). По этому, вот еще одна ссылка, подробно описывающая работу с iptables, которая позволит Вам настроить правила посерьезнее:

…Ну а к вирусам мы еще вернемся.

И следующим шагом на этом пути будет установка и запуск прокси-сервера.