Linux debian обучение с нуля

Пользовательские руководства Debian

Часто задаваемые вопросы про Debian GNU/Linux.

Авторы: Susan G. Kleinmann, Sven Rudolph, Santiago Vila, Josip Rodin, Javier Fernández-Sanguino Peña
Сопровождающий: Javier Fernández-Sanguino Peña
Состояние: готов
Доступность: Пакет Debian debian-faq

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/ddp-team/debian-faq
  • VCS-интерфейс: git clone https://salsa.debian.org/ddp-team/debian-faq.git

Инструкции по установке дистрибутива Debian GNU/Linux. Руководство описывает процесс установки с использованием системы установки Debian. Эта система впервые выпущена в версии Sarge (Debian GNU/Linux 3.1).
Добавочная информация, относящаяся к установке, может быть найдена в FAQ по системе установки Debian и на страницах wiki системы установки Debian.

Авторы: Debian Installer team
Сопровождающий: Debian Installer team
Состояние: Руководство пока не доработано. Ведётся активная работа над текущим и будущими выпусками. Помощь приветствуется, особенно текст руководства в части архитектур, отличных от x86, и перевод руководства на другие языки. Для связи: debian-boot@lists.debian.org.
Доступность: Пакет Debian installation-guide

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/installer-team/installation-guide
  • VCS-интерфейс: git clone https://salsa.debian.org/installer-team/installation-guide.git

Ссылки на версии руководств по установке для предыдущих выпусков (и, возможно, для следующего) Debian находятся на соответствующей для каждого выпуска странице.

Этот документ содержит информацию об изменениях в текущем дистрибутиве Debian GNU/Linux и полную информацию об обновлении системы со старых выпусков Debian.

Авторы: Adam Di Carlo, Bob Hilliard, Josip Rodin, Anne Bezemer, Rob Bradford, Frans Pop, Andreas Barth, Javier Fernández-Sanguino Peña, Steve Langasek
Состояние: Активно разрабатывается при подготовке выпусков Debian. Свяжитесь с debian-doc@lists.debian.org для дополнительной информации. Сообщения о проблемах и заплатах должны быть отправлены как ошибки псевдопакета release-notes.
Доступность: Версия для текущего выпуска
Доступна на полных официальных компакт-дисках и дисках DVD в директории /doc/release-notes/.

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/ddp-team/release-notes
  • VCS-интерфейс: git clone https://salsa.debian.org/ddp-team/release-notes.git

Этот краткий справочник для новичков в Debian GNU/Linux на одной странице содержит самые важные команды, используемые при работе с системами Debian GNU/Linux. Требуется базовое знание компьютеров, понятий файлов, каталогов и командной строки.

Авторы: W. Martin Borgert
Сопровождающий: W. Martin Borgert
Состояние: Опубликован, активно разрабатывается
Доступность: Пакет Debian debian-refcard

Последняя версия:

  • Арабский: [PDF]
  • Болгарский: [PDF]
  • Каталанский: [PDF]
  • Чешский: [PDF]
  • Датский: [PDF]
  • Немецкий: [PDF]
  • Греческий: [PDF]
  • Английский: [PDF]
  • Испанский: [PDF]
  • Баскский: [PDF]
  • Финский: [PDF]
  • Французский: [PDF]
  • : [PDF]
  • Иврит: [PDF]
  • Хинди: [PDF]
  • Венгерский: [PDF]
  • Итальянский: [PDF]
  • Японский: [PDF]
  • Корейский: [PDF]
  • Литовский: [PDF]
  • Норвежский: [PDF]
  • Голландский: [PDF]
  • Польский: [PDF]
  • Португальский: [PDF]
  • Португальский: [PDF]
  • Румынский: [PDF]
  • Русский: [PDF]
  • Словацкий: [PDF]
  • Шведский: [PDF]
  • Турецкий: [PDF]
  • Вьетнамский: [PDF]
  • Китайский: [PDF]
  • Китайский: [PDF]

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/ddp-team/refcard
  • VCS-интерфейс: git clone https://salsa.debian.org/ddp-team/refcard.git

Справочник администратора Debian содержит базовые знания, необходимые всякому, кто желает стать эффективным и независимым администратором Debian GNU/Linux.

