Разные заметки

суббота, 21 января 2012 г.

Home Server. Часть 1. Установка ОС. SSH.

Переделываем по новому :)

Приобрел комплектующие для домашнего сервера.
Решил поставить стабильный Debian.
Сервак будет выполнять роль шлюза, ну заниматься закачкой и тп вещами.
Краткий список хотелок (выполненные зачеркнуты):
1. Шлюз-маршрутизатор-файерволл
2. Доступ к серверу по SSH без пароля, по ключам, доступ для root отключен
3. OpenVPN сервер для доступа в домашнюю сеть извне.
4. Кеширующий DNS
5. DHCP для внутренней сети
6. Samba для файлового сервера.
7. Торрент-клиент и качалка
8. Одна-две виртуалки, винда и например Ubuntu. (VmWare Server2 или ESXi)
9. Надо подумать насчет ftp и postfix-a... ftp разве что только для внутренней сети.
10. fail2ban для защиты от шибко умных китайцев-корейцев.




Железо:
MB: ASUS AT3IONT-I NVidia ION iAtom 330, 2xDDR3, SATA, Video, 1xPCI-E16x, GLAN, Mini ITX

  • Intel Atom 330, 1.6 ГГц, два ядра
  • Кэш-память L2 2x512 Кб
  • максимальный суммарный объем 4 Гб, двухканальный доступ к памяти;
  • NVIDIA ION, частоты 450/1200 МГц, разрешение на аналоговом выходе - до 2048x1536, 75 Гц, разрешение на HDMI-выходе - до 1920x1080, 60 Гц, поддержка CUDA и PhysX;
  • 1 слот PCI-E x16
  • 10 портов USB 2.0 (6 - на задней панели, 4 - с помощью планок)
  • звук - Realtek ALC887, 6-канальный
  • 4 порта SATA 3 Gb/s. Поддержка AHCI-режима, RAID 0, 1
  • mini-ITX, 17.1 x 17.1 см (6.75" x 6.75")
  • ОЗУ: две планки по 2048 Мб Kingston DDR3 
HDD три штуки:

  • SATAII 2,5'' WD Caviar Black 250 Гб 7200 об/мин
  • Два SATAII WD 1 Tb

Сеть две карты:
  •  Интегрированная  Realtek RTL8168B chipset
  • Дополнительная TP-Link TG-3468 32bit Gigabit PCIe, Realtek RTL8168B chipset
БП: FSP 500 Вт
  • Тип: Desktop 
  • Форм-фактор: mini-IТХ 
  • Размеры (ШхГхВ): 200 x 365 х 167 мм 
  • Блок питания: Заменил сразу на FSP
  • Размещение блока питания: Горизонтальное
  • Количество разъемов HDD/FDD/SATA: 4 / 1 / 0
  • Количество отсеков 5.25": 1 (Slim) поставил туда 2,5" HDD
  • Количество отсеков 3.5": 2
  • Органы управления и индикации: Выключатель POWER
  • Индикаторы: POWER, HDD
  • Вентиляция: 1 место для вентилятора d80 мм на задней стенке 
  • Отверстия для вентиляции на боковых стенках
  • Защита от несанкционированного доступа: Нет
  • Особенности конструкции: Съемный П-образный стальной кожух
  • Цвет: черный/серебристый.
  • Комментарии: блок питания стандартного размера легко можно заменить на более мощный c вентилятором 80мм.
  • Возможна установка полноразмерной однослотовой видеокарты, имеются два USB выхода на передней стенке, вход под микрофон и линейный выход.
  • Производитель: Codegen Technology Co.Ltd

Установка и настройка.
1. Скачал debian x64 netinstall. Установка минимальная базовая система.
2. В процессе установки разбивка диска (250 Гб):
swap 8Gb - в два раза больше чем количество ОЗУ
/ корень - 15Gb
/usr - 100 Gb
/var - 100Gb
/home - 20Gb
/tmp - 7Gb

3. Поставил в минимальной конфигурации:
$ uname -a
Linux srv93 2.6.32-5-amd64 #1 SMP Thu Nov 3 03:41:26 UTC 2011 x86_64 GNU/Linux

$ cat /proc/cpuinfo
...
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU 330 @ 1.60GHz
stepping : 2
cpu MHz : 1599.800
cache size : 512 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc a rch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx1 6 xtpr pdcm movbe lahf_lm
bogomips : 3200.06
clflush size : 64
cache_alignment : 64
address sizes : 32 bits physical, 48 bits virtual
power management:
$ cat /proc/meminfo 
MemTotal:        3352952 kB

4. После первой загрузки, как обычно:
sudo aptitude update && sudo aptitude upgrade
sudo aptitide install ssh mc
nano /etc/network/interfaces
- прописываем настройки сети

5. Особенности NVIDIA ION:
При загрузке выдается сообщение типа "nForce2_smbus 0000:00:0a.1: Error probing SMB1".
Нашел решение тут:
Для того, чтобы избавиться от этого сообщения, нам необходимо, чтобы ядро при загрузке подгружало модуль lax, само оно почему-то не видит в этом надобности, поэтому нам надо его "заставить".
Открываем с правами рута файл /etc/default/grub
$ sudo nano /etc/default/grub
и находим строчку
GRUB_CMDLINE_LINUX=""
меняем ее на значение ниже
GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax"
После этого нам всего лишь остается обновить конфигурацию загрузчика
$ sudo update-grub
и перезагрузиться.

7. Настройка SSH:
Настраиваем подключение по ключам:
$ ssh-keygen -t rsa -b 4096
добавляем в файл authorized_keys:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Настраиваем права доступа:
$ chmod 700 ~/.ssh
$ chmod 600 .ssh/authorized_keys

Достаем приватную часть к себе на компьютер, сохраняем в секретное место :) и делаем ключ в формате Putty для подключения из под Windows. Результат:
login as: s**************
Authenticating with public key "imported-openssh-key"

Меняем порт подключения с 22 на другой. 22 порт сканируют все кому не лень.
Ну и запрещаем парольную и всякую host-based аутентификацию в sshd_config. 
Привожу весь файл конфигурации без комментариев:

$ cat /etc/ssh/sshd_config  | grep -v '^#' | sed '/^$/d'
Port ###$$$$$##
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      /etc/ssh/.ssh/authorized_keys
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
UseLogin no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
AllowUsers s****** k*****

Итог: по SSH подключиться можно только при наличии файла ключа И только двум пользователям!


8. Настройка окружения:
$ aptitude install most ccze 

$ nano .bashrc

function hilight
{
        ESC=`echo -e "\033"`
        COLORON="${ESC}[1;33m"
        COLOROFF="${ESC}[1;0m"
        if [ -z "$1" ] ; then
                echo "Usage: hilight 'regex' [file1 file2 ...]" 1>&2;
                return 1
        fi
        REGEX="$1"
        shift
        sed -e "s/${REGEX}/${COLORON}&${COLOROFF}/g" $*
}
export MANPAGER="/usr/bin/most"

export LS_OPTIONS='--color=auto --group-directories-first'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

Проверяем:
$ tail /var/log/dmesg | ccze -A    - цветной вывод

$ man man                          - цветной вывод (работает most)

cat /var/log/dmesg | hilight Error | less -R  - слово Error цветное

Пример использования hilight:hilight слово команда



Комментариев нет:

Отправить комментарий