В книге представлены теоретические и практические знания, позволяющие хорошо понимать процессы, происходящие в сети. Рассматриваются сетевые модели, протоколы, адреса, службы, конфигурирование сетевых интерфейсов, настройка серверов FTP, Proxy, INN, Apache, Samba, Mars, обсуждается сетевая файловая система, взаимодействие Linux с другими операционными системами. Описывается конфигурирование локальной сети: сетевые принтеры, шлюз в Интернет, настройка Firewall, учет трафика и т. п. Приведено множество программ, помогающих обслуживать сеть и заботиться о ее безопасности. Рассказано, как создать, настроить и обеспечить надежное функционирование сервера небольшой локальной сети, способного выполнять большинство типовых задач. На прилагаемом компакт- диске находятся последние версии программного обеспечения, рассмотренного в книге.
Для системных администраторов.
Введение. 15
Благодарности. 15
Почему написана эта книга. 16
Для кого написана эта книга. 16
Структура книги. 16
Как со мной связаться. 18
Часть I. Сетевые протоколы и конфигурирование. 19
Глава 1. Сетевые протоколы. 21
Модели сетевых взаимодействий. 21
Терминология. 21
Модель взаимодействия открытых систем (OSI). 23
Модель сетевого взаимодействия TCP/IP. 25
Сопоставление сетевых моделей OSI и TCP/IP. 25
Сетевые протоколы. 25
Семейство протоколов TCP/IP. 26
Протоколы межсетевого уровня (Интернет). 27
Протокол IP. 27
Формат пакета IPv4. 27
Протокол IPv6. 29
Адресация в IPv6. 30
Сетевые пакеты. 30
Маршрутизация пакетов. 31
Протоколы маршрутизации. 31
Адресация в TCP/IP. 32
Протокол адресации ARP/RARP. 34
Протокол ICMP. 34
Протоколы транспортного уровня. 37
Протокол TCP. 38
Протокол UDP. 39
Протоколы уровня приложений. 39
Протокол FTP. 39
Протокол SMTP. 40
Протокол Telnet. 40
Сетевая файловая система NFS. 40
Протокол IPX. 40
Протокол AppleTalk. 41
Протокол NetBIOS. 41
Протокол DECnet. 41
Литература и ссылки. 41
Глава 2. Настройка сети ТСРДР. 43
Конфигурирование сетевых интерфейсов. 43
Настройка локального интерфейса 10. 44
Настройка Ethernet-карты (ethO). 44
Конфигурирование статических маршрутов и маршрута по умолчанию. 45
Использование DHCP. 46
Статический ARP. 46
Настройка DNS. 47
Протокол РРР. 49
Общая информация. 49
Свойства протокола РРР. 50
Составляющие РРР. 51
Функционирование протокола РРР. 51
Поддерживаемое оборудование. 51
Структура пакета протокола РРР. 52
РРР-протокол управления соединением (LCP) 53
Сокращения, используемые при описании протокола РРР. 53
Стандарты, описывающие протокол РРР. 55
Протокол SLIP/CSLIP. 56
Протокол SLIP. 56
Протокол CSLIP. 57
Процесс init. 57
Конфигурационный файл init (/etc/inittab). 59
Основные конфигурационные файлы. 63
Файл rc.sysinit. 64
Файл гс. 65
Файл rc.local. 70
Другие файлы, влияющие на процесс загрузки. 70
Средства тестирования сети и сетевых настроек. 71
Утилита ifconfig. 71
Утилита hostname. 71
Утилита ping. 72
Утилита tracetoute. 72
Утилита агр. 72
Утилита netstat. 72
Утилита TCPd ump. 73
Литература и ссылки. 73
Глава 3. Настройка модемного соединения. 75
Начальные установки. 75
Настройка модема и последовательного порта. 76
Связь с провайдером. 77
Схема организации подключения локальной сети. 77
Организация связи по коммутируемому соединению. 78
Настройка программ. 78
Настройка связи с провайдером. 78
Команды pppd. 80
Настройка diald. 83
Создание скрипта соединения: /etc/diald/connect. 84
Настройка основной конфигурации: /etc/diald.conf. 85
Настройка правил тайм-аутов: /etc/diald/standard.filter. 87
Комплексное тестирование. 87
Настройка сервера входящих звонков (Dial-in). 88
Настройка mgetty. 88
Настройка pppd. 89
Настройка СаПЬаск-сервера. 90
Конфигурация СаПЬаск-сервера. 90
Конфигурация клиентов. 91
Конфигурирование Linux-клиента. 91
Конфигурирование клиента MS Windows. 92
Литература и ссылки. 92
ЧАСТЬ И. СЕТЕВЫЕ СЛУЖБЫ. 95
Глава 4. DHCP. 97
DHCP-протокол. 97
Архитектура и формат сообщений. 97
Режимы выдачи IP-адресов. 98
Параметры конфигурации (поле options). 100
Недостатки DHCP. 100
DHCP-сервер. 101
Файл dhcpd.conf. 101
Файл dhcpd.leases. 104
Пример файла dhcpd.conf. 105
DHCP-клиент. 106
Файл dhclient.conf. 106
Файл dhclient.leases. 108
Литература и ссылки. 109
Глава 5. DNS. 110
Настройка сетевых параметров. 111
Файл host.conf 111
Файл /etc/hosts 111
Файл /etc/resolf.conf. 112
Настройка кэширующего сервера 112
Файл /etc/named .conf. 112
Файл/etc/127.0.0 114
Запуск named. 115
Настройка полнофункционального DNS-сервера. 116
Файл /etc/named .conf. 116
Файл /etc/named/ivan.petrov. 117
Файл/etc/192.168.0 118
Некоторые тонкости. 119
Записи ресурсов (RR) службы DNS. 119
Реверсная зона. 121
Два сервера DNS. 121
Иерархические поддомены. 121
Вторичные DNS-серверы. 121
Используйте серверы кэширования. 121
Инструменты. 121
Литература и ссылки. 122
Глава 6. Почта. 123
Протокол SMTP. 124
Протокол РОРЗ. 124
Протокол IMAP. 125
Формат почтового сообщения. 125
Спецификация MIME. 126
Поле MIME- Version. 126
Поле Content-Type. 127
Поле Content-Transfer-Encoding. 127
Программное обеспечение. 128
Спецификация S/MIME. 128
PGP, GPG. 128
Программа sendmail. 129
Принцип работы. 129
Настройка программы. 130
Тестирование отправки почты sendmail. 131
Тестирование обслуживания по протоколу SMTP. 131
Тестирование обслуживания по протоколу РОРЗ. 135
Программа Postfix. 137
Конфигурационные файлы. 138
Литература и ссылки. 138
Глава 7. Сетевая информационная система NIS (NIS+) и ее конфигурирование. LDAP. 140
NIS. 140
Как работает NIS. 140
Программа-сервер ypserv. 141
NIS+. 141
Как работает N1S+. 142
LDAP. 142
Установка LDАР-сервера. 143
Настройка LD АР-сервера. 143
Формат конфигурационного файла. 143
Ключи командной строки. 149
База данных LDAP. 150
Механизмы баз данных LDAP, объекты и атрибуты. 150
Создание и поддержание базы данных. 152
Утилиты. 154
Slapindex. 154
Slapcat. 154
Ldapsearch. 155
Ldapdelete. 155
Ldapmodify. 156
Ldapadd. 156
Kldap 156
GQ. 156
Взаимодействие программ с LDAP. 156
Литература и ссылки. 158
Глава 8. FTP. 159
Протокол FTP. 159
Представление данных. 159
Тип файла. 159
Управление форматом. 160
Структура. 160
Режим передачи. 160
Управляющие команды FTP. 161
Ответы на управляющие FTP-команды. 161
Управление соединением. 163
Программное обеспечение. 164
Пакет wu-ftp. 164
Команды. 164
Конфигурирование сервера. 166
Файл ftpaccess. 166
Файл ftpservers. 172
Файл ftpconversions. 172
Файл ftpgroups. 173
Файл ftphosts. 173
Файл ftp users. 173
Параметры запуска программ, входящих в пакет. 173
Программа ftpd. 173
Программа ftpwho. 174
Программа ftpcount. 174
Программа ftpshut. 174
Программа fitprestart. 175
Программа ckconfig. 175
Формат файла журнала xferlog. 175
Безопасность. 176
Литература и ссылки. 177
Глава 9. NNTP. Сервер новостей INN. 178
Протокол NNTP. 178
Основные команды протокола NNTP. 181
ARTICLE. 181
BODY. 181
HEAD. 181
STAT. 181
GROUP ggg. 182
HELP. 182
IHAVE . 182
LAST. 182
LIST. 182
NEWGROUPS date time [GMT] []. 183
NEWNEWS newsgroups date time [GMT] [distribution >]. 183
NEXT. 183
POST. 183
QUIT. 184
SLAVE. 184
Сервер новостей INN. 184
Работа пакета INN. 184
Управляющие сообщения 184
Настройка системы INN. 185
Файл active. 195
Файлы базы данных и журналы. 196
Настройка списка получаемых групп новостей. 197
Журналирование пакета INN. 200
Программы пакета INN. 201
Литература и ссылки. 202
Глава 10. Web-cepeep Apache. 204
Конфигурация. 205
Используемые обозначения. 205
Права доступа и свойства объекта. 206
Общие характеристики сервера. 208
Виртуальные серверы. 210
Преобразование адресов. 211
Преобразование HTTP- заголовков. 211
Безопасность. 212
Индекс каталога. 212
Перекодировка (русификация). 213
Файл access.conf. 216
Файл srmxonf. 217
Файл httpd.conf. 217
Настройка виртуальных серверов в файле httpd.conf. 217
Литература и ссылки. 219
Глава 11. Proxy-сервер. 220
Squid. 221
Протокол ICP. 221
Cache digest. 221
Иерархия кэшей 222
Алгоритм получения запрошенного объекта. 222
Конфигурирование пакета Squid. 222
Сетевые параметры. 222
Соседи. 223
Размер кэша. 224
Имена и размеры файлов. 224
Параметры внешних программ. 225
Тонкая настройка кэша. 226
Время ожидания 227
ACL 228
Права доступа 229
Параметры администрирования 229
Параметры для работы в режиме ускорителя HTTP-сервера 229
Разное. 230
Пример конфигурации Squid. 232
Создание иерархии Proxy-серверов. 233
Transparent proxy 234
Ключи запуска Squid 235
Файлы журналов Squid. 236
Файл access.log. 236
Файл store.log. 237
Файл useragent.log. 238
Нестандартные применения. 238
Борьба с баннерами. 238
Разделение внешнего канала. 239
Обработка статистики 240
Программа Squid Cache and Web Utilities (SARG). 241
Программа MRTG. 241
Литература и ссылки. 241
Глава 12. Синхронизация времени через сеть, настройка временной зоны. 242
Сетевой протокол времени. 242
Классы обслуживания. 243
Обеспечение достоверности данных. 243
Формат NTP-пакета. 244
Рекомендуемая конфигурация. 244
Стандарты 245
Сервер xiitpd. 245
Конфигурация сервера. 245
Класс symmetric. 246
Класс procedure-call. 246
Класс multicast. 246
Общие параметры. 247
Обеспечение безопасности сервера. 249
Программы и утилиты, относящиеся к службе точного времени. 250
ntpdate. 250
litpq. 250
ntptrace. 250
xntpd. 251
xntpdc. 251
Публичные NTP-серверы. 251
Клиентские программы для синхронизации времени. 251
UNIX/Linux. 252
Apple. 252
Windows. 252
Литература и ссылки. 252
Часть III. Сетевые ресурсы. взаимодействие с другими операционными системами. 253
Глава 13. NFS — сетевая файловая система. 255
Установка и настройка NFS-сервера. 255
Установка и настройка NFS-клиента. 256
Опции монтирования. 257
Rsize. 257
wsize. 257
soft. 258
hard. 258
timeo=n. 258
retrans=n. 258
Безопасность NFS. 258
Безопасность клиента. 258
Безопасность сервера. 259
Литература и ссылки. 259
Глава 14. Сервер Samba для клиентов Windows. 260
Файл конфигурации smb.conf. 262
Секция [global]. 267
Секция [homes]. 270
Секция [сотт]. 270
Секция [tmp]. 271
Пароли пользователей. 271
Добавление пользователей Samba. 272
Принтеры. 273
Использование ресурсов Samba. 273
Конфигурирование Samba в качестве первичного контроллера домена. 275
Утилиты. 277
SWAT. 277
Webmin. 278
Ksamba. 278
SambaSentinel. 278
Литература и ссылки. 278
Глава 15. Mars — клиентам Novell. 280
Термины, используемые в тексте. 280
Linux и IPX. 282
Файлы в каталоге /ргос, относящиеся к IPX. 282
Linux-утилиты IPX. 282
IPX-клиент. 283
Настройка сетевого программного обеспечения IPX. 283
Проверка конфигурации. 283
Монтирование сервера или тома Novell. 283
Посылка сообщения пользователю Novell. 283
IPX-сервер. 284
Пакет Mars_nwe. 284
Пакет Lwared. 290
I РХ-маршрутизатор. 291
Настройка Linux как клиента печати сервера Novell. 292
Настройка Linux как сервера печати Novell. 292
Пользовательские и административные команды licpfs. 292
Команды пользователя. 293
Утилиты администрирования. 293
Туннелирование IPX через IP. 294
Настройка. 294
Литература и ссылки. 295
Часть IV. На службе. 297
Глава 16. Firewall. 299
Типы брандмауэров. 300
Брандмауэр с фильтрацией пакетов. 301
Политика организации брандмауэра. 302
Фильтрация сетевых пакетов. 303
Фильтрация входящих пакетов. 303
Фильтрация исходящих пакетов. 306
Защита локальных служб. 307
Программа ipchains. 307
Опции ipchains. 309
Символьные константы. 310
Создание правил фильтрации. 311
Удаление существующих правил. 311
Определение политики по умолчанию. 312
Разрешение прохождения пакетов через интерфейс обратной петли. 312
Запрет прохождения пакетов с фальсифицированными адресами. 313
Фильтрация ICMP-сообщений 315
Сообщения об ошибках и управляющие сообщения 316
Противодействие smurf-атакам. 319
Разрешение функционирования служб. 319
Запрет доступа с "неблагонадежных" узлов. 325
Поддержка обмена в локальной сети. 325
Разрешение доступа к внутреннему сетевому интерфейсу брандмауэра. 325
Выбор конфигурации для пользующейся доверием локальной сети. 325
Организация доступа из локальной сети к брандмауэру бастионного типа. 326
Перенаправление трафика. 326
Разрешение доступа в Интернет из локальной сети: IP-перенаправление и маскировка. 327
Организация демилитаризованной зоны. 329
Защита подсетей с помощью брандмауэров. 329
Отладка брандмауэра. 330
Общие рекомендации по отладке брандмауэра. 330
Отображение списка правил брандмауэра. 332
Утилиты. 332
Iptables. 332
Порядок движения транзитных пакетов. 334
Порядок движения пакетов для локальной программы. 335
Порядок движения пакетов от локальной программы. 336
Таблица mangle. 336
Таблица nat. 337
Таблица filter. 337
Построение правил для iptables. 337
Команды ipchains. 338
Критерии проверки пакетов. 339
Общие критерии. 340
TCP-критерии. 341
UDP-критерии. 342
ICMP-критерии. 343
Специальные критерии. 343
Действия и переходы. 345
Действие ACCEPT. 346
Действие DNAT. 346
Действие DROP. 346
Действие LOG. 346
Действие MARK. 347
Действие MASQUERADE. 347
Действие MIRROR. 347
Действие QUEUE. 347
Действие REDIRECT. 347
Действие REJECT. 347
Действие RETURN. 347
Действие SNAT. 348
Действие TOS. 348
Действие TTL. 348
Действие ULOG. 348
Утилиты iptables. 348
Iptables-save. 348
Iptables-restore. 349
Литература и ссылки. 349
Глава 17. Сетевые принтеры. 350
Способы вывода на принтер. 350
Система печати CUPS. 351
Программный пакет LPD. 351
Настройка LPD. 353
Учет ресурсов. 354
Настройка сетевого принтера. 355
Использование принт-сервера. 355
Печать на Ethernet-принтер. 357
Литература и ссылки. 357
Глава 18. Организация шлюза в Интернет для локальной сети. 359
Начальные установки. 360
Связь с провайдером. 360
Схема организации подключения локальной сети. 361
Организация связи по коммутируемому соединению. 361
Настройка программ. 361
Настройка связи с провайдером. 362
Настройка diald. 364
Создание скрипта соединения: /etc/diald/coimect. 365
Настройка основной конфигурации: /etc/diald.conf. 367
Настройка правил тайм-аутов: /etc/diald/standard.filter. 368
Комплексное тестирование. 368
Организация связи по выделенному каналу. 369
Настройка связи с провайдером. 369
Комплексное тестирование. 370
Защита локальной сети. 371
Установка Proxy-сервера. 371
Transparent Proxy. 371
Борьба с баннерами. 372
Разделение внешнего канала (ограничение трафика). 372
Мониторинг загрузки каналов. 373
Программа MRTG. 373
Конфигурирование MRTG. 373
Программа RRDtool. 377
Подсчет трафика. 377
Литература и ссылки. 378
Глава 19. Учет сетевого трафика. 380
Простой учет трафика. 380
Учет трафика при помощи net-acct. 385
Naccttab. 385
Nacctpeering. 387
Литература и ссылки. 388
Глава 20. Виртуальные частные сети. 389
Протокол IPSec. 390
VPN-сервер FreeS/WAN. 391
Ipsec. Conf. 392
Ipsec. Secrets. 393
MS Windows NT VPN (PPTP). 394
Linux РРТР-сервер. 395
Linux PPTP-клиент. 396
Литература и ссылки. 396
Глава 21. Бездисковые компьютеры. 397
Что такое бездисковый компьютер. 397
Преимущества использования бездискового компьютера 397
Недостатки использования бездискового компьютера. 398
Области применения. 399
Процесс загрузки бездискового компьютера. 399
Предварительные действия. 400
Установка и настройка программного обеспечения на сервере. 401
Linux-клиент. 401
Создание загрузочного ПЗУ (загрузочной дискеты). 402
Настройка сервера. 403
Конфигурация клиента. 404
Windows-клиенты. 404
Установка и настройка программного обеспечения на клиенте. 405
Создание загрузочного образа дискеты. 407
Загрузка бездисковой машины. 407
Оптимизация бездисковой загрузки. 408
Литература и ссылки. 411
Часть V. Утилиты администрирования и обеспечения безопасности. 413
Глава 22. Доступ к удаленным компьютерам. 415
Telnet. 415
Протокол Telnet. 415
Команды Telnet. 417
Программа-клиент telnet. 418
Программа-сервер telnetd. 419
Применение Telnet и безопасность. 419
Семейство г-команд. 420
Команда rlogin. 420
Команда rsh. 420
Команда гср. 420
Команда rsync. 420
Команда rdist. 420
Применение r-команд и безопасность. 421
SSH и OpenSSH. 421
Принцип работы SSH. 421
OpenSSH. 422
Конфигурирование OpenSSH. 422
Ключи запуска сервера SSH. 428
Ключи запуска клиента SSH. 428
Программы, входящие в пакет OpenSSH. 430
Программа ssh-keygen. 430
Программа ssh-agent. 431
Программа ssh-add. 431
Программа sftp. 431
Программа scp. 432
Программа ssh-keyscan. 433
Литература и ссылки. 434
Глава 23. Обеспечение безопасности и администрирование сети. 435
Расширенное управление доступом к файлам. 435
Установка Linux ACL. 436
Установка и изменение прав доступа. 437
Шифрование трафика. 438
Stunnel. 439
Установка. 439
Организация шифрованного туннеля. 439
Stunnel и приложения, поддерживающие SSL. 440
Сертификаты. 440
Утилиты сканирования и защиты сети. 441
SATAN. 441
Portsentry. 442
Установка и настройка. 442
Запуск. 444
Сетевая статистика. 444
NeTraMet. 444
Ключи запуска NeTraMet. 445
Ключи запуска NeMaC. 445
Протоколирование. 445
Демон syslogd. 446
Параметры запуска. 446
Файл конфигурации. 446
Сетевое протоколирование. 448
Демон klogd. 448
Зашита системы после взлома. 449
Rootkit. 449
Обнаружение rootkit. 451
Сканирование портов. 451
Использование RPM. 451
Сканер для rootkit. 452
После обнаружения. 452
LIDS. 453
Установка. 453
Конфигурирование LIDS. 455
Способности. 455
Правила доступа. 458
Tripwire. 459
Portsentry. 460
LogSentry. 460
AIDE. 460
RSBAC. 460
Security-Enhanced Linux. 461
Литература и ссылки. 461
Приложение 1. Литература. 463
Приложение 2. Ссылки. 466
Приложение 3. Описание компакт-диска. 473
Предметный указатель. 477