/etc/ssh/ssh_host_key
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_dsa_key
Директива ServerKeyBits определяет разрядность ключа сервера для протокола ssh первой версии. По умолчанию используется 768-разрядный ключ (768 бит).
Директива LoginGraceTime аналогична опции –g: предоставляет клиенту дополнительное время, чтобы аутентифицировать себя. По умолчанию время равно 600 секундам. Если за это время клиент не смог аутентифицировать себя, соединение будет прекращено.
Директива KeyRegenerationInterval аналогична опции –k. Она определяет время, спустя которое ключ сервера будет создан заново. По умолчанию время составляет 3600 секунд (1 час).
Директива PermitRootLogin определяет, разрешено ли пользователю root регистрироваться по ssh. Значение по умолчанию:
PermitRootLogin yes
Еще две директивы, имеющие непосредственное отношение к аутентификации — это PasswordAuthentication и PermitEmptyPasswords. Первая разрешает (при значении yes) аутентификацию с помощью пароля, а вторая — разрешает (при значении yes) использовать пустые пароли. Значения по умолчанию:
PasswordAuthentication yes
PermitEmptyPasswords no
Описание остальных опций вы найдете в справочной системе, введя команду man sshd.
8.3.Маршрутизация
Маршрутизацию между сетями можно организовать с помощью команды route или с помощью IpChains. Сейчас рассмотрим более или менее подробно первый случай, а о втором поговорим в гл. 14.
Примечание. IPChains — это средство фильтрации пакетов. Фильтр просматривает заголовок пакета и решает, что делать со всем пакетом. Например, можно указать фильтру, что определенные пакеты должны быть удалены, а некоторые перенаправлены, то есть обеспечить маршрутизацию.
Пусть, у вас есть две сетевые платы eth0 и eth1:
ifconfig eth0 192.168.1.1 up
ifconfig eth0 192.168.2.1 up
и вам нужно обеспечить маршрутизацию между подсетями 192.168.1.0 и 192.168.2.0. С этой целью объявляем, что машины, которые находятся в вашем локальном сегменте 192.168.1.*, «сидят» на первом интерфейсе и общаться с ними нужно напрямую:
route add net 192.168.1.0 192.168.1.1 netmask 255.255.255.0 0
А с машинами с адресами 192.168.2.* будем разговаривать через eth1:
route add net 192.168.2.0 192.168.2.1 netmask 255.255.255.0 0
Последний параметр — это метрика. Ее можно понимать как «расстояние до шлюза-назначения» или «сколько пересадок между шлюзами придется сделать пакету по пути и обратно». Т.к. адреса 192.168.1.1 и 192.168.2.1 являются нашими собственными адресами, то метрика равна 0.
Сетевые пакеты для IP-адресов, которые не лежат в нашей локальной сети, будем отправлять на машину 192.168.1.11, а она сама будет разбираться, что с ними делать:
route add default 192.168.1.11 1
Другими словами, сейчас мы объявили маршрут по умолчанию. Обратите внимание на значение метрики = 1. Как видите, мы все сделали без всяких конфигураторов — все просто и логично.
Сейчас постараемся, как говорится, рассмотреть второй вариант в трех строчках. Допустим, у вас есть те же две подсети — 192.169.1.0 и 192.168.2.0. Постараемся организовать маршрутизацию средствами IpChains:
ipchains –P forward DENY
ipchains –A forward –s 192.168.1.0/24 –d 192.168.2.0/24 –j ACCEPT
ipchains –A forward –s 192.168.2.0/24 –d 192.168.1.0/24 –j ACCEPT
О том, что означают данные три строчки, вы узнаете в гл. 14.
8.4. Настройка DHCP (Dynamic Host Configuration Protocol)
Для чего нужен протокол DHCP? DHCP — это протокол настройки узла, который автоматически назначает IP-адреса компьютерам. По сути, протокол DHCP — это дальнейшее развитие протокола ВООТР. Последний разрешает бездисковым клиентам запускать и автоматически конфигурировать протокол TCP/IP. Протокол DHCP централизовано назначает IP-адреса в вашей сети и автоматически конфигурирует рабочие станции. Возможно, вы подумали, что в одной сети должен быть только один сервер DHCP, потому что в противном случае между серверами возникнет конфликт, а пострадавшим опять окажется клиент, который зависнет при загрузке. А вот и не так — в одной сети может быть несколько серверов DHCP. И это не только не отразится на производительности сети, но даже повысит надежность сети, если, например, один из серверов выйдет из строя.
Итак, установите пакет dhcp и включите поддержку динамических IP-адресов командой
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
DHCP в Linux реализован в виде демона сервера (dhcpd) и демона клиента (dhcpcd). Демон сервера непосредственно отвечает за назначение IP-адресов клиентам, при входе и выходе их из сети. Клиентский демон, как явствует из названия, запускается на стороне клиента.
Конфигурационным файлом для dhcpd является /etc/dhcp.conf. При запуске DHCP-сервера происходит выделение IP-адресов согласно содержащимся в файле /etc/dhcp.conf установкам. Выделенные адреса dhcpd регистрирует в файле dhcpd.leases, который обычно находится в каталоге /var/dhcpd.
Сейчас давайте рассмотрим простейшую конфигурацию, которую будем постепенно наращивать (см. листинг 8.8). Обратите внимание на то что, чтобы внесенные вами в файл /etc/dhcp.conf изменения вступили в силу, демон dhcpd необходимо остановить и запустить снова. При этом используйте команду /etc/rc.d/init.d/dhcpd stop для останова демона, и команду /etc/rc.d/init.d/dhcpd start для его запуска.
Листинг 8.8. Файл /etc/dhcpd.conf# описание сети, указывающее, какая из подсетей будет
# обслуживаться. Указывается сетевой адрес и маска сети
subnet 192.168.1.0 netmask 255.255.255.0 {
# маршрутизатор по умолчанию
option routers 192.168.1.1;
# маска подсети 255.255.255.0
option subnet-mask 255.255.255.0;
# установка домена по умолчанию и сервера NIS, если таковой используется
option nis-domain "domain.ua";
option domain-name "domain.ua";
# адрес DNS-сервера, который будут использовать клиенты
option domain-name-servers 192.168.1.1;
# диапазон адресов для клиентов
# 192.168.1.50-192.168.1.250
range 192.168.1.10 192.168.1.254;
# сказать клиентам, чтобы отдали адрес через 21600 секунд (6 часов)
# после получения адреса
default-lease-time 21600;
# забрать адрес самому через 28800 секунд (8 часов)
max-lease-time 28800;
}
Теперь будем постепенно усложнять конфигурацию. Каждая сетевая карточка имеет уникальный собственный МАС-адрес. Допустим, вам нужно связать какой-то МАС-адрес с определенным IP-адресом. Для этого воспользуйтесь конструкцией host:
host myhost {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.9;
}
Ее нужно вставить в ту конструкцию подсети subnet, которой принадлежит назначаемый IP-адрес. Данная конструкция означает, что компьютеру с аппаратным адресом хх:хх:хх:хх:хх:хх будет назначен IP-адрес 192.168.1.9. Например:
subnet 192.168.1.0 netmask 255.255.255.0 {
# прочие опции
# …
#
host myhost {
hardware ethernet 00:40:C7:34:90:1E;
fixed-address 192.168.1.9;
}
}
Данный пример показывает, что аппаратному адресу 00:40:С7:34:90:1Е будет сопоставлен IP-адрес 192.168.1.9. Обратите внимание, что IP-адрес хоста myhost 192.168.1.9 относится к подсети 192.168.1.0 и включен в инструкцию subnet подсети 192.168.1.0, а не какой-либо другой сети!
Существует довольно удобная утилита для просмотра всех МАС-адресов сетевых адаптеров в вашей сети — программа TCPNetView. Эта программа разработана Александром Горлачем и загрузить ее вы можете по адресу http://www.enet.ru/~gorlach/netview/. Правда, есть одно «но»: эта программа работает под Windows. В любом случае, если вы будете использовать эту программу, при настройке сервера вам не придется подходить к каждому компьютеру, чтобы узнать его МАС-адрес. Существуют также и утилиты под Linux, способные показать сразу все МАС-адреса. Примером может послужить программа Trafshow, которую
Оглавление
-
1 Введение в Linux
-
1.1. Вступительное слово
-
1.2. О Linux
-
1.3. Почему именно Linux?
-
1.4. Область применения Linux-серверов
-
1.5. Как устроена данная книга
-
1.6. Какие сервера бывают и для чего они нужны
-
1.6.1. Сервер локальной сети
-
1.6.2. Шлюз — сервер для доступа в Интернет
-
1.6.3. Сервер удаленного доступа
-
1.7. Что такое сервер? (или Курс Молодого Администратора)
-
1.7.1. Архитектура сети: одноранговая и клиент/сервер
-
1.7.2. Протокол и интерфейс
-
1.7.3. Протокол TCP/IP
-
1.7.4.Системадоменныхимен—DNS
-
1.7.5. Многоуровневая архитектура стека TCP/IP
-
1.7.6. Порты и демоны
-
1.7.7. Структура пакетов IP и TCP
-
1.8. Общие рекомендации
-
1.9. Обзор дистрибутивов Linux
-
1.10. Глоссарий
-
2 Установка системы
-
2.1. Установка Red Hat Linux
-
***
-
***
-
2.2. Установка Linux Mandrake
-
2.3. Установка Linux на компьютер с чипсетом Intel810
-
2.4. Установка нескольких операционных систем
-
2.4.1. Установка Windows 9x и Linux
-
2.4.2. Установка Windows 9x, Windows NT/2000 и Linux.
-
2.4.3. Использование loadlin
-
2.5. Постинсталляционная настройка
-
2.6. Установка программного обеспечения
-
2.6.1.Традиционный способ установки: установка из исходных текстов
-
2.6.2. Программа RPM
-
2.6.3. Программы gnorpm, kpackage, apt
-
2.6.4. Установка из пакетов, содержащих исходный код
-
2.7. Завершение работы операционной системы
-
3 Учетные записи пользователей
-
3.1. Вход в систему
-
3.1.1. Вход в систему под другим именем
-
3.2. Изменение пароля
-
3.3. Идентификаторы пользователя и группы
-
3.4. Создание группы
-
3.5. Удаление и модификация учетных записей
-
3.6. Квотирование
-
3.6.1. Определение ограничений
-
3.6.2. Запрет квоты для пользователя или группы
-
3.6.3. Использование программы linuxconf для определения квот
-
3.7. Сценарий создания пользователей
-
4 Файловая система Linux
-
4.1. Файлы и каталоги. Дерево каталогов
-
4.2. Команды для работы с файлами и каталогами
-
4.2.1. Команды для работы с файлами
-
4.2.2. Команды для работы с каталогами
-
4.3.Ссылки
-
4.4. Стандартные имена устройств в Linux
-
4.5. Стандартные каталоги
-
4.6. Создание файловой системы. Типы файловых систем
-
***
-
4.7. Использование программы fdisk
-
4.8. Программа Disk Drake
-
4.9. Монтирование дисков. Файл/etc/fstab
-
4.10. Создание раздела (файла) подкачки
-
4.11. Использование LILO
-
4.12. Права доступа
-
4.13. Обслуживание файловой системы
-
4.14. Подключение магнитооптического диска
-
4.15. Использование стримера
-
4.15.1. Подключение стримера с интерфейсом SCSI
-
4.15.2. Подключение стримера с интерфейсомFDC
-
4.15.3. Управление стримером
-
4.16. Стратегия резервного копирования
-
4.17. Использование программы cpio
-
4.18. Повышение производительности жесткого диска
-
4.19. Создание массивов RAID
-
4.20. Форматирование дискет в Linux
-
5 Процессы
-
5.1. Системные вызовы fork() и ехес()
-
5.1.1. Общая схема управления процессами
-
5.2. Перенаправление ввода/вывода
-
5.3. Команды управления процессами
-
5.4. Создание расписаний
-
5.5. Уровни выполнения.Программа init
-
5.6. Сценарии загрузки системы
-
5.7. Стандартные файлы протоколов (журналов)
-
5.8. Управление протоколированием
-
5.8.1. Демон Syslogd
-
5.8.2. Сигналы
-
5.8.3. Файл конфигурации
-
5.8.4. Сетевое протоколирование
-
5.8.5. Демон klogd
-
5.8.6. Параметры ядра
-
6 Русификация Linux
-
6.1. Русификация консоли
-
6.2. Русификация системы X Window
-
6.3. Русификация принтера
-
7 Настройка сети
-
7.1. Установка сетевой платы. Настройка параметров сети
-
7.2. Подключение модема
-
7.3. Подключение к Интернет
-
7.3.1. Терминальный способ
-
7.3.2. PAP- и СНАР-аутентификация
-
7.4. Настройка DSL-соединения
-
7.4.1. Настройка соединения DSL в Linux Mandrake
-
7.4.2. Настройка соединения DSL в другом дистрибутиве
-
7.5. Настройка выделенных линий
-
7.6. Перед настройкой сервера
-
8 Конфигурирование сервера
-
8.1. Суперсерверы inetd и xinetd
-
8.1.1. Настройка сервера inetd
-
8.1.2. Настройка tcpd
-
8.1.3. Протокол IPv6
-
8.1.4. Установкаx inetd
-
8.1.5. Настройка xinetd
-
8.1.6. Параметры запуска xinetd
-
8.1.7. Пример файла конфигурации /etc/xinetd
-
8.2. Удаленный доступ: ssh и telnet
-
***
-
8.3.Маршрутизация
-
8.4. Настройка DHCP (Dynamic Host Configuration Protocol)
-
8.5. Подсчет трафика. Программа MRTG
-
***
-
8.6. Сетевая файловая система (NFS)
-
8.6.1. Настройка сервера NFS
-
8.6.2. Настройка клиента NFS
-
8.7. Поисковый сервер ht:/Dig
-
8.8. Прокси-сервер Socks5
-
8.8.1.Установка и настройкасервера
-
8.8.2. Альтернативные серверы Socks5
-
8.8.3. Настройка клиента Socks5 (licq)
-
8.9. Система обнаружения и защиты от вторжения
-
8.9.1. Что такое LIDS?
-
8.9.2. Установка LIDS
-
8.9.3. Базовая настройка
-
8.9.4. Правила доступа
-
8.9.5. Администриров ание LIDS
-
9 Протокол Server Message Block (SMB)
-
9.1. Установка Samba
-
9.2. Настройка файлового сервера
-
9.3. Доступ к SMB-ресурсам из Linux
-
9.4. Доступ к принтеру Linux для Windows-машин
-
9.5. Доступ к Windows-принтеру с компьютеров, работающих под Linux
-
9.6. Пример файла smb.conf
-
9.7. Конфигуратор SWAT
-
10 Служба имен — DNS
-
10.1. Настройка сервера DNS
-
10.2. Кэширующий сервер DNS
-
10.3. Настройка дополнительного сервера DNS
-
10.4. Команды управления сервером DNS
-
10.5. Использование nslookup
-
11 Настройка FTP
-
11.1. Сервер FTP wu-ftpd
-
11.1.1. Файл ftpaccess
-
11.1.2. Файл ftphosts
-
11.1.3. Файл ftpusers
-
11.1.4. Файл ftpgroups
-
11.1.5. Файл ftpconversions
-
11.1.6. Файл xferlog
-
11.2.СерверProFTP
-
11.2.1. Файл /etc/proftpd.conf
-
11.2.2. Ограничение доступа
-
11.2.3. Файл .ftpaccess
-
11.3. Организация анонимного FТР-сервера
-
11.4. Вспомогательные программы
-
11.5. Виртуальный узел FTP
-
12 Сервер Apache
-
12.1. Установка Apache
-
12.2. Файлы конфигураци исервера
-
12.2.1. Файл httpd.conf
-
12.2.2. Конфигурирование Apache с помощью netconf
-
12.3. Каталоги пользователей
-
12.4. Виртуальный HTTP-сервер
-
12.4.1. Виртуальные серверы с идентификацией по имени
-
12.4.2. Виртуальные серверы с идентификацией по IP-адресу
-
12.5. SSL и Apache
-
12.5.1. Установк а SSL
-
12.5.2. Подключение SSL к Apache
-
12.5.3. Генерирование сертификатов
-
12.6. Пример файла httpd.conf
-
***
-
***
-
***
-
12.7. Перекодирование русскоязычных документов «на лету»
-
13 Почтовый сервер
-
13.1. Настройка sendmail
-
***
-
13.2. Аутентификация в sendmail
-
13.3. Настройка почтовых клиентов
-
13.4. Другие программы для работы с электронной почтой
-
13.5. Создание списка рассылки
-
14 Бастионы
-
14.1. Применение IPChains
-
14.2. Настройка IPChains
-
14.3. Различные примеры
-
14.3.1. Пакеты SYN
-
14.3.2. Фрагментация пакетов
-
14.3.3. Пинг смерти
-
14.3.4. IР-спуфинг
-
14.3.5. Фильтрация фрагментированных бомб
-
14.4. Практический пример
-
***
-
14.5. IPTables
-
15 Прокси-сервер SQUID
-
15.1. Что такое SQUID?
-
15.2. Установка SQUID
-
15.3. Настройка SQUID
-
15.4. Запуск SQUID
-
15.5. Формат файла squid.conf
-
15.5.1. Параметры сети
-
15.5.2. Параметры соседей
-
15.5.3. Управление кэшем
-
15.5.4. Протоколирование
-
15.5.5. Параметры внешних программ
-
15.5.6. Списки ACL
-
15.5.7. Параметры доступа
-
15.5.8. Параметры администрирования
-
15.6. Отказ от рекламы. Баннерный фильтр
-
15.7. Разделение канала
-
15.8. Программы для учета трафика
-
15.9. Настройка клиентов
-
16 Установка MySQL
-
16.1. Установка сервера
-
16.2. Клиентская часть
-
16.3. Связка Apache + PHP + MySQL
-
16.3.1. Первый способ: из пакетов RPM
-
16.3.2. Второй способ: из исходных текстов
-
17 Практические примеры. Обратный звонок
-
17.1. Настройка шлюза
-
17.1.1. Настройка ядра
-
17.1.2. Настройка сети
-
17.1.3. Конфигурирование IpChains
-
17.1.4. Настройка DNS
-
17.1.5. Настройка Squid
-
17.2. Настройка Dial-In сервера
-
17.2.1. Установка программного обеспечения
-
17.2.2. Настройка mgetty
-
17.2.3. Настройка ррр
-
17.2.4. Включение IP Forwarding
-
17.2.5. Второй вариант настройки
-
17.2.6. Если что-то не работает…
-
17.2.7. Настройка Windows-клиентов
-
17.2.8. Дополнительная литература
-
17.3. Обратный звонок
-
17.3.1. Что такое callback?
-
17.3.2. Настройка сервера. Способ1
-
17.3.3. Настройка сервера.Способ 2
-
17.3.4. Настройка клиен тов. Способ 1
-
17.3.5. Настройка клиентов. Способ 2
-
18 Компилирование ядра
-
18.1. Параметры ядра
-
18.1.1. Параметры корневой файловой системы
-
18.1.2. Управление RAMDISK
-
18.1.3. Управление памятью
-
18.1.4. Другие параметры ядра
-
18.2. Конфигурирование ядра
-
18.2.1. Processor type and features
-
18.2.2. Loadable module support
-
18.2.3.General setup
-
18.2.4. PnP support
-
18.2.5. Block devices
-
18.2.6. Networking options
-
18.2.7. SCSI support
-
18.2.8. Network device support
-
18.2.9.IrDA, USB support
-
18.2.10. Filesystems
-
18.2.11. Sound
-
18.3. Компилирование ядра
-
19 Полезные команды и программы. Создание RPM-пакетов
-
19.1. Общие команды
-
***
-
19.2. Команды для работы с файлами
-
19.3. Команды для работы с Интернет
-
***
-
19.4. Обработка текста
-
***
-
***
-
19.5. Создание RPM-пакетов
-
19.6. Использование редактора vi
-
19.7. Интерпретатор команд bash
-
19.7.1. Каналы и списки
-
19.7.2. Перенаправление ввода/вывода
-
19.7.3. Подоболочки
-
19.7.4. Переменные и массивы
-
19.7.5. Подстановка команд и арифметических выражений
-
19.7.6. Управляющие структуры и циклы
-
19.7.7. Подстановка переменных
-
19.7.8. Функции
-
19.7.9. Обработка сигналов и протоколирование
-
20 Графический интерфейс пользователя. Система X Window
-
20.1. Установка и запуск системы
-
20.2. Конфигурационный файл XF86Config
-
20.3. Настройка X Window
-
20.4. Конвертирование шрифтов Windows
-
20.5. Оконная среда KDE
-
20.6. Оконная среда GNOME
-
20.7. Настройка Х-терминала
-
21 Linux в игровом зале
-
21.1. Достоинства и недостатки
-
21.2. Выбор аппаратного обеспечения для игрового зала
-
21.3. Установка драйверов для видеокарт nVidia
-
21.4. Установка Windows-эмулятора wine
-
21.5. Запуск игр с помощью эмулятора wine
-
21.6. Средства мультимедиа
-
21.7. Администрирование зала
-
21.7.1. Доступ к Интернет
-
21.7.2. Управление пользователями
-
21.7.3. Ограничение доступа пользователя
-
22 Антивирусная защита
-
22.1. Антивирусные программы
-
22.1.1. Программа DrWeb для Linux
-
22.1.2. Программа AVP для Linux
-
22.2. Проверка входящей и исходящей почты
-
23 Прочие возможности
-
23.1. SATAN
-
23.2. Защита от спама
-
23.3. Ограничение системных ресурсов
-
24 Вместо заключения
-
Приложения
-
Приложение А. Конфигурационные файлы Linux
-
***
-
***
-
***
-
Приложение Б. Общие параметры программ для системы X Window
-
Приложение В. Компактное и нормальное ядра
-
***
-
***
-
***
-
***
-
***
-
***
-
***
-
***
-
Приложение Г. Ссылки
-
***
-
***