Авторы: Raphaël Hertzog, Roland Mas
Состояние: Опубликован; активно разрабатывается
Доступность: Пакет Debian debian-handbook

Последняя версия:

  • Арабский: [HTML]
  • Датский: [HTML]
  • Немецкий: [HTML]
  • Греческий: [HTML]
  • Английский: [HTML]
  • Испанский: [HTML]
  • Персидский: [HTML]
  • Французский: [HTML]
  • Хорватский: [HTML]
  • Индонезийский: [HTML]
  • Итальянский: [HTML]
  • Японский: [HTML]
  • Норвежский: [HTML]
  • Польский: [HTML]
  • Португальский: [HTML]
  • Румынский: [HTML]
  • Русский: [HTML]
  • Турецкий: [HTML]
  • Вьетнамский: [HTML]
  • Китайский: [HTML]

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/hertzog/debian-handbook
  • VCS-интерфейс: git clone https://salsa.debian.org/hertzog/debian-handbook.git

Этот справочник освещает многие стороны системного администрирования при помощи вспомогательных скриптов оболочки. Простые руководства, подсказки и другая информация сгруппированы по разделам установка системы , управление пакетами в системе Debian , ядро Linux в системе Debian , оптимизация системы , создание сервера-шлюза , текстовые редакторы , системы управления версиями , программирование и GnuPG .

Ранее известен как Краткий справочник .

Авторы: Osamu Aoki (青木 修)
Сопровождающий: Osamu Aoki (青木 修)
Состояние: Опубликован; активно разрабатывается
Доступность: Пакет Debian debian-reference

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/debian/debian-reference
  • VCS-интерфейс: git clone https://salsa.debian.org/debian/debian-reference.git

Это руководство посвящено безопасности операционной системы Debian GNU/Linux и проекта Debian. Оно начинается с процесса укрепления безопасности системы, формируемой установкой по умолчанию (как автоматической, так и ручной), описывает некоторые общие задачи настройки безопасной пользовательской и сетевой среды. Далее документ содержит информацию о существующих инструментах обеспечения безопасности, мерах, которые надо предпринять до и после взлома, а также описывает процесс обеспечения безопасности Командой безопасности Debian. Документ включает пошаговое руководство по укреплению безопасности и приложение с подробной информацией о настройке брандмауэра и системы обнаружения вторжения.

Авторы: Alexander Reelsen, Javier Fernández-Sanguino Peña
Сопровождающий: Javier Fernández-Sanguino Peña
Состояние: Опубликован; активно разрабатывается, небольшие изменения. Некоторые части могут быть недостаточно актуальны.
Доступность: Пакет Debian harden-doc

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/ddp-team/securing-debian-manual/
  • VCS-интерфейс: git clone https://salsa.debian.org/ddp-team/securing-debian-manual.git

Руководство по менеджеру пакетов aptitude с полным справочником команд.

Авторы: Daniel Burrows
Состояние: Опубликован; активно разрабатывается
Доступность: Пакет Debian aptitude-doc

Последняя версия:

  • Чешский: [HTML]
  • Английский: [HTML]
  • Испанский: [HTML]
  • Финский: [HTML]
  • Французский: [HTML]
  • Итальянский: [HTML]
  • Японский: [HTML]
  • Русский: [HTML]

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/apt-team/aptitude
  • VCS-интерфейс: git clone https://salsa.debian.org/apt-team/aptitude.git

Данная документация предоставляет обзор того, как использовать менеджер пакетов APT.

Авторы: Jason Gunthorpe
Состояние: Опубликован; слегка устарел
Доступность: Пакет Debian apt-doc

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/apt-team/apt
  • VCS-интерфейс: git clone https://salsa.debian.org/apt-team/apt.git

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

Авторы: Jason Gunthorpe
Состояние: Опубликован; слегка устарел
Доступность: Пакет Debian apt-doc

Наиболее свежий исходный код XML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/apt-team/apt
  • VCS-интерфейс: git clone https://salsa.debian.org/apt-team/apt.git

Цель данного ЧаВО в том, чтобы разработчик или пользователь смог отыскать ответы на различные вопросы касательно Java и Debian. В частности, здесь рассмотрены вопросы лицензирования и пакеты, необходимые для того, чтобы создать среду для разработки на языке Java.

Авторы: Javier Fernández-Sanguino Peña, Torsten Werner, Niels Thykier, Sylvestre Ledru
Состояние: Опубликован; в активной разработке, хотя некоторые части могут быть неактуальны.
Доступность: Пакет Debian java-common

Наиболее свежий исходный код SGML доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/ddp-team/java-faq
  • VCS-интерфейс: git clone https://salsa.debian.org/ddp-team/java-faq.git

Руководство сопровождающего Debian Hamradio описывает политику и наилучшие практики команды Debian Hamradio.

Авторы: Iain R. Learmonth
Состояние: Опубликован; в активной разработке.
Доступность: Пакет Debian hamradio-maintguide

Наиболее свежий исходный код restructuredText доступен из репозитория Git.

  • Веб-интерфейс: https://salsa.debian.org/debian-hamradio-team/hamradio-maintguide/
  • VCS-интерфейс: git clone https://salsa.debian.org/debian-hamradio-team/hamradio-maintguide.git
Читайте также:  Удаленный рабочий стол несколько пользователей одновременно windows 10

Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в публичный список рассылки по адресу debian-www@lists.debian.org. Об ошибках в русском переводе сообщайте в русскоязычный список рассылки debian-l10n-russian@lists.debian.org. Прочую контактную информацию см. на странице Как с нами связаться. Также доступен исходный код сайта.

Последнее изменение: Втр, 14 Сен 2021, 19:25:06 UTC Последняя сборка: Вск, 10 Окт 2021, 05:17:49 UTC
Авторские права © 1997-2021 SPI и другие; См. условия лицензии
Debian является зарегистрированным товарным знаком компании Software in the Public Interest, Inc. (Программное обеспечение в интересах общества)

Источник

Debian Server для новичка

Как-то обеспокоился наличием собственного FTP-сервака. Тем более под это дело «на помойку» был отдан комп этак десятилетней давности. Так как я человек хоть и виндовый, но начинал с чистого ДОСа (про книжки тов. Фигурнова кто помнит?), то я решил сделать все на линуксе. В линуксе я был ноль полный. Еще и усложнил задачу — только консоль, никаких исков (как же — это ж линукс). Дистрибутивом был выбран Debian. Так получилось, что надобность в 2Тб личном хранилице отпала через год и комп был отдан в хорошие руки, а хард пристроен в нужное место. Но был накоплен неплохой опыт стопроцентного новичка. Какие только глупые ошибки я не совершал поначалу! И хабр читал, между прочим, пока разбирался с проблемами. Поэтому эту свою дебютную (первую) статью на хабре я посвящаю тем, кто хочет заняться линуксом с нуля и эта статья призвана для плавного ввода «в тему», являясь, по сути, фильтрацией и систематизацией всего того, что я нашел на просторах интернета. Ранее я этот материал уже публиковал, но, думаю, на хабре он тоже будет полезен.

Что и как хотим получить в результате:
— консольная установка ОС с флешки;
— навыки консольного управление;
— создание собственного репозитория;
— обеспечение удаленного доступа по протоколу FTP/SFTP;
— обеспечение удаленного управления по протоколу SSH;
— дистанционное включение сервера, находящегося за маршрутизатором;
— создание условий работы веб-сервера (в идеале связка nginx+apache).

В инете куча всяких пошаговых инструкций. Порой там бывают досадные ошибки, а если еще линуксоид и сопливый еще покамест, то можно пару часов потратить только на то, что бы понять, что не нужна лишняя палочка или точечка — в линуксе важно все! Нижеизложенное делается для практических целей поставленных задач — не надо воспринимать все как серьезную инструкцию для создания серьезного сервера. Тем более в процессе «восстановления опыта» могут и ошибки тоже быть и у меня…

Итак, имеется пустой комп с подключенной периферией. Для начала нужно установить саму ОС. Имеется так же образы всех дисков Debian 6.0.0 stable. От лазерных носителей я давно отказался, т.е. для установки нужно изготовить загрузочную флешку. Флешка нашлась на 2Gb. После поисков оказалось, что изготовить можно, но из самой линуксовой среды. Пришлось установить с образа первого диска дебиан на виртуальную машину (подключаем образ к виртуалке в качестве виртуального CD-ROM и установка выполняется «честно» как бы с лазерного диска). Устанавливал «оптом» — т.е. и GUI тоже (в 6 версии был только GNOME). Тем не менее, после того, как все сделалось, грузим деабиан, подключаем флешку к виртуалке и открываем консоль.

Видим что-то типа этого:

Это значит, что флешка определилась в системе.

Скачиваем файл boot.img.gz (debian.org) для нужной архитектуры (в моем случае i386) и копируем его в какую-нибудь директори. Далее выполняем команду из этой директории:

# zcat boot.img.gz > /dev/sdc

Теперь надо вытащить и воткнуть обратно USB флешку, чтобы новая структура/таблица разделов распозналась. Это обновит таблицу разделов, хранимую udev. Для проверки выполняем следующие команды:

# mkdir /mnt
# mount /dev/sdс /mnt/
# ls /mnt

и видим инсталляционные файлы, такие как syslinux.cfg, setup.exe, и так далее. Значит все нормально — флешку примонтировали.

Далее скачиваем ISO образ netinstall (debian.org) размером 150-180MB для соответствующей архитектуры (в моем случае i386). Netinstall устанвливает базовую систему, сеть не нужна. Копируем этот образ в какую-нибудь директорию и из этой директории выполняем и отмонтируем флешку:

# cp debian-6.0.1a-i386-netinst /mnt
# umount /dev/sdс

Уф. Теперь при себе есть всегда флешка для установки.

Если же необходимо включить такой инсталлятор на флешку с другими ОСами, то можно обратиться к загрузчику grub. У меня уже имеется загрузочная флешка с grub4dos. Создаем папку debian в корне флешки и кидаем туда: debian-6.0.1a-i386-netinst.iso, initrd.gz, initrdg.gz, linux — последние 3 файла можно выдернуть с первого установочного диска Debian 6.0.0 stable или скачать (debian.org). А в меню grub’a (menu.lst) нужно добавить следующее:
title Debian 6.0.1a — Netinstall (Basic System, VGA Install)
kernel /debian/linux video=vesa:ywrap,mtrr vga=788 — quiet
initrd /debian/initrdg.gz

title Debian 6.0.1a — Netinstall (Basic System, TXT Install)
kernel /debian/linux — quiet
initrd /debian/initrd.gz

Теперь втыкаем флешку в наш импровизированный сервак, через BIOS выбираем загрузку с флешки и штатно устанавливаем Debian. При установке ничего особого я не обнаружил: выбираем установку с графическим интерфейсом и далее диалоговый режим. Разметить файловую систему можно автоматом — на первый раз сойдет. После установки и перезагрузки, а так же входа в систему мы будем радостно лицезреть черный экран с приглашением командной строки — базовая установка выполнена!

Далее необходимо настоить доступ и управление по протоколу SSH. Так же, что бы особо не париться с консолью нужно бы установить mc (Midnight Commander) — аналог nc (Norton Commander) в DOS или tc (TotalCommander) в Windows. Но для установки нужно скопировать из сети пакет и установить его. Сети же нет. В то же время практически весь хоть сколько-то нужный софт есть на дисках Debian 6.0.0 stable (дисков, кажется, 6). Но я отказался от работы с дисками. Можно настроить сеть и воспользоваться официальным сетевым репозиторием — способ проще некуда. Однако это решение не для нас — нужна широкая автономность на первом этапе. Да и с каких пор мы идем по легкому пути — знакомство носит все же больше исследовательский характер. Значит нужно сделать свой локальный репозиторий.

Придется опять еще раз вернуться в виртульную машину. Входим в консоль под root’ом (на сервере мы в будущем настроим sudo, что бы по каждой ерунде не светить root’а). Создаем директории:

# mkdir debian/pool
# mkdir debian/pool/contrib
# mkdir debian/pool/main

В эти директории копируем содержимое одноименных директорий со всех дисков. Получится одна папочка объемом этак с 30Гб. После того, как содержимое всех дисков скопировано, создаём директории для хранения информации об находящихся в репозитарии пакетах:

Читайте также:  Git авторизация по ключу linux

# cd /debian
# mkdir -p debian/dists/stable/contrib/binary-i386
# mkdir -p debian/dists/stable/main/binary-i386

Далее все команды выполняются исходя из текущего каталога debian — за его пределы никуда не выходим! Собираем списки пакетов:

# apt-ftparchive packages pool/main/ > dists/stable/main/binary-i386/Packages
# apt-ftparchive packages pool/contrib/ > dists/stable/contrib/binary-i386/Packages

# gzip -c dists/stable/contrib/binary-i386/Packages > dists/stable/contrib/binary-i386/Packages.gz
# gzip -c dists/stable/main/binary-i386/Packages > dists/stable/main/binary-i386/Packages.gz

Создаём файлы Release:

# apt-ftparchive release pool/contrib/ > dists/stable/contrib/binary-i386/Release
# apt-ftparchive release pool/main/ > dists/stable/main/binary-i386/Release
# cd /debian/pool/dists/stable
# apt-ftparchive release. > Release

Теперь папку /debian можно скопировать на жесткий диск и при желании подключать и организовывать локальные репозитории в других системах. Что и делаем — копируем папку на съемных USB-хард.

2) подключение… заходим на сервер под root’ом

Подключаем USB-хард к серверу. Далее соображаем как определился хард:

Монтируем его и сливаем все что натворили раньше:
# mount /dev/sda1 /mnt/
# mkdir /dpool
# cp -r /mnt/* /dpool

Правим файл /etc/apt/sources.list — комментим все репозитории и прописываем наш:

deb file:/debian/ stable contrib main

Тут надо сделать краткое отступление. Как поправить файл, если одна консоль? Для этого есть редактор vi:

# cd /etc/apt
# sudo vi sources.list

Далее делаем что нужно: передвигаем курсор в нужную позицию и жмем «i». Это режим ввода. Делаем что нужно. Сделали и жмем ESC для возврата в командный режим. Далее — все по новой. После того как все завершено жмем последовательность «ESC: w! Enter» — это команда возврата с сохранением изменений. Страшно? После установки mc жизнь упростится…

# apt-get update
# apt-cache gencaches

Готово наше локальное хранилище!

Теперь наконец-то добрались до SSH вплотную почти.

1) не всю же жизнь под root’ом работать…

Но сначала немного облегчим себе жизнь — настроим sudo. Sudo — система позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Проще говоря user сможет выполнять действия, которые изначально предполагалось выполнять только от root’а.

Заходим на сервер под root’ом и открываем файл /etc/sudoers. Используем опять же редактор vi:

# cd /etc
# vi sudoers

root ALL=(ALL) ALL

И под ней дописываем:

user ALL=(ALL) ALL

Выходим с сохранением. Готово! Теперь можно заходить под user’ом, но при выполнении критических команд просто перед командой добавлять «sudo». В первый раз система запросит текущий пароль для идентификации. Выходим из системы и заходим под user’ом. Пароль от root’а можно отныне записать на бумажке — пользоваться будем сильно редко, можно и забыть)

2) замучила консоль и vi…

# sudo apt-get install mc

После установки введя команду

Теперь можно радоваться и забыть про команды mkdir, cp, ls, cd, а так же консольное управление в vi. Править файлы теперь можно по F4. Ностальгия по 2000ым — тогда я на 386ом только нортом и пользовался…

3) наконец-то SSH…

# sudo apt-get install ssh

После успешной установки нужно добавить в конец файла /etc/ssh/sshd_config строку для ограничения доступа:

AllowUsers root, user

Далее идем по указанному пути и правим файл. После правки проблем с сохранением не будет — mc запущен под root’ом же. После правки нужно обновить сервис ssh — выходим в консоль и выполняем рестарт сервиса:

# sudo /etc/init.d/ssh restart

— Четыре

Для последнего штриха перед переходом на удаленное управление нужно только настроить сеть. У меня ситуация простая: комп подключен к маршрутизатору проводом. Так как на маршрутизаторе включен DHCP, то интернет получим от него автоматом.

Настройки сетевых интерфейсов хранятся в файле: /etc/network/interfaces

Вот пример рабочего содержимого файла:

Запускаем mc через sudo и правим этот файл в соответствии с теми сетевыми настройками, которые справедливы для вашей сети.

Настройка имени сервера и хостов находятся: /etc/hostname, /etc/hosts
Если наш сервер называется «debian», то проверяем:
В hostname значится только:

А в host первые строчки:

127.0.0.1 localhost debian
10.0.0.10 debian.localhost debian

После всего этого гасим компьютер:

2) удаленное управление…

Отключаем все кабели, тянем наш сервер в самый дальний угол и подключаем его в розетку и к сети. При этом надо заранее позаботится что бы на этапе загрузки BIOS не ждал нажатия кнопки с названием «any» после того как он с удивлением обнаружит, что клавиатура и мышь не обнаруживаются. Нажимаем кнопку питания и возвращаемся к рабочему компьютеру. На этом компе у меня винда. Как же теперь подключиться к серверу?

Есть такая программа putty. Добыть ее можно в интернете. После ее запуска во вкладке «Session» прописываем IP адрес нашего сервера, в качестве порта оставляем значение 22 (это стандартный порт для Shell). Проверяем, что во вкладке «Translation» выставлено UTF-8, что бы неогрести крякозяблев при отображении кириллицы. Возвращаемся в «Session» и открываем канал: «Open». После соединения нас попросят подтвердить создание ключей соединения с нами — подтверждаем. Вводит логин: user. Далее вводим пароль — пароль при вводе не отображается, т.е. это нормально. После соединения видим приглашение сервера и родную консоль, только не на всем мониторе, а в маленьком окошке, которое можно и подрястянуть мышкой. Это значит «Ура, товарищи!».

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

# sudo apt-get install samba

Теперь редактируем файл /etc/samba/smb.conf. Вот пример рабочего содержимого:

В качестве комментария можно заметить следующее:
— необходимо указать рабочую группу, в которой работают виндовые машины;
— параметр security должен быть установлен в share;
— в секции «user» нужно указать реальный путь и разрешить гостевой доступ — собственно именно эту секцию мы в файл и добавляем.

После всего этого дела создаем указанные каталоги:

# mkdir /ftp
# mkdir /ftp/pub

И разбираемся с правами на эти папки:

# sudo chmod 0755 /ftp
# sudo chmod 0777 /ftp/pub
# sudo chown -R root /ftp

В таком случае доступ будет осуществлен к папке ftp, но в ней изменить ничего нельзя будет. А вот в папке pub — делаем что угодно. Естественно, можно все упростить выкинув папочку pub и поправив права для ftp…

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

# sudo /etc/init.d/samba restart

Читайте также:  Код продукта microsoft windows

— Шесть

Теперь пора выпустить нашего малыша в сеть )))

Для начала неплохо было бы сделать сетевой файловый доступ и управление из любой точки сети. Но что мы имеем по топологии?
У нас должен быть выход в интернет с статичным реальный IP-адресом. Т.е. доступ из вне должен осуществляться напрямую, а не через коммутацию сетей провайдера. Например, пользователи сети Рамнет все сидят за большим NAT’ом, т.к. выходят в сеть через несколько пулов. Это значит, что IP выданный при регистрации вовсе и не совпадает с тем IP, который «отпечатывается», например, при посещении сайтов. Реальный IP — это однозначно тот IP, который прописан в сетевых настройках драйвера сетевой платы. Узнать реальный IP или нет можно воспользовавшись каким-нибудь сетевым сервисом в интернете, который показывает ваш IP-адрес. Допустим у нас имеется реальный IP.
Далее, если сетевой провод напрямую заведен на сервер, то проблем особых уже и нет — сервер уже в сети. А если стоит какое-то маршрутизирующее устройство (маршрутизатор, или промежуточный разветвитель-коммутатор на базе того же линукса)? В таком случае мы оказываемся уже за своим NAT’ом, который нужно немного настроить: осуществить проброс портов. Для каждой сетевой службы на машине имеется свой порт: SSH — 22, FTP — 21. Т.е., маршрутизатор нужно настроить так, что бы при обращении к порту по нашему реальному IP осуществлялось обращение именно к серверу по этому порту. Если наш сервер имеет адрес 10.0.0.10, а провайдером выдан реальный IP 172.122.34.89, то в маршрутизаторе необходимо выполнить проброс портов (Port Forwarding) 21 и 22 из вне (172.122.34.89) на сервер (10.0.0.10). Просто настраивается пара строчек в админке маршрутизатора или правится таблица маршуртизации промежуточного линукса-коммутатора. Допустим это тоже все сделали.

В таком случае для досутпа по SSH через putty необходимо просто будет указать реальный IP-адрес, порт 22 (см. выше, где описана небольшая настройка клиента putty). Осуществляем вход и получаем доступ к консоли сервера.

А файловый доступ? Тут чуть сложнее. Можно использовать WinSCP, но как уже упоминалось, это не наш метод. Samba работает только в локалке. Придется настроить FTP доступ…

Для FTP используем сервис proftpd. Ставим пакет:

# sudo apt-get install proftpd

Файл конфигурации находится здесь: /etc/proftpd/proftpd.conf. Вот пример рабочего файла:

Это дело вставляется в proftpd.conf и доступ осуществляется через порт 2220. Но при этом mod_sftp должен быть установлен вместе с proftpd. В штатном репозитории proftpd собран без mod_sftp. Его придется «дособирать» самостоятельно. «Впатчивал» я по какой-то английской инструкции — уже не помню. Процесс это не менее творческий, чем сборка своего репозитория, а результат все равно не порадовал, поэтому это все описывать не буду.

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

Тут есть одна тонкость. К нашему серверу подключено только электропитание и сеть. Но сетевые карты давно научились «будить» компьютер: достаточно только включить такую поддержку в BIOS компьютера и послать не него «магический» пакет (Magic packet). Читаем в wikipedia:

Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты UDP или IPX. Обычно для WOL пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой, скажем, IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу.

Состав magic packet

Вначале идет так называемая «цепочка синхронизации»: 6 байт, равных 0xFF. Затем — MAC-адрес сетевой платы, повторённый 16 раз. То есть, если бы адрес платы выглядел как 01:02:03:04:05:06, то магический пакет оказался бы таким:

Есть куча программ, половина из которых работает, а другая нет, которые формируют и отсылают такие пакеты по указанному IP. Но это справедливо только в локальной сети. Но ведь у нас реальный IP — значит можно попробовать просто отослать пакет на него, а маршрутизатор настроить на ретрансляцию этого пакета серверу. Пакеты на «побудку» рассылаются обычно по портам 7 или 9. Прокидываем их через маршрутизатор на IP сервера. Далее проще всего воспользоваться сетевым ресурсом wakeonlan.ru: забиваем свой реальный адрес IP и MAC адрес сетевой платы сервера. Жмем кнопочку «Включить компьютер!». После пары отправок система вполне может и написать о неудаче включения — сервер-то все же за NAT’ом, а отклик на пингование маршрутизатора разумнее выключить в настройках маршрутизатора. Такой способ включения удобен, правда придется выучить наизусть IP и MAC. Но у нас же память хорошая — мы же задаем и помним правильные пароли составом не менее 32 символов?) Зато теперь сервер можно включить с сотового телефона (при наличии в нем браузера и GPRS доступа).

Интересная так же штука вышла с маршрутизатором. Дело в том, что, пока сервер включен, маршрутизатор точно знает к какому порту этот сервер подключен. Но как только сервер выключается, маршрутизатор, через некоторое время, начисто забывает этот факт. У меня не получилось заставить маршрутизатор делать широковещательную рассылку «магического» пакета по всем портам. Пришлось на разбирательство потратить приличное время. В результате на маршрутизатор установил прошивку DD-WRT. Прошивка по сравнению с штатными просто блещет функционалом. Он явно избыточен) Однако и она забывала порт, хотя широковещательно пакеты рассылать уже могла (только комп почему-то не включался). Если был бы вместо маршрутизатора коммутатор-комп на линукс, то можно было бы просто подредактировать таблицу маршрутизации и делов-то… Аналогично и тут — нужно внести изменения в таблицу ARP маршрутизатора. В данной прошивке есть некая консоль и можно при загрузке маршрутизатора добавить скрипт запуска. Что и делаем, скрип таков:
ip neigh change 10.0.0.10 lladdr 00:10:20:1F:C4:57 nud permanent dev br0
ip neigh add 10.0.0.10 lladdr 00:10:20:1F:C4:57 nud permanent dev br0

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

Ну вот — на этом и закончивается мое первое знакомство с линуксом. Если кому-то это помогло — всегда пожалуйста.

Источник

Оцените статью