Тут живет, умеренно жалуется на жизнь и умеренно хвалится успехами умеренно толстый хомяк
пятница, 31 июля 2009 г.
Про жизнь - я догадывался..
Домашний сервер: SVN
- задумал новый проект - создал для него папку и добавил ее в svn
- чего-то там пописал, поделал, заканчиваю играться - делаю commit в svn
- на след. день еще чего-то написал/исправил, снова сделал commit
- на работе стукнула мысль (или просто код может пригодится по работе - тот же ffmpeg) - создал папку на рабочем компьютере и сделал в нее checkout моего проекта, чего-то пофиксил, сделал commit
- пришел домой, сделал update проекту и продолжил работу - никаких переписываний с флешки/на флешку (с обязательным забыванием или забрать исходники на флешку, или скопировать дома с флешки)
- бамц! перестало работать то, что работало раньше - начинаю сравнивать версии и искать, что фиксил
- бабамц! компьютер накрылся медным тазом.. восстановил систему, поставил клиент для svn, сделал checkout своим проектам - и я готов к работе
вторник, 28 июля 2009 г.
пятница, 24 июля 2009 г.
Домашний сервер (13?): FTP
"File Transfer Protocol (FTP) is a TCP protocol for uploading and downloading files between computers."
вторник, 21 июля 2009 г.
Про торенты без гуя..
Поэтому я долго искал консольный клиент для создания .torrent-файла
понедельник, 20 июля 2009 г.
Еще про интернет: VPN
Не про интернет :)
четверг, 16 июля 2009 г.
Домашний сервер: еще ликбез
sudo reboot # просто перезагрузка sudo shutdown -h now # выключение компьютера
Домашний сервер (11): squid
Установка и настройка оказались очень просты (ну это потому, что ничего "вычурного" я не делал):
sudo apt-get install squid sudo pico /etc/squid/squid.confВ конфиг-файле надо сделать несколько правок: сначала надо найти строчку http_port и изменить ее:
# Squid normally listens to port 3128<br />http_port 192.168.5.1:3128 transparentАдрес указывается для секурности, опция transparent говорит прокси-серверу, что он "прозрачный" - компьютеры в локальной сети не придется настраивать для использования прокси-сервера, он будет использоваться автоматически (при этом могут применятся разные правила фильтрации трафика, типа блокирование нежелательных сайтов и т.д.)
Дальше надо найти строки
# Example rule allowing access from your local networks.<br /># Adapt localnet in the ACL section to list your (internal) IP networks<br /># from where browsing should be allowed<br />#http_access allow localnet<br />http_access allow localhost<br />и добавить правило, разрешающее использование прокси компьютерами локальной сети
acl our_network src 192.168.5.0/24<br />http_access allow our_networkИнтуитивно понятно, что разрешается доступ компьютерам с указанными ip-адресами
Это все настройки прокси-сервера собственно! Но работать еще ничего не будет :) потому что он "слушает" порт 3128, а обычно бровзеры работают через 80-й порт - поэтому в shorewall надо добавить новые правила-исключения: откроем /etc/shorewall/rules и изменим:
ACCEPT $FW net tcp www<br />REDIRECT loc 3128 tcp www -Т.е. файрвол сам перенаправит все с 80-го порта на 3128-й
Поисправляли, поперезапускали серверы
sudo shorewall check<br />sudo shorewall restart<br />sudo /etc/init.d/squid restart
Идем проверять - все работает (должно :) )Можно еще набрать
sudo tail -f /var/log/squid/access.logбудет видно активность
Домашний сервер (10): gallery
sudo apt-get install gallery2Естественно веб-сервер, sql-сервер должны быть установлены, при установке установщик спросит имя/пароль для sql-сервера (они задавались при установке sql – например при установке webmin.. кажется..), в конце предложит перезапустить веб-сервер Кстати, про веб-сервер: после его установки и запуска открыв в бровзере страничку типа http://192.168.5.1/ увидим что-то типа “It’s work!”, что не очень солидно ;) Этот текст выводится потому, что в /var/www лежит файлик index.html; безболезненно удалим этот файлик; после чего может оказаться, что после захода по этому адресу увидим список папок на нашем веб-сервере – это еще более неправильно, отключается это в файле /etc/apache2/site-available/defaults (это скорее всего неправильно делать в этом файле, но у меня частный маленький серверок и я делаю не столько как правильно, сколько как удобно): в этом файле надо сделать примерно такие изменения:
<Directory /var/www/> Options -Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>Опция –Indexes как раз должна запрещать показ листинга каталога, если нет .html или .php файла по умолчанию (вообще я настраивал это у себя методом тыка, так что уже не помню точно – но кажется именно эта опция сработала) Раз мы уже в этом файле, то настроим и галерею - добавляем сюда секцию (например сразу после той, что правили):
Alias /gallery2 /usr/share/gallery2 <Directory /usr/share/gallery2> AllowOverride Limit Options FileInfo Options FollowSymlinks </Directory>Создается перенаправление – когда у сервера спросят gallery2, он отдаст ссылку на каталог, куда установились файлы; если устанавливать вручную, скачивая файлы к себе на сервер, то можно сразу положить их в /var/www/gallery2 – тогда эти телодвижения и не нужны Это в общем-то все: вводим в бровзере http://192.168.5.1/gallery2 и видим: Все остальные настройки делаются уже в веб-интерфейсе, там несложно; хотя несколько раз попросят в консольке что-то поделать, например создать в папке gallery файлик с определенным текстом.. Папка gallery при установке apt-get-ом – это /usr/share/gallery2. Еще установщик спросит, где хранить фото; вот мое решение для этого: gallery предполагает, что я (и/или другие пользователи моей галереи) буду загружать файлы с помощью веб-интерфейса в папку, которую и предлагает указать. Но я свои фотографии загружаю другими способами, в папку /mnt/media/pictures и дальше по годам, причем уже выработана своя система, которая рано или поздно пересечется с gallery и вызовет бардак Поэтому я создал папку /mnt/media/pictures/albums, а при создании собственно альбомов, а точнее при наполнении их фотографиями я всегда ставлю “галочку” на опции “создавать симлинки”: т.е. я создаю альбом, наполняю его фото, но в соотв. папке появляются только ссылки на реальные фотографии; мою же структуру папок gallery никак не затрагивает Не скажу, что этот способ идеален, бОльшую часть наших фото (а это уже > 6 гигабайт) еще предстоит перенести и отсортировать Так что как и советует установщик, пишем в консоли:
cd /mnt/media sudo mkdir pictures/albums sudo chmod 755 pictures/albums sudo chown www-data:www-data pictures/albumsпосле чего вводим созданный путь как путь для хранения Следующим шагом вводятся данные для sql-сервера, там надо всего лишь ввести пароль, который задавался при создании базы, на следующем шаге создали пользователя-администратора галереи (у меня он получил то же имя, что и основной пользователь шлюза.. несекурно, просто чтобы в паролях не путаться) На страничке выбора плагинов к галереи надо внимательно почитать, что стоит ставить, что нет, лишние имхо совсем ни к чему (к тому же плагин всегда можно убрать/добавить); я выбрал пока следующие: Album Select, Image Block, Add Items, Windows Publishing Wizard, Registration, URL Rewrite, Search, Dynamic Albums, Icons, ImageFrame, Keyword Albums, Slideshow, Square Thumbnails, Thumbnail Manager, Thumbnail Page, ImageMagick, Gd Еще несколько щелчков мышкой, и мы в галерее (пока пустой); надо войти с помощью созданного логина администратора и доработать напильником некоторые настройки (ImageMagic и UrlRewrite); сначала настроим ImageMagic – собственно его надо установить
sudo apt-get install imagemagickа потом ввести в настройках gallery путь к бинарным файлам - /usr/bin С настройками UrlRewrite чуть дольше: сначала надо создать файлик .htaccess, а потом выбрать из 2-х вариантов (щелкая по соотв. ссылке) работающий:
sudo touch /usr/share/gallery2/.htaccess sudo chmod 666 /usr/share/gallery2/.htaccessПосле этого в списке плагинов не должно остаться ничего со значком ошибки, все или с зеленым значком “Ок”, или с красненьким – “не установлен” Все, можно идти заполнять альбомы..
"Удеви свою девушку"; squid...
Утром включение компьютера (если он не в слипе был ночью) как правило сопровождается запросами авторизации из миранды..
Сегодня было 2 удачных - "Удеви свою девушку"; может в клуб маньяков приглашали, девушек давить?
Вчера вечером интернет что-то в браузере еле шевелился; думал на провайдера, он обещает 5 мбит, но многие ругаются, что и на отдачу столько не отдает, и за закачку тоже в общем-то не всегда, диаграммы с серверов с тестами приводили.. так что я в общем-то спокойно относился к тому, что не так все быстро, как должно бы
Но при этом пару раз замечал, что если начинать качать файл с любого windows-компьютера у себя дома, то скорость раза в 2 меньше той, которая получается, если качать wget-ом, зайдя удаленно в шлюзовый компьютер. Может конечно из-за того, что торенты качаются, занимая почти весь канал – но это когда качаются, а сейчас у меня наверное бОльшую часть времени только раздается все – да и как бороться, ограничивать скорость не выход – если я качаю из “интернета”, у меня ограничение скорости в 5 мбит; но если с “локальных” ресурсов (в сети провайдера) – то там все 100 мбит..
Короче, я вчера подумал и поставил себе squid – кеширующий прозрачный прокси (прозрачный – в смысле на клиентских компьютерах не пришлось менять никаких настроек)
И все залетало! С ютуба промо-ролик к Хаусу-6 посмотрел без подгрузок, с рутуба чуть хуже, но в разы лучше, чем до этого.. Даже не очень интересно, почему так – главное результат :)
среда, 15 июля 2009 г.
Домашний сервер (9): диски, NTFS, samba
sudo fdisk -l
zinetz@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x4eb74eb6
Device Boot Start End Blocks Id System
/dev/sda1 * 1 19458 156288000 7 HPFS/NTFS
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00071ae8
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 608 4883728+ 83 Linux
/dev/sdb2 609 1044 3502170 5 Extended
/dev/sdb5 609 670 497983+ 82 Linux swap / Solaris
/dev/sdb6 671 1044 3004123+ 83 Linux
Disk /dev/sdc: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdc doesn't contain a valid partition table
Итак, вот наши диски:
/dev/sdb - это диск размером 8 Гб, на который установлена ubuntu, он разбит на 3 раздела - primary (/dev/sdb1), на котором система, и два логических - /dev/sdb5 для подкачки и /dev/sdb6 для данных юзеров
/dev/sdc - это новый и неразмеченный пока диск размером 8 Гб
/dev/sda - это диск, с которого я хочу переписать фильмы, он отформатирован в NTFS
Для начала надо разбить новый диск и отформатировать его:
sudo cfdisk /dev/sdc
# вот наш диск, показывает, что он пустой (если уже разбит -
# можно или ничего не делать, или переразбить);
# стрелками выбираем New, Primary, указываем обьем.. в общем, все как обычно;
# дальше переходим на Type и выбираем тип 83, ну и потом Write, Quit
# если теперь посмотреть вывод fdisk -l, то видим, что диск успешно получил новый раздел
Теперь полученный раздел надо отформатировать; стоит форматировать в "родные" для линух форматы - в ext3 например, если будут хранится большие мультимедийные файлы - в xfs:
sudo mkfs.ext3 /dev/sdc1
Раздел отформатирован, но что с ним делать дальше? Его надо примонтировать к корню и использовать; не знаю, может и неправильно - но я для себя сделал так:
sudo mkdir /mnt/media
sudo chmod 777 /mnt/media
В папке /mnt я (а точнее супер-пользователь) создал новую папку (mkdir), но для того, чтобы в эту папку могли писать/читать все пользователи (а не только супер-пользователь), надо поменять права доступа к ней (chmod; 777 побитово означает определенные права - на чтение, на запись, отдельно для владельца, для членов группы)
В папку media и будет монтироваться мой новый жесткий диск; там же (в /mnt) я сделал папку для временного монтирования разных дисков (например 160 гигабайтного диска с фильмами для переписывания)
Монтируются диски командой mount, демонтируются соотв. umount; но если примонтировать руками диск с принесенными для переписывания фильмами - это нормально, то диск, на котором они будут хранится, должен монтироваться автоматически; для этого проделаем следующее:
blkid
# эта команда покажет идентификаторы подключенных дисков:
/dev/sda1: UUID="A67C32437C320E95" LABEL="Media drive" TYPE="ntfs"
/dev/sdb1: UUID="43400bcd-dea1-4b20-9072-04c3530bba80" TYPE="ext3"
/dev/sdb5: TYPE="swap" UUID="f5d4f812-9938-4f3f-8984-ee4068ecb12d"
/dev/sdb6: UUID="f4096893-9ade-4b57-816c-4967f7ce04b2" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdc1: UUID="4d5b0bee-08b0-458f-b91a-08aa0b392557" SEC_TYPE="ext2" TYPE="ext3"
# они понадобятся нам здесь:
sudo pico /etc/fstab
# в конец файла добавим строку
UUID=4d5b0bee-08b0-458f-b91a-08aa0b392557 /mnt/media ext3 defaults,users 0 3
# и сохраним его
В файле fstab хранятся записи для автомонтирования дисков; сначала указывается раздел или UUID, последний вариант лучше, т.к. имена разделов могут меняться при подключении новых устройств, а UUID до переразбивки/переформатирования - нет; затем указывается точка монтирования (/mnt/media), тип файловой системы (ext3) и опции, смысла которых я уже не понимаю (сделал и забыл)
Если теперь ввести
sudo mount -a
то перемонтируются все разделы, описанные в fstab; проверим, используя команду df (от disk free, ключ -h (от human) покажет вывод в человеческом представлении):
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 4.6G 1.1G 3.4G 25% /
tmpfs 249M 0 249M 0% /lib/init/rw
varrun 249M 308K 249M 1% /var/run
varlock 249M 0 249M 0% /var/lock
udev 249M 160K 249M 1% /dev
tmpfs 249M 0 249M 0% /dev/shm
lrm 249M 2.4M 247M 1% /lib/modules/2.6.28-11-server/volati
le
/dev/sdb6 2.9G 93M 2.6G 4% /home
/dev/sdc1 7.9G 147M 7.4G 2% /mnt/media
Вот он, наш новый раздел, примонтированный к нашей новой папке; примонтируем теперь другой жесткий диск:
sudo mount -t ntfs-3g /dev/sda1 /mnt/tmp
Все, можно копировать из /mnt/tmp в /mnt/media.. После перезагрузки в /mnt/tmp будет пусто, а в media все на месте
Смысл хранить медиа-файлы на сервере есть конечно только в том случае, если к этим файлам будет доступ остальных пользователей в сети - для этого нужна самба:
sudo apt-get install samba smbfs
# теперь добавим пользователя шлюза в пользователи самбы
sudo smbpasswd -a user_name
# создаем файл /etc/samba/smbusers и пишем туда (вместо user_name
# вписываем имя пользователя)
system_username = "user_name"
# открываем /etc/samba/smb.conf и меняем строчки, или создаем новый конфиг
[global]
workgroup = TESTGROUP # указываем имя группы компьютеров в локальной сети
interfaces = 127.0.0.0/8 eth1 # обслуживаем только внутреннюю сеть
bind interfaces only = yes
dns proxy = no
Сохраняем файл, перезапускаем самбу (sudo /etc/init.d/samba restart), с windows-компьютера идем в сетевое окружение:
Правда пока там ничего нет, надо расшарить ресурсы - кстати перед этим: webmin умеет управлять и самбой в том числе, но если открыть его сейчас, то в списке служб самбы нет; чтобы появилсь - надо в меню выбрать Webmin - Настройка Webmin - и снизу Refresh modules
Как организовать систему доступа - личное дело каждого, например можно сделать так: администратор шлюза (скорее всего он там единственный пользователь) будет иметь доступ в свою папку и иметь полный доступ к папке с медиа-контентом, сделав у себя в папке ссылку на /mnt/media; остальные пользователи сети могут только читать медиа-файлы; попробуем все это настроить - дописываем в конец smb.conf после закоменченных строк ;[homes]
[zinetz]
comment = my home directory
writeable = yes
valid users = user_name
path = /home/user_name
[media]
comment = media content
writeable = no
public = yes
path = /mnt/media
Сохраняем, перезапускаем самбу, идем в сетевое окружение - видим 2 "шары", чтобы зайти в папку пользователя, надо ввести его имя/пароль, чтобы зайти в media - ничего не надо, и записать в эту папку ничего нельзя - то, что надо кажется.. А, нет, я же хотел писать в media: создам у себя в папке ссылку на /mnt/media - каждый раз, открывая ее, я буду открывать на самом деле папку media, но при этом я смогу менять файлы в этой папке
ln -s /mnt/media ~/media
Теперь еще не забыть настроить rtorrent на новое хранилище файлов (если он был настроен что-то делать автоматом)..
Домашний сервер (8); webmin
# перейдем в домашний каталог и скачаем архив сюда
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.480_all.deb
# через какое-то время (14 мегабайт все же) все готово, файл в нашей папке; вообще,
# wget - это консольный downloader, поддерживает докачку и кучу фич, о которых можно
# почитать по man wget
#дальше просто - запустим установщик пакетов (так это кажется называется)
sudo dpkg --install webmin_1.480_all.deb
# да, я знаю, что можно сделать так, чтобы не вводить каждый раз sudo -
# но имхо это то же самое, что отключить UAC в винде - чтоб не задалбывали
# предупреждения - но система для того и придумана, чтобы я не глядя своими правами
# пользователя чего-нибудь не накосячил
# например, я вчера запустил sudo mc, а потом в нем создал папку у себя в домашнем
# каталоге; потом (уже выйдя из mc) я в эту папку пытаюсь получить svn-ом
# исходники - нет прав; то же самое с компиляцией.. начал думать, в чем косяк -
# а папку то я создал, будучи супер-пользователем, соотв. и прав на нее как обычный
# пользователь не имел.. так это мелкий косяк, а можно ж и по крупному что-то наворотить..
# так что надежнее понимать, чего делаешь и зачем, а не тупо su - и вперед..
Что нам показывает консоль? Не все в порядке:
Unpacking webmin (from webmin_1.480_all.deb) ...
dpkg: dependency problems prevent configuration of webmin:
webmin depends on libnet-ssleay-perl; however:
Package libnet-ssleay-perl is not installed.
webmin depends on libauthen-pam-perl; however:
Package libauthen-pam-perl is not installed.
webmin depends on libio-pty-perl; however:
Package libio-pty-perl is not installed.
webmin depends on libmd5-perl; however:
Package libmd5-perl is not installed.
dpkg: error processing webmin (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
webmin
Не хватает чего-то; надо доустановить:
sudo apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libmd5-perl
Что характерно - система умная; установив пакеты она увидела, что установка Webmin-а не закончена и закончила ее, предложив зайти на https://ubuntu:10000/ (ubuntu назвается мой шлюз).. Пробуем, но не тут то было - надо сначала сообщить shorewall, что у нас есть еще одно правило - открываем /etc/shorewall/rules:
ACCEPT $FW net tcp www
# тут мы разрешаем ходить из локальной сети на наш веб-сервер
ACCEPT loc $FW tcp www
# а тут добавляем порт 10000 для webmin-а
ACCEPT loc $FW tcp 10000
Сохраняемся, перезапускаем shorewall (sudo shorewall check, sudo shorewall restart):
Webmin-ом я немного ползовался, в основном пока не привык к командлайну и не узнал толком, где что лежит; а, еще шары на samba добавлял..
Настройка домашнего интернета (7): напильник и Shorewall, dhcp и прочие..
В policy все просто, как в примере - все запрещено, ибо нефиг; а в rules понаписано такое:
# чтоб шлюз мог резолвить адреса на внешних серверах, а локальная сеть
# получать адреса у него
DNS/ACCEPT $FW net
DNS/ACCEPT loc $FW
# чтобы шлюз мог ходить в интернет
ACCEPT $FW net tcp www
# для удаленного доступа из локальной сети и из офиса (у него постоянный ip)
SSH/ACCEPT net:11.22.33.44 $FW
SSH/ACCEPT loc $FW
# в модеме закрыты все порты, кроме 60606 - для торентов
ACCEPT net $FW tcp 60606
ACCEPT net $FW udp 60606
# для "личных нужд" у меня есть свой svn
SVN/ACCEPT net:11.22.33.44 $FW
# разрешу доступ к своему веб-серверу только мне
# хотя позже я ослабил это правило, когда установил gallery
HTTP/ACCEPT net:11.22.33.44 $FW
HTTPS/ACCEPT net:11.22.33.44 $FW
# пинги (можно макросами, можно протоколами)
Ping/ACCEPT loc $FW
Ping/REJECT net $FW
ACCEPT $FW loc icmp
ACCEPT $FW net icmp
# для нормальной работы самбы надо открыть эти порты (еще раз - сейчас у меня в policy
# все запрещено - только loc -> net разрешено - так что все исключения надо перечислить)
ACCEPT loc $FW tcp 135
ACCEPT loc $FW udp 137
ACCEPT loc $FW udp 138
ACCEPT loc $FW tcp 139
ACCEPT loc $FW tcp 445
ACCEPT $FW loc udp 137
ACCEPT $FW loc udp 138
Хорошо бы, чтобы в сети надо было делать как можно меньше настроек; первый шаг к этому - установка своего dhcp-сервера: тогда клиентские компьютеры IP-адреса, сетевую маску, адреса шлюза по умолчанию и dns будут получать автоматически:
sudo apt-get install dhcp3-server
# надо настроить конфиг для dhcp-сервера
sudo pico /etc/default/dhcp3-server
# находим и меняем строку таким образом - указываем интерфейс локальной сети:
INTERFACES="eth1"
# настроим собственно параметры сервера
sudo pico /etc/dhcp3/dhcpd.conf
# можно посмотреть на пример, но остаться должно следующее:
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;
# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ubuntu;
default-lease-time 600;
max-lease-time 7200;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.10 192.168.5.200;
option routers 192.168.5.1;
option domain-name-servers 192.168.5.1;
option broadcast-address 192.168.5.255;
}
# сохраняем и запускаем сервер
sudo /etc/init.d/dhcp3-server start
# открываем /etc/shorewall/interfaces и в опции того интерфейса,
# для которого создает адреса dhcp, добавляем dhcp (иначе shorewall
# заблокирует порты 67/68 и клиенты не смогут получить ip):
loc eth1 detect dhcp,tcpflags,nosmurfs
Проверим, все ли нормально - на windows-компьютере в свойствах сетевой карты указываем - получать адреса автоматически:
Перед этим я отключил сетевую карту - теперь включаю и вижу:
Видим, что от dhcp получен новый адрес (раньше руками был установлен 192.168.5.2, новый адрес - первый из пула - 192.168.5.10); интернет продолжает работать, т.е. и с dns все нормально
вторник, 14 июля 2009 г.
Настройка домашнего интернета (5)
sudo apt-get install ssh
Установится целая куча дополнительных пакетов, нас это не волнует, нам надо слегка подправить /etc/ssh/sshd_config - в самый конец файла добавить строчку
AllowUsers имя_пользователя
PasswordAuthentication yes
сохранить файл и перезагрузить службу - /etc/init.d/ssh restart
Что теперь с этим делать? Теперь с любого компьютера локальной сети или интернета можно зайти в наш шлюз "по делам"; конечно из интернета это делается немного сложнее, но делается.
Зайти с другой ubuntu-машины можно с использованием команды ssh; для windows тоже есть клиенты, лично я рекомендую Tunnelier; кроме того, что с его помощью можно получить удаленный доступ к консоли своего серера, так он еще и реализует sftp - "ftp over ssh", технологию для передачи файлов по ssh-соединению.
После установки работает все очень просто - вводим в Host адрес нашего сервера, в Username вводим имя пользователя, в Initial method выбираем password, который вводим в поле ниже, ставим галку Store encripted password, чтобы не вбивать его каждый раз (это если есть доверие машине, с которой входим); жмем Login и если все нормально - получаем текстовую консоль и 2-хоконный менеджер файлов.. в консоль можно ввести screen -x и продолжить начатую ранее работу
Вот теперь компьютер можно относить в кладовку :)
Теперь про то, как же зайти удаленно в свой шлюз из интернета; ну вообще конечно сделать это можно не всегда, а только в случае, когда провайдер предоставляет реальные ip-адреса (т.е. между интернетом и сетью провайдера нет аналогичной нашей трансляции адресов, когда адрес внутри сети не существует за ее пределами)
Так вот если адрес реальный (не обязательно статический - т.е. не меняющийся изо дня в день..), можно за даром для начала зарегистрироваться на сайте dyndns.com и получить там доменное имя типа my-superserver.dyndns.info... ну не очень благозвучно - но зато ж бесплатно! А после этого на сервер устанавливается программка, которая периодически проверяет "внешний" адрес машины и обновляет его в dns таблице для my-superserver.dyndns.info - т.е. для удаленного подключения по ssh мы из локальной сети вводили адрес 192.168.5.1, а из инета будем подключаться к my-superserver.dyndns.info
Конечно, в правилах для shorewall надо будет по умолчанию запретить подключения net -> $FW (в policy), а в rules добавить правило-исключение для определенного адреса (например разрешить подключение только из офиса, если у офисной сети постоянный ip).. или разрешить подключения для ssh
Так что проделываем:
1) регистрируемся на сайте, получаем "доменное" имя
2) устанавливаем клиент - sudo apt-get install inadyn
3) создаем файл с настройками /etc/inadyn.conf, в который пишем:
## inadyn configuration file
update_period_sec 600 # Check for a new IP every 600 seconds
# DynDNS username and password here
username ## имя регистрации на сайте ##
password ## пароль регистрации на сайте ##
dyndns_system dyndns@dyndns.org
## Dynamic DNS hosts
alias my-superserver.dyndns.info
Все, теперь компьютер можно будет "отыскать" в интернете по удобному имени (вместо 4-х цифр, которые к тому же могут часто меняться); для того, чтобы inadyn запускалась автоматически, надо
sudo crontab -e
соглашаемся со всем, добавляем строку
@reboot /usr/sbin/inadyn
Как часто будет проверяться/обновляться адрес, зависит от параметра update_period_sec, можно частить, а можно и раз в сутки.. тут все зависит от того, как часто ip-адрес провайдером меняется
Настройка домашнего интернета (4)
iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-resetЕсть способ и попроще :) Этот способ называется Shorewall. Это не то, чтоб файрвол, собственно iptables и есть файрволом, shorewall просто утилита для составления правил для файрвола в виде чуть проще, чем приведенное мною выше. Устанавливается как и все:
sudo apt-get install shorewallНастраивается тоже достаточно просто, на сайте к тому же есть много доки, в т.ч. и на русском Настройки (опять же как у многих) хранятся в /etc/shorewall; сразу после установки там практически пусто - 2 файла, один из которых надо подправить. Раз править надо будет файл в /etc - значит понадобится sudo; кроме того, в данном конкретном случае удобно будет пользоваться mc - искать по каталогам файлы, копировать их, править.. так что надо запустить mc с правами и с его помощью все настраивать.
sudo mcДля начала перейдем в папку /etc/shorewall и откроем файл shorewall.conf (по F4); в этом файле надо найти строку
STARTUP_ENABLED=и убедится, что там указано Yes, дальше надо найти строку
IP_FORWARDING=и тоже изменить ее значение на Yes, и сохранить файл. Для того, чтобы настроить собственно правила для нашей сети (для обмена между двумя сетями, нашей локальной и глобально-интернетной) надо узнать, что думает обо всем этом shorewall. shorewall думает понятиями "зон" - в нашем случае есть зона - наша локальная сеть, есть зона - весь остальной интернет; есть еще специальная зона - компьютер, на котором запущен shorewall. Определения зон содержаться в файле zones, который должен лежать в папке /etc/shorewall и которого тут пока нет; его можно взять в папке с образцами, которую с помощью mc легко найти в /usr/share/doc/shorewall-common/examples/two-interfaces - копируем его с помощью mc в /etc/shorewall (переход между панелями - левой/правой - в mc делается клавишей Tab) Настоящие хацкеры конечно же делали бы все в хардкорной консольке, введя
cd /usr/share/doc/shorewall-common - перейти в папку с файлом sudo cp ./zones /etc/shorewall - скопировать файл zones в папку /etc/shorewall, команду копирования (cp - от copy) запустить от sudoНо с помощью mc имхо быстрее; скопировали, вернулись в /etc/shorewall, посмотрим на zones - вот определение зон для нашего шлюза:
fw firewall net ipv4 loc ipv4Теперь, если надо упомянуть любой компьютер в локальной сети, мы просто скажем loc (это не касается шлюза - он стоит особняком и для него - отдельные правила), любой компьютер вне нашей домашней/офисной сети - net. У shorewall действует правило "запрещено все, что не разрешено", т.е. если какое-то взаимоотношение не описано как "можно" - оно будет запрещено; делается это в файле policy, который тоже надо скопировать в /etc/shorewall Если посмотреть на его содержимое, то видим:
loc net ACCEPT - разрешены запросы из локальной сети в интернет loc $FW REJECT - будут отвергнуты запросы любого локального компьютера к файрволу loc all REJECT - будут отвергнуты все запросы локальной сети в остальных случаях $FW net REJECT $FW loc REJECT $FW all REJECT - файрволу вообще ничего не разрешено net $FW DROP net loc DROP net all DROP - запросы из интернета просто дропаются, это делается для того, чтобы отправитель не знал, что по запрашиваемому им адрему кто-то есть all all REJECT - все что не попало под предыдущее правило, запрещеноключик info около некоторых правил говорит, что в лог будет добавлено сообщение о срабатывании этого правила. По умолчанию правила параноидальные - почти ничего никому нельзя; чтобы хоть что-то работало, существует еще один файл rules - при анализе пакета сначала ищется правило с этом файле, если там ничего нет - тогда срабатывает какое-нибудь правило из policy
DNS/ACCEPT $FW net - например это правило разрешит dns-запросы от шлюза к dns-серверу, находящемуся где-то в инете (у провайдера, или OpenDNS) SSH/ACCEPT loc $FW - это правило разрешит удаленный доступ по ssh из локальной сети в шлюз Ping/DROP net $FW - это правило запретит пинговать наш шлюз хацкерам из интернетаДля начала я бы ослабил правила, на время настройки; например, шлюзу надо разрешить доступ в инет хотя бы для работы apt-get; так что в policy поменяем:
loc $FW ACCEPT - разрешим пока полный доступ в шлюз из локальной сети $FW net ACCEPT - разрешим полный доступ в интернет шлюзуТеперь надо связать сетевые карты и зоны - это делается в файле interfaces - копируем и его, смотрим на содержимое: собственно все очень просто, сначала имя зоны, потом - интерфейс, который смотрит в эту зону, скорее всего ничего менять не придется В локальной сети (которая предположительно подключена к eth1) может быть достаточно много компьютеров; но со стороны интернета виден только один IP-адрес, выданный провайдером adsl-модему (или чем там мы подключены), наш шлюз кроме прочего делает преобразования адресов; для того, чтобы оно работало, нужен файлик masq - он как раз определяет, что в что транслируется - первой записью в нем идет интерфейс, смотрящий в net, второй - в loc; копируем и этот файлик в /etc/shorewall Ну собственно настройки пока все; shorewall умеет делать "шейпинг трафика" - т.е. ограничивать трафик по разным условиям, одно время у меня это работало (потому что торрент-клиент забирал весь трафик под себя и компьютеры в локальной сети очень медленно грузили странички сайтов.. но на 5 МБит смысла в нем не стало и я правила эти поудалял, но если найду бекапы - то и о них напишу) А, еще - последний файл, который нужен - routestopped: в нем указание, какие интерфейсы будут работать, если shorewall отключен - указываем там интерфейс, который смотрим в локальную сеть Для проверки созданной конфигурации у shorewall есть специальная команда
sudo shorewall checkсмотрим на вывод в консоль; если нет ошибок, то файрвол можно запустить (ключ start); если файрвол запущен и в конфигурации делались правки - то сначала надо проверить все (check), а потом перезапустить файрвол (restart) На самом делел shorewall просто делает конфигурационные файлы для iptables; посмотрим на действующие ДО запуска shorewall правила:
sudo iptables -LПусто? должно быть пусто; теперь запустим shorewall, он создаст правила и применит их в iptables; еще раз запустим iptables -L - сколько всего туда добавилось! Чтобы shorewall запустился при старте, надо еще открыть в текстовом редакторе файл /etc/default/shorewall и изменить значение параметра startup на "1"; перезагрузимся для чистоты эксперимента - в логе загрузки видно, что shorewall успешно стартовал; а можно пока не перезагружаться, а установить pdnsd - кеширующий dns-сервер, который в принципе пригодится для локальной сети: однажды зделанный запрос на разрешение имени в IP-адрес сохранится в базе pdnsd и в следующий раз разрешение имен пройдет практически мгновенно. Я устанавливал pdnsd себе из-за того, что у моего провайдера периодически случались глюки с dns-серверами Установка - sudo apt-get install pdnsd; установщик спросит тип конфигурации - я выбирал Manual, после чего для начала работы надо подправить 2 файла Открываем файл /etc/defaults/pdnsd и меняем значение параметра START_DAEMON на yes - это изменение нужно для того, чтобы сервер стартовал вместе с системой; а значение параметра AUDO_MODE оставляем пустым; также надо изменить файл /etc/pdnsd.conf - в нем собственно настройки сервера. Мои настройки такие: 1) секция global: в ней меняем только значение параметра server_ip на 192.168.5.1 (т.е. на IP-адрес карты eth1, которая смотрит в локальную сеть) 2) сразу после закрывающей скобки секции global добавляю секции:
rr { name = ubuntu.localhost; ns = localhost; a = 192.168.5.1; } server { label = "mydns"; ip = 208.67.222.222; - это IP-адрес OpenDNS-сервера, сюда можно записать адрес, выдаваемый провайдером proxy_only = off; }Все остальное из файла я убрал; первая секция (rr) определяет разрешение локальных ресурсов, servers указывает на внешние dns-сервера, с которых будет при необходимости запрашиваться и сохранятся соответствие адресс = IP. Сохраняем файл; читал также где-то рекомендацию удалить resolvconf, который устанавливается автоматически с pdnsd - мне не жалко, удалил (sudo apt-get remove resolvconf), после чего надо отредактировать файл /etc/resolv.conf - просто вписать туда строчку :
nameserver 192.168.5.1т.е. вписать IP-адрес сетевой карты, которая смотрит в локальную сеть (помним, что компьютеры локальной сети настроены искать dns по этому адресу) Теперь точно можно для проверки перезапустить компьютер (sudo reboot); после загрузки сначала на шлюзе проверим наличие интернета - хотя у нас сервер с хардкорной консолью, это не значит, что мы не можем в нем чего-нибудь погуглить: существует консольный браузер lynx, который можно установить и "проверить интернет":
sudo apt-get install lynx lynx google.com(собственно если lynx установился - значит адреса все еще резолвятся и файрвол ничего не заблокировал (я временно ведь разрешил ему ходить в интернет) Теперь сядем за windows-компьютер, Start -> Run -> cmd, ping google.com - если все нормально, то адрес google.com и здесь отрезолвится и пойдет вывод пинга - мол, все хорошо.. Открываем google.com в броузере - у меня открылся :)
Настройка домашенго интернета (3)
sudo apt-get update
Эта же команда обновляет систему (если есть чего обновлять) - для этого достаточно написать apt-get upgrade
Если с интернетом все нормально, то за какую-то минутку все будет готово; можно попробовать установить какую-нибудь полезную программу.. например - mc, Миднайт коммандер. Это консольный файловый менеджер, внешне очень похож на Norton Commander (ну кто его застал), Volkov Commander (советский клон nc) или FAR (ну фар то каждый в жизни наверное видел):
sudo apt-get install mc
после ключевого слова install перечисляем программы, которые надо установить, в данном случае - только mc
Если вдруг программа больше не нужна - она удаляется:
sudo apt-get remove название_программы
sudo apt-get autoremove
При установке программы могут скачаться и установиться нужные ей пакеты; после удаления программы эти пакеты остаются в системе, и вызов с ключем autoremove как раз служит для удаления не используемых больше никем пакетов
3 слова про mc; для запуска просто пишем в консоли mc, для выхода - F10; иногда клавиши Fn не срабатывают, тогда можно просто нажать Esc и кнопку от "1" до "0" - это будет эквивалентом нажатия на F1 - F10. Чаще всего я использую mc просто для копирования кучи файлов, особенно если надо выбрать какие-то файлы из этой кучи.. чтобы найти файл в папке можно нажать Ctrl-S и начать набирать имя файла (с учетом регистра, т.е. больших/маленьких букв) - если файл есть, курсор сразу же перескочит на него
И еще отступление: перед тем как (наконец бы) начать настраивать раздачу интернета, надо узнать об одной очень полезной утилитке "из коробки" ubuntu (т.е. ничего устанавливать не надо, она уже установлена) - screen.
Это мего-утилита, которая дает пользователь сразу несколько консольных окон; да, сидя за настоящим компьютером можно нажимая Ctrl-Alt-F1/F6 переключаться между консолями и работать в них независимо; но например подключившись удаленно к компьютеру этот финт не пройдет; screen в этом случае просто незаменим. Например, вводим что-то длинное и забыли параметр? - переключаемся в новую консоль, читаем там man, возвращаемся назад и дописываем команду.
Итак, пишем screen; в последней убунту меня переспросили про цветовую схему (screen profile), раньше такого не было.. я бы выбрал (и выбрал) первую - plain.. нет никаких "свистелок-перделок", отвлекающих и запутывающих..
Кажется, что ничего не изменилось?.. Ну наберем
man screen
и видим справку по screen; ее хорошо бы почитать, но все, что надо знать в общем-то - что для вызова новой консоли достаточно нажать Ctrl-A C - все, появилось новое окно с приглашением ввода; а где старое? - Ctrl-A Space (пробел) - вот оно, мы в него вернулись.
Вообще говоря не вернулись, а перешли "по кругу"; можно запустить много консолей, и по пробелу переключаться между ними по очереди. Можно переключаться по номеру - Ctrl-A #, где вместо # - номер консоли; но как их можно запомнить?.. я не могу :)
Чтобы выйти из консоли - просто пишем exit, если выйдем из последней созданной в screen консоли - screen закончит работу.
А вот супер-мего фишка скрина: нажимаем Ctrl-A D и - отсоединяемся от screen; не выключаем его, а оставляем, хоть на 5 минут, хоть на неделю; когда вернемся - пишем screen -x - и попадаем назад, где все сохранилось в том виде, в котором все оставили.
Несколько практических применений screen у меня в компьютере: торрент-клиент rtorrent. При старте системы он запускается, но не блокирует консоль, а работает в отдельном сеансе в screen, я всегда могу переключится на него, поглядеть чего-нибудь, добавить закачку, и переключится на другую консоль, чтобы сделать что-то еще очень полезное.
Или просмотр логов при настройке: в отдельной консольке пишу
tail -f /var/log/messages
это означает - показать содержимое лог-файла messages (который лежит в специальной папочке для лог-файлов), причем показать хитро - новые сообщения в лог тут же добавляются на экран (т.е. мы не получаем назад командную строку, команда еще не отработала, для прекращения ее работы достаточно нажать - да, Сtrl-C). В другой консоле меняем настройки, а для проверки периодически посматриваем на лог - что там происходит после изменения настроек..
понедельник, 13 июля 2009 г.
Настройка домашнего интернета (2)
Немного ликбеза - не считаю себя великим знатоком линукса, несмотря на то, что уже 3-й год им пользуюсь.. знаю только то, что надо знать для моих задач, не больше (но и не меньше), когда не знаю - спрашиваю или ищу (на forum.ubuntu.ru например)
Так что вот что имхо надо знать для начала: консоль; это черное окно с мигающим курсором - это консоль, сюда крутые хацкеры вводят сложные команды, чтобы удаленно заходить на сервера пентагона в поисках военного порно :) В системе ничего сделать нельзя, пока не войдешь в нее - для этого надо имя и пароль. Ввели, если все нормально - можно что-то делать
Например посмотреть - сеть/инет у нас как, есть? Самый простой способ - "попинговать": пишем в консоль
ping google.com ( понятное дело означает "нажали на большую кнопку Enter"):
Прервать вывод этой (и многих других) команд можно нажав сочетание Ctrl+C
Если непонятно, что это за фигня написана, какой-то ping - можно спросить у системы помощь по команде, например введя
man ping
Чтобы выйти из просмотра мануала, нажимаем "q"
Чтобы посмотреть состояние сети, пишем
ifconfig
(ну вообще я запарился добавлять
Видим странное (если не сказать большего) буквосочетание eth0; не знаю, как это расшифровывается, но обозначает сетевую карту (ethernet наверное, а цифра - номер по порядку, нумерация с нуля)
Хорошо, eth0 есть, а где вторая карта? Видимо отключена (есть еще варианты "не работает", "сгорела от удара молнии" и т.д., но будем надеятся на лучшее); пора "править конфиги" :)
Для правок конфигов я использую текстовый редактор pico; он не самый лучший, я его просто использую и другие не пробовал. Для того, чтобы отредактировать файл, достаточно ввести
pico имя_файла
Это в теории; на практике надо еще знать 2 вещи: про файловую систему и про суперпользователя.
Про файловую систему надо читать отдельно, я только скажу, что она отличается от принятой в виндовс системы именования дисков буквами - тут есть корень файловой системы "/", к которому подключается.. чего только не подключается: жесткие диски, компакт-диски, флешки, образы дисков, удаленные файловые системы.. "Выше" корня (т.е. выше "/") ничего нет - точно так же, как нет ничего выше My Computer в виндовс (хотя сравнение не совсем и правильное)
При загрузке к корню примонтируется раздел /home, где лежат файлы пользователей; для практики можно посмотреть, чего там творится:
cd ~ - cd (от Change Directory) - команда изменения каталога, ~ - ссылка на домашний каталог текущего пользователя
cd .. - перейти на один уровень вверх по дереву каталогов
ls - показать (list) список файлов в каталоге; пока файлов немного
pico new_file - создали новый файл, попишем чего-нибудь в него, чтобы закончить - Ctrl-X, соглашаемся, что хотим сохранить изменения - Yes - не сохраняет? Permission denied?
Это вторая вещь - права; сейчас мы находимся в папке /home и писать просто так сюда текущему пользователю нельзя - не его это папка :)
В свою - пожалуйста, а сюда - нельзя; а как быть, если надо (ну ладно, в /home вряд ли надо кому-то что-то писать, но в папку с системными настройками например)? Для случаев, когда пользователю нужны права "выше среднего", в линухе есть команда sudo - выполнить команду от имени администратора (в виндовс UAC - это что-то типа этого); так что если написать
sudo pico new_file, в поредактировать что-то и попытаться сохранить - система послушно согласится, что да, имеешь право. Только перед выполнением она спросит пароль текущего пользователя, и если ввести его правильно - все, следующая команда выполнится от имени администратора
Зная это можно покопаться в конфигах наконец.. много конфигов хранится в каталоге /etc:
cd /etc
ls
Что, вылетело много букв и не успели прочитать? Нажимаем одновременно Shift+PgUp/PgDown и просматриваем длинный листинг; можно по другому, с использованием команд less/more:
ls | less
- значек "|" перенаправляет вывод одной команды на вход другой; less показывает вывод постранично, по пробелу перелистывает страницу, по q прекращает работуВот среди этого разнотравья в папке network лежат настройки сети, посмотрим, чего там написано:
sudo (потому что папка системная, кому попало в нее писать нельзя) /etc/network/interfaces
Чтобы не надрываться вводом длинных имен файлов/папок в командной строке есть фишка для ускоренного ввода - набираем неск. начальных букв, потом нажимаем
sudo pico /etc/ne
Видим, что система настроила только одну сетевую карту.. настроила - громко сказано, все настройки получать от dhcp-сервера; но если сетевая карта подключена к adsl модему, у которого включен dhcp - то зачем все усложнять?..
Настройки второй сетевой карты надо ввести руками; допустим, что внутренняя сеть имеет адреса 192.168.5.*, а именно наш конкретный компьютер как самый главный традиционно получит первый адрес; дописываем (для того и sudo нужно было) в /etc/network/interfaces след. строки:
auto eth1
iface eth1 inet static
address 192.168.5.1
netmask 255.255.255.0
и сохраняем файл; чтобы изменения вступили в силу, надо перезагрузить сетевую подсистему; программы и скрипты часто (может и всегда, не знаю) лежат в /etc/init.d, надо запустить службу networking, для запуска надо иметь права администратора, так что пишем
sudo /etc/init.d networking restart
Проверим (ifconfig) - в выводе должны присутствовать оба сетевых адаптера, второй (eth1) - c заданным нами статическим ip-адресом
Самое время отвернуться от убунту и настроить остальные компьютеры локальной сети; собственно настройка сводится к тому, что в свойствах сетевых карт надо указать:
IP адрес - любой из диапазона 192.168.5.2 - 192.168.5.254
маска подсети - 255.255.255.0
шлюз по умолчанию - 192.168.5.1
адрес dns сервера - 192.168.5.1
Если компьютеров 1-2, то проще один раз дать им статические адреса; а если их больше и не хочется помнить - тогда можно и свой dhcp-сервер поднимать - но не все же сразу
Итак, настроили сетевую карту windows-компьютера, нажали Старт-Выполнить-cmd
ping 192.168.5.1
и если все нормально - наш интернет-шлюз должен пинговаться! пол-дела уже практически сделано :)
Настройка домашнего интернета (1)
На самом деле я просто собираюсь как-нибудь проапгрейдить свое домашнее хозяйство, а тут оказия потренироваться - так я и модно продвинусь, и руку набью
В общем - как установить Ubuntu и научить ее раздавать интернет в локальную сеть
Я уже хвалился, что у меня для интернета выделен и исправно трудится старенький компьютер, детали на который в свое время мне (или добрым людям, отдавших их мне) просто жалко было выкинуть: сначала это был Celeron-700, с 384 мб памяти и 80 Гб винтом, потом процессор немного улучшился с оказией на Athlon 2000.
Для слабого компьютера и выбиралась в свое время операционка, не помню уже по какой причине, но ею стала Ubuntu.. наверное потому, что когда-то в офисе болтались бесплатные диски с десктопной версией, 7.04 кажется, и один из этих дисков у меня нашелся в нужный момент, так что изначально у меня была десктопная версия 7.04, у которой позже я отключил gui - он мне был не нужен, и тормозной сильно уж был (видео в материнке было встроенное - читай "фуфловое") - и которая как-то со временем (я даже не помню как) проапгрейдилась до 8.04
Когда недавно в одном "дружественном" мне офисе (который платит деньги за то, что у них все работает) обострились проблемы с интернетом, я решил, что им тоже надо поставить убунту - заодно и потренировался в установке серверного варианта последней на сегодня версии - 9.04
Итак, Т.З.: есть компьютер не особой свежести, звезд с неба не хватает, но работает; есть "хороший" интернет ("хороший" = не диалап), т.е. есть смысл его раздавать в сеть из нескольких компьютеров); надо, чтобы
- пользователи сети (секретарша в офисе или жена дома) не задумывались о том, откуда берется интернет, а просто им пользовались
- злые хацкеры не знали, что у нас есть интернет и не делали нам разные гадости
- если у компьютера большой жесткий диск, то пусть на этом компьютере хранятся файлы - видео, семейные фото - да мало ли
- видео в наше время может качатся из инета из пиринговых сетей - пусть этот компьютер и качает его, раз он все время (теоретически) включен - для рейтинга на торрент-трекерах хорошо
- ну додумается по ходу дела..
Начинается все с загрузки с сайта ubuntu.com образа подходящего дистрибутива, для моих целей нужен сервер; качаем, прожигаем на болванку и в зависимости от типа материнской платы как-то загружаемся с этой болванки; если образ не битый и записан без проблем, то начнется установка
Начнется она с выбора языка; при всей любви к великому и могучему я обычно стараюсь обходится английским, исключается ряд проблем, связанных с локализацией и недопониманием в связи с этим:
После выбора языка видим стартовое меню, интересует самый первый пункт - Install Ubuntu Server
Выбрали, начинается установка с вопросов про язык установки, страну пребывания, раскладку клавиатуры - все это я обычно оставляю по умолчанию.
Дальше начинается автоматическое определение сетевых карт; хорошо бы, чтобы при этом сетевая, которая смотрит в интернет, могла его увидеть - т.е. adsl-модем был включен или шнурок от провайдера был воткнут.. хотя все можно настроить и вручную позже:
Скриншот сделан в виртуалке, поэтому и такие названия сетевых карт..
После того, как сетевые карты настроены, надо сказать - как будет называться наша машина и указать временную зону (не знаю, правильно ли - я просто выбираю Central)
Дальше надо разбить жесткий диск; систему можно поставить на пустой жесткий диск, а можно поставить и параллельно существующей операционке (хотя смысл не вижу); в любом случае на жестком диске должно быть немного свободного места: немного - ну например у меня для системы отведено 5 гигабайт и его хватает:
Здесь опять же виден диск, созданный виртуальной машиной; в "реальной жизни" его тип и буквы будут другими
Если диск пустой - выбираем его "целиком" и создаем новые разделы, иначе выбираем свободное место и начинаем его делить: сам не придумал, а прочитал где-то, что есть смысл в 3-х разделах: в "/" живет собственно система, мне хватает для него 5 гигабайт; еще один раздел, размером от 1 до 2 размеров оперативной памяти, нужен для "файла подкачки" наверное?.. для /swap в общем.
Ну и данные пользователей хорошо бы хранить на отдельном разделе (размер которого конечно ограничивает только запросы этих самых пользователей и размер дисков) - тогда систему можно переустановить, не потеряв эти самые данные пользователей..
В любом случае - выбираем нераспределенное место, указываем размер, выбираем тип:
Точно так же добавить swap и /home разделы, только тип раздела стоит указывать не primary, а logical (иначе у кого-то там могут возникнуть проблемы с загрузкой - сам не придумал, где-то прочитал):
Для создания swap в Use as: выбрать "swap area"
Остаток места выделить под /user (инсталлятор уже все предугадал и настроил, надо только с ним согласится):
Когда все место "поделено" - применяем изменения
Идет инсталляция, даже на виртуальной машине это занимает совсем немного времени...
Затем создается новый пользователь, надо ввести полное имя пользователя, логин, 2 раза пароль (установка предупредит, если пароль "слабый"), дальше можно включить шифрование каталога с пользовательскими данными.
Перед подключением к инету инсталлятор запрашивает адрес прокси-сервера, после чего настраивает apt-get, затем предлагает настроить автоматическое обновление системы
Дальше можно сразу установить разные сервисы, хотя я ничего пока не устанавливал (потому что тогда - может быть - будут не очень понятны различные рецепты из интернета по установке/настройке различных служб)
В самом конце устанавливается и настраивается grub, если есть другие операционки, то они будут доступны в меню загрузки.
Все, инсталлятор предлагает вынуть диск из лотка и первый раз перезагрузится
Очередной ремонт закончен..
Наконец спал по людски - не на полу :)
Хотя на полу спать оказалось очень неплохо, да и для спины говорят полезно
Долго возился - раскладывал по плинтусу кабели (2 для сети, 2 для звука тыльного, сетевой, антенный.. еле запихал), зато перенес наконец компьютер "служебный" в кладовку, из остатков крепежа для гипсокартона сделал "корзину", в которой подвесил внутри корпуса в широкой его части 2 ж/диска, напротив поставил 12 см вентилятор для обдува - все таки жара, а работают 24/7 - жалко их..
В кладовке сразу стало намного теплее :( вентиляции там никакой в принципе.. оставляю приоткрытой дверь; зато в комнате (где этот компьютер жил уже года 3 под столом) стало намного тише