Руководство начинающего пользователя Linux.
(Оно же "Руководство новичка - администратора Linux",
оно же - "Linux Newbie Administrator Guide" или просто LNAG).

Версия 0.193 2002-12-14 by Stan, Peter and Marie Klimas.
Оригинал на английском языке находится по адресу http://sunsite.dk/linux-newbie.
Updated: 1.02.03. Переведено - ~77 %. Текст еще не прошёл литературную обработку :).
Все комментарии / исправления / сообщения по поводу перевода принимаются на [email protected].

Copyright (c) <1999-2002> Peter and Stan Klimas. Your feedback, comments, corrections, and improvements are appreciated. Send them to [email protected]. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0, 8 or later http://opencontent.org/openpub/ with the modification noted in lnag_licence.html.

Главная | 0. Преимущества Linux | 1. Перед установкой | 2. Помощь | 3. Основы работы | 4.1. Способы загрузки
4.2. Накопители | 4.3. X Window System | 4.4. Конфигурации | 4.5. Работа в сети | 5. Команды | 6. Программы

Часть 4.5: Работа в сети. Перевод - Константин Фирсов, Roman Kukushkin.
[переведено полностью].

Содержание этой главы:
4.5.1 Стоит ли установка домашней сети затраченного времени?
4.5.2 Как установить домашнюю сеть?
4.5.3 У меня проблемы с конфигурированием удаленного соединения ppp
4.5.4 Как просмотреть сеть с моего сетевого компьютера без модема?
4.5.5 Как пользоваться Samba?
4.5.6 Sendmail
4.5.7 Простой WEB-сервер (используем Apache)
4.5.8 Простой ftp-сервер
4.5.9 Как получить доступ к моему компьютеру извне, когда я подключаюсь к сети через телефон?
4.5.10 Может ли мой компьютер быть взломан?

4.5.1 Стоит ли установка домашней сети затраченного времени?

Это - замечательная идея. Это позволяет использовать имеющиеся машины более производительно, чем по отдельности. Преимущества - общие жесткие диски, zip-дисководы, CD-дисководы, модем, принтеры, даже звуковые карты, возможность исполнять программы удаленно (в текстовом и графическом режиме), и работать в Интернете на всех компьютерах через одно телефонное соединение. Если вы потеряли контроль над собственной машиной, вы еще можете перезагрузить ее удаленно и избежать возможных проблем -- смотрите ответ на вопрос "Отключение" для дополнительной информации.

4.5.2 Как установить домашнюю сеть?

Железо. Ваша аппаратура должна быть сконфигурирована должным образом. Ваша сетевая карта должна распознаться при начальной установке Red Hat. Если вы добавите Вашу сетевую карту позже, есть шансы, что она распознается и будет автоматически сконфигурирована при следующей загрузке (с помощью программы kudzu). Если этого не произойдет, вам может потребоваться установить ее вручную. Если у вас больше одной сетевой карты в компьютере, вам может потребоваться устанавливать настройки сетевой карты вручную, поскольку Linux может распознать только одну сетевую карту.
Под Linux большинство драйверов сетевых карт входят в дистрибутив в виде пакетов. Так что установка сетевой карты сводится к установке соответствующего пакета с необходимыми параметрами. Вам не придется ни перекомпилировать ядро, ни перегружать компьютер (за исключением того случая, если у вас совсем необычная карта). Чтобы разобраться, какие модули и параметры вам нужны, желательно обратиться к документации, поставляемой вместе с исходными текстами ядра:

less /usr/src/linux-2.4/Documentation/networking/net-modules.txt

Если потребуется, вы можете получить список всех модулей, доступных вашему ядру:

modprobe -l | more

Если потребуется дополнительная помощь, смотрите Руководство Сетевого Администратора Linux (Linux Network Administrator Guide) (файл /usr/share/doc/LDP/nag в вашей системе или http://metalab.unc.edu/mdw/index.html#guide). Это превосходное руководство известно как nag.

Есть много способов добавить модуль в ядро. Для сетевой карты, проще всего запустить, как "root", netconf и определить имя модуля там. Альтернатива состоит в запуске X-терминала, выполнении "su" (чтобы сделать себя "root"), и после этого нужно выполнить /usr/bin/kernelcfg.

В большинстве случаев вам не придется устанавливать параметры (IRQ и адрес) для вашего модуля -- модуль будет знать, какими они должны быть. Между тем, параметры были проблемой при установке двух сетевых карт на одном компьютере -- вы должны удостовериться в отсутствии конфликтов. Главным источником проблем бывает желание видеокарты работать с IRQ 5, которое занято звуковой картой, или IRQ 3, что конфликтует с последовательным портом (COM2, cua1, ttyS1). Просмотр файла /proc/interrupts, /proc/ioport и чтение загрузочных записей может помочь.

Например, моя карта WD8013 (то же что и SMC Elite и SMC Elite plus, упомянутые в nag) работают с IRQ 10 (установлено переключателем на карте и я опредилил это IRQ при установке модуля в ядро), под адресом 0x300, модуль "WD" . Моя карта "SMC EtherEZ" (без переключателя на карте) работает с IRQ 9, адрес 0x240 и модуль "SMC EtherEZ". Пожалуйста, убедитесь, что вы не забыли указать "0x" в адресе -- это означает "(шестнадцатерично-десятичный)hexadecimal" -- иначе адрес будет воспринят как десятичный.
После того, как модуль добавлен, просмотрите файл /proc/modules, чтобы увидеть, что модуль действительно загружен (или выполните lsmod как "root"). Файл конфигурации модулей - /etc/modules.conf, так что, если вы испытываете трудности (например, я испытываю трудности с удалением модулей, установленных с ошибкой), отредактируйте его вручную (например, используя pico).
Конфигурирование сети. После установки сетевых карт и кабелей, установите сеть, выполнив (как "root"):
netconf
Эта программа может помочь! Netconf может работать и в графическом режиме, но сам я не пробовал. Если вам требуется лучше понять работу сети, вы можете почитать ранее упомянутый nag. Кроме того, чтение следующих материалов можеет быть полезным: http://ieee.uow.edu.au/~mjp16/wylug-netlinux/notes.html.
Эти материалы содержат ясные примеры организации малой офисной сети, похожей на домашнюю, имеющую нерегулярную связь с внешним миром.

Что и как заполнять в netconf, зависит от вашей сети. Вы, конечно, захотите заполнить "Основную информацию о главном узле(Basic Host Information)" (разрешить первый сетевой интерфейс, eth0, заполнить имя, псевдонимы и IP-номер вашего компьютера) и "Информацию о других узлах (Information About Other Hosts)" (имена, псевдонимы и IP-номера других компьютеров вашей домашней сети). Эта информация пойдет в файлы: /etc/hosts и /etc/sysconfig/network, так что вы можете провести там инспекцию и исправить что-нибудь вручную.

Когда установите сеть, не запутайтесь с "loopback driver", который имеет IP 127.0.0.1. Он всегда там -- это IP, через который компьютер разговаривает сам с собой.
Если у вас нет IP-адреса (что весьма типично для небольшой сети без связи с внешним миром), вы можете захотеть сочинить его. Это не так важно, поскольку при соединении с внешним миром через модем вам будет присвоен динамический IP-адрес (у машины может быть много IP-адресов). Ваш изобретенный IP должен быть формально правильным и сетевая маска должна совпадать с классом сети(класс A, B or C). Смотрите главу об IP адресах в уже упоминавшемся Руководстве Сетевого Администратора (nag) (/usr/doc/LPD/nag в вышей системе, если у вас до сих пор его нет, скачайте по адресу http://metalab.unc.edu/mdw/index.html#guide.
Для домашней сети, вам может подойти сеть класса C (до 254 машин, или меньше) IP-номер которой начинается с трех цифр между 192 и 223. Последние три цифры однозначно определяют компьютер в вашей сети класса C и должен быть между 1 и 254 (не используйте 0, это значит "вся сеть" и 255, что означает "широковещательный адрес"). Между этими двумя значениями(от 0 до 255) вы можете выбрать любое. Так, 223.223.223.1 - это первая машина в сети класса C 223.223.223.0 (последний 0 означает "вся сеть"), с широковещательным адресом 223.223.223.255. Сетевая маска для сети класса C всегда 255.255.255.0 (если ваша сеть не будет разделена на несколько подсетей, но это здесь не обсуждается).

Возможно, что вместо изобретения IP-адреса безопаснее/лучше использовать один из адресов для "частных сетей". Для меня IP-адрес 192.168.1.1 работает совершенно замечательно. Таким образом, ваш IP-адрес гарантирует отсутствие конфликтов с IP-адресами, которые могут существовать в Интернете.

Обычно первая машина в сети предполагается для присоединения к внешнему миру (поскольку она присоединяется первой, но стандарта на этот счет нет). Например, я занял под шлюз (GATEWAY) адрес xxx.xxx.xxx.1 (моя первая машина) на всех машинах, кроме самой xxx.xxx.xxx.1, где я оставил это поле чистым. В действительности, несмотря на то, что я оставил это поле пустым, netconf добавил шлюз(gateway) 0.0.0.0 в мой файл /etc/sysconf . Это было источником досадных сообщений об ошибке в процессе загрузки сетевой карты при старте системы. Чтобы убрать сообщения, я редактировал /etc/sysconfig/network и установил их примерно так:
GATEWAYDEV=
GATEWAY=
[Вам не нужен шлюз(gateway) на вашем ethernet-интерфейсе на этой машине, если он не ведет к внешнему миру. PPP-интерфейс на этой первой машине должен быть установлен как шлюз(gateway), раз уж вы используете модемное соединение, например kppp.]
Имя компьютера полностью произвольно -- обычно выбирается любое короткое слово на ваш вкус. Имя домена также произвольно, если у вас нет постоянного соединения, иначе вам придется регистрировать его. Постарайтесь изобрести что-нибудь, отсутствующее в сети -- это облегчит вам жизнь.
Для DNS(domain name server - сервер имен доменов), называемого так же "named" = name daemon(сервис имен), RedHat 5.2 и 6.0 идут с DNS, предустановленным "Только для кэширования(caching-only)" для облегчения конфигурирования. Вы также можете выбрать "не использовать локальный DNS", поскольку если ваш локальный DNS ищет "внешний" сервер и не находит его, машина может зависнуть в течении нескольких минут. Для использования DNS, сервис "named" должен быть разрешен(enabled) -- проверьте это, выполнив setup. Для установки DNS "только для кэширования(caching-only)", заполните соответствуюшие поля netconf. Например, я заполнил "nameserver 1" для моей первой машины на всех компьютерах (Я ввел кольцевой (loopback) адрес 127.0.0.1 на машине xxx.xxx.xxx.1, и адрес xxx.xxx.xxx.1 на всех остальных машинах).
Моей сети не требуются пути(routes) к другим сетям, поскольку у меня нет другой локальной сети. Поэтому я оставляю поле пустым.
После правильной уствановки аппаратуры и заполнения информации в netconf на каждом компьютере, как описано выше, мне просто больше нечего делать в стандартном Red Hat для того, чтобы сеть заработала.
Перезагрузите все компьютеры один за одним в любом порядке (это не обязательно, но не повредит) и посмотрите сообщения загрузки (если они прошли по экрану слишком быстро, используйте <Shift><PgUp> чтобы вернуть их, или запустите dmesg из командной строки, чтобы посмотреть их позже). Правильно ли установлены ваши сетевые карты? Используйте команду route (как "root"), чтобы увидеть, что интерфейс eth0 работает. Используйте команду ping для проверки соединений между машинами. Попробуйте войти на ваш компьютер, используя telnet, чтобы убедиться, что ваш кольцевой (loopback-only (lo)) интерфейс работает:
telnet name_of_the_machine_you_are_sitting_at
После удачного входа в систему, вы можете покинуть сессию telnet, напечатав
exit
Наконец, попробуйте войти через telnet на другой компьютер вашей сети:
telnet name_of_a_remote_machine
Если это сработало на всех машинах, то ваш сетевой интерфейс eth0 установлен.
После установки ppp и подключения к Интернет-провайдеру, вы получите другой интерфейс (ppp0) и доступ к другим машинам всемирной сети.

4.5.3 >У меня проблемы с конфигурированием удаленного соединения ppp

GUI. На вашем месте я установил бы kde и использовал kppp. kppp весьма прост в конфигурировании и использовании. Чтобы установить удаленное соединение ppp, запустите kppp (Выбрав в "K"-меню "Internet", или из xterm напечатав kppp), нажмите клавишу "setup", создайте account и заполните необходимую информацию: номер телефона (telephone number), протокол аутентификации (authentication protocol), имя домена вашего провайдера (Internet Service Provider's (ISP)) и номер DNS вашего провайдера. Вся эта информация должна быть предоставлена вам вашим провайдером.
Далее, я проверяю наличие /dev/modem и размещение его на правильном порте. Если необходимо, я создаю его, как символическую ссылку на /dev/ttyS1 (как "root"):
ls -l /dev/modem
ln -s /dev/ttyS1 /dev/modem
ttyS1 должен работать, если ваш модем находится на порте, который DOS называет COM2. Используйте ttyS0 для COM1, ttyS2 для COM3 и ttyS3 для COM4. Модем не заработает, если порт выбран неправильно. Для нестандартных установок смотрите команду setserial.
Со старыми версиями kppp, вы можете получить сообщение об ошибке "занято" ("lock"). Убедитесь что файл /etc/ppp/options пуст, отредактировав его (как "root"):
pico /etc/ppp/options
и удалив "lock", сохраняя файл. Этой проблемы нет в более современных версиях kppp.
RedHat 6.0 требует дополнительного шага: установки "suid" ("(Идентификатора замещающего пользователя)substitute user id") чтобы "kppp" исполнялся всеми пользователями с эффективными правами "root" (это требуется для прямого обращения к аппаратуре). Без этого, kppp заявит что он "неправильно установлен (was not properly set up)" и "не может создать файл блокировки(can't create lock file)". Это делается так (как "root"):
cd /usr/bin/
chmod a+s kppp
Решение проблем. Если ваш модем отказывается работать с портом, удостоверьтесь, что он выбран правильно. Может быть, модем настроен неправильно. (А вдруг это "winmodem"? Тогда выкиньте его подальше и купите настоящий модем).

Например, в одном случае, мне пришлось менять установки kppp, редактировать "команды модема(modem commands)" и ввести ATZ1 как "строку инициализации(initialization string)" (вместо обычной для стандартных модемов ATZ). По-другому этот конкретный модем работать не хотел.

Если в вашей телефонной сети принят импульсный набор (а не тоновый), вам может потребоваться заменить команду дозвона "ATDT" (="ATtantion Dial Touchtone") на "ATDP" (="ATtantion Dial Pulse"). Эта команда сработает на любом стандартном модеме.
Если дозвон прошел нормально и вы получили соединение(connect), но авторизация(вход в систему) провалилась, то, может быть, ваш провайдер использует другой протокол авторизации(autentification protocol). Позвоните ему и спросите, какой протокол авторизации он использует. Или попробуйте "pap", "terminal-based" или "chap" (в установках kppp), пока не найдете подходящий.
В одном случае, я заполучил проблему с надежностью установления соединения (Выскакивало сообщение об ошибке, что-то вроде: "Время истекло для запуска pppd(time-out for the pppd startup)", и соединение устанавливалось не с первой попытки).Проблема была решена изменением параметра "flow control" (в установках kppp под "device") с "CRTSCTS" на XON/XOFF. (Несмотря на это, в большинстве случаев, flow control все равно является наиболее рекомендованным методом для CRTSCTS.)

Случайное рассоединение (после нескольких удачных соединений) может иметь много причин. (1) Это может происходить по причине падения сигнала "терминал данных готов (data terminal ready)" (DTR) или сигнала "несущая частота (carrier)" - например, из-за посторонних шумов на линии. Большинство модемов реагирует на это зависанием. Чтобы изменить это распространенное поведение, вам может понадобиться добавить к вашей "строке инициализации модема (modem initialization string)" что-то вроде S10=50 . Это установит устойчивость к потере DTR (на 0.01 секунды) после чего зависание неизбежно (сверьтесь с Вашим руководством к модему, модемы "US Robotics" хотят видеть что-то вроде S25=200). (2) Установка на "ожидание звонка" в вашей телефонной линии может вызвать рассоединение, если кто-то позвонит вам . (3) Старые телефонные кабели и грязные/ржавые телефонные розетки так же являются постоянным источником проблем. Проверьте соединения и поменяйте кабели, если нужно Уберите кабели подальше от источников электронных шумов. (4) Слишком высокая скорость для ваших деревенских длинных и шумных телефонных кабелей. Сбросьте скорость (или переезжайте в город). (5) Многие провайдеры отключат вас после некоторого периода бездействия (30 минут?).

Если у вас все еще есть проблемы с установкой ppp, вы можете попробовать minicom чтобы увидеть, сможет ли ваш модем работать из-под него. Minicom - это нечто вроде PROCOMM для Linux. Он должен быть в вашей системе, если вы не отменили его выбор при начальной установке RedHat. Вот выдержка из группы новостей comp.os.linux.help, обьясняющая, как запустить ppp вручную, используя minicom (сокращено):
From: mark <[email protected]> Subject: Re: Проблема с pppd и kppp
BachuZ wrote:
>>Кроме того, для эксперимента, попробуйте добраться до вашего провайдера, запустив ppp вручную ... это докажет ошибочность скрипта. >А как мне это сделать?
Просто!! Но если ваш провайдер не поддерживает ручной авторизации(manual logon), вы будете в затруднении. Правда, все провайдеры, с которыми я имел дело, предоставляют такую возможность. Так что.. 1. Запустите minicom. 2. Соединитесь с провайдером(Dial ISP). 3. Представьтесь (log in). 4. После того, как ваш провайдер запустит PPP, покиньте minicom при помощи ALT-Q (эта последовательность нужна для того, чтобы 'покинуть без сброса (quit without reset)'). 5. Запустите pppd, например:
pppd -d -detach /dev/modem 115200 &
OK, PPP должен заработать. Попробуйте команду ping с любым известным вам IP-адресом. Это покажет, что все OK. Между прочим, все это есть в PPP-HOWTO. Если вы смогли добиться запуска PPP таким образом, тогда все ваши проблемы - в скрипте. Если PPP не работает, у вас проблемы с конфигурацией PPP. Будьте здоровы.
Командная строка. Если вы предпочитаете запуск ppp из командной строки, используйте netconf (как "root") для конфигурирования вашего первого интерфейса ppp (ppp0). Информация, которую вам придется ввести, подобна той, что вы вводили при настройке kppp (смотри выше!): Устройство, соответствующее модемному порту, строки инициализации модема и дозвона, номер телефона провайдера, протокол авторизации (вводом имени пользователя и пароля в правое поле). В более старых версиях, netconf не отводит места для IP - адресов провайдера и сервера DNS, так что я редактировал /etc/ppp/pap-secrets (Я использую PAP-протокол авторизации) и добавлял два DNS IP адреса в конец установочной строки созданной netconf, чтобы это выглядело примерно так:
# added by linuxconf
my_login_name ppp0 my_password 111.111.111.111 222.222.222.222
Когда с установками закончено, я могу запустить интерфейс ppp0, используя команду (как "root", если в netconf не было указано, что нормальный пользователь может запустить интерфейс):
ifup ppp0
и завершить его:
ifdown ppp0
Установка ppp-соединения из командной строки не сложнее запуска kppp и более надежно. Есть много командных файлов для запуска/остановки ppp, но они, несомненно, не столь просты в установке и использовании, и новички могут получить с ними большое количество проблем. Неудачное соединение ppp может быть устранено с помощью (как "root"):

killall pppd

Если эта минимальная установка ppp у вас не сработает, вот несколько полезных ссылок:

Roderick A. Anderson < [email protected] > wrote:

У меня есть страница по diald для работы с RedHat Linux 5.x, который работает у меня - http://home.altoplanos.net/~raanders/diald.html

Bill Unruh < [email protected] > wrote:
Я просто хотел обратить ваше внимание на: http://axion.physics.ubc.ca/ppp-linux.html для детальных инструкций по установке ppp. Это - для случаев, в которых удаленный пользователь (может быть без провайдера как вы оворили.) PAP или CHAP. Пока kppp полезно, но в ряде случаев он может провалиться.

4.5.4 Как просмотреть сеть с моего сетевого компьютера без модема?

Другой компьютер вашей сети должен иметь модем (или другое Интернет-подключение) :-). Установите IP-маскарадинг. Таким образом, все запросы из вашей сети к провайдеру будут распознаваться им, как запросы от одного компьютера, и ваш провайдер их пропустит.

На REDHAT 5.2, простой маскарадинг осуществляется одной командой (на компьютере с модемом):

/sbin/ipfwadm -F -p m
Это устанавливает маскарадинг, как основную политику пересылки для IP-файервола, и следовательно, это небезопасно из-за возможных разрешений для домашних пользователей. (Опасность в том, что если кто-нибудь взломает ваш компьютер, то он сможет прикрыться вашим именем. И что бы он после не сделал, вы можете оказаться крайним. Хакер может так же установить в вашей системе обратный путь к себе, как "tunnel" назад, чтобы скрыть свою идентификацию от вас .) Для большей информации, смотрите файл /usr/doc/HOWTO/mini/IP-Masquerade. Более безопасный метод указан здесь:
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.1.1/32 -D 0.0.0.0/0
ipfwadm -F -a m -S 192.168.1.3/32 -D 0.0.0.0/0
ipfwadm -F -a m -S 192.168.2.0/24 -D 0.0.0.0/0
Это устанавливает основную политику в "запрет(deny)" и, в качестве исключения, маскирует две машины с IP-номерами 192.168.1.1 и 192.168.1.3. Это , кроме того, маскирует все машины из сети 192.168.2.0. Номер /32 установлен для соединения точка-к-точке(point-to-point) (это значит "машина-к-машине"), параметр /24 указывает на сеть класса C. Параметр -D 0.0.0.0/0 указывает основной путь по умолчанию, который замаскированные машины будут использовать для обращения к Internet.
На REDHAT 6.0 имя команды ipfwadm-wrapper (вместо ipfwadm), и я должен был использовать более безопасный метод (установка маскарада в качестве основной политики похоже более не работала в моей системе). Кроме того, с более новыми ядрами (2.0.34 и позже) пересылка запрещена по умолчанию и должна быть включена:

echo "1" > /proc/sys/net/ipv4/ip_forward

Действительно, ipfwadm-wrapper - это обертка(wrapper), поскольку она позволяет мне использовать старые правила настройки политик файервола, используя новый код ядра файервола. Возможно что-то вроде этого у вас будет работать лучше:

ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/24 -j MASQ

Если бы вам хотелось, чтобы эти команды всегда выполнялись в вашей системе, при старте добавьте эти строки в конец /etc/rc.d/rc.local. Этот файл чем-то похож на AUTOEXEC.BAT в DOS. И как всегда, рекомендуем просмотреть информацию об этих командах и других их параметрах:
less /usr/doc/HOWTO/mini/IP-Masquerade
man ipfwadm
man ipchains

В REDHAT 7.1 (KERNEL 2.4.x) файервол можно настроить с помощью команды iptables. Вы можете использовать ipchains, если не используете iptables в то же время. Можно использовать ntsysv, чтобы убедиться, что ipchains разрешен, и iptables отключен.

4.5.5 Как использовать Samba?

Samba (smb) предназначена для сетевого обмена Linux-MS Windows. Эта программа маскирует компьютеры Linux под MS Windows NT server, что позволяет компьютерам с MS Windows 3.1/95/98 присоединяться к сети. Samba не просто заменяет WinNT -- она делает работу лучше, чем WinNT!
Одна из машин моей домашней сети может быть загружена как в Linux, так и в Win95. Я сконфигурировал мою сеть так, что если я загружаю Win95, другая Linux машина действует как Samba-server. Таким образом, машины с Win95 могут работать с сетевым принтером и разделяемыми директориями Linux, могут использовать telnet, смотреть Internet через модем Linux-машины, etc. Кроме того, есть возможность просмотра файлов на машине Win95 с компьютеров Linux.
Необходимо сконфигурировать Samba только на одной Linux-машине.
Во-первых, я запустил setup как "root", выбрал "System Services" (RH6.0) или "ntsysv" (RH5.2) из меню, и убедился, что сервис "smb" разрешен. (Программа setup даст подсказку, если нажать F1. В случае, если вам захочется узнать для чего нужны остальные сервисы.) Если smb здесь не указан, то, может быть, вы не указали его при установке RedHat? Тогда вставьте RedHat CD в CDROM, смонтируйте CD, запустите установочную утилиту glint (RH5.2) или gnorpm (RH6.0) (как "root") и добавьте Samba в вашу систему.
Во-вторых, конфигурируем Samba. Это сравнительно просто, поскольку конфигурация Samba содержится в одном, хорошо комментированном файле: /etc/smb.config . Минимальные установки содержат только имя сетевой группы. Заметьте, что если вы не заполнили параметр "host allow", все хосты будут разрешены, это может быть хорошо для домашней сети. Другие параметры /etc/smb.conf , поставленного на вашем RedHat CD, могут понадобиться для удовлетворения ваших особых нужд, но их не обязательно изменять для того, чтобы Windows-машины присоединялись к Samba-серверу.
Проверьте, что параметры
domain master = yes
domain logons = yes
разрешены в /etc/smb.conf. Возможно это вам понадобится.
Под RH6.0, вы можете выполнить основные настройки samba, используя (как "root"):
netconf
В третьих, конфигурируем MS Windows для работы в сети. Это происходит почти так же, как и при подключении к WinNT server. Убедитесь, что вы разрешили работу в сети ("client for Microsoft Network") и заполнили имя рабочей группы. При загрузке MS Windows, используйте имя и пароль пользователя Linux. Если это сработало, щелкните по ярлыку "Network Neighborhood"-- ваш сервер Linux должен быть указан там, и в нем будут все директории и принтеры, которые вы выбрали в /etc/smb.conf.
Если вы не видите или не можете использовать директории, убедитесь, что создали их и разрешили чтение/запись для пользователей.
MS Windows 95b и выше (95c, 98, и новые NTs) могут использовать шифрование паролей. Это может привести к ошибке аутентификации на машине Windows, и вам может потребоваться разрешить этот параметр в файле /etc/smb.conf:
encrypt passwords = yes
На сервере Linux, вы можете запускать, останавливать, перезагружать и проверять состояние Samba, используя команды (как "root"):
samba start
samba status
samba restart
samba stop
Вам потребуется перезапустить samba после изменений в файле /etc/smb.conf.
Вы можете работать в Интернет из Windows, если вы присоединились к компьютеру с Linux через Samba и Linux-машина на данный момент присоединена к Internet. Для этого, IP-маскарад должен быть установлен на Linux-машине с модемом (рассмотрено здесь) и вы должны установить разрешение имен Samba через dns в /etc/smb.conf:
dns proxy = yes
и после этого сообщить Windows разрешение сервера dns, определив имя сервера Linux и IP адреса (в Панель управления(ControlPanel)-Сеть(Network)-TCP/IP).
Вы так же можете монтировать удаленную директорию Windows к вашей файловой системе Linux. См. здесь.
Здесь рассмотрены только самые минимальные установки Samba. Для получения более подробной информации:
man samba; man smb.conf; man smbclient; man smbmount
less /usr/doc/HOWTO/SMB-HOWTO (under RH5.2)
документация в /usr/doc/samba-2.0.3/doc (under RH6.0)
http://www.sfu.ca/~yzhang/linux/samba/ (samba minihowto)
http://www.germanynet.de/teilnehmer/101,69082/samba.html
а также полезно изучить файл /etc/smb.conf .

4.5.6 Sendmail

Sendmail - это стандартная в Internet система пересылки почты и стандартная система в RedHat Linux (Mandrake использует PostFix). Как пользователь, вы не используете sendmail непосредственно, потому что это - внутренний сервер, который управляет почтой на вашей машине в фоновом режиме для всех пользователей. Для чтения/посылки почты в текстовом режиме, вам, возможно, потребуется использовать pine или elm. (Выберите один и придерживайтесь его -- содержание двух раздельных почтовых ящиков может оказаться хлопотным). В KDE, вы можете выбрать для использования "mail client" (kmail), доступный из K-menu. Для связи с внешним миром через ppp, вам, возможно, захочется использовать почтовую программу, встроенную в Netscape, которая работает с почтовым ящиком, расположенным у провайдера (в обход почтового сервера на вашем локальном компьютере).
Sendmail - очень мощная и гибкая программа, но также печально известная сложностью настройки и управления под конкретные нужды. К счастью, Red Hat (5.2 или 6.x) поставляется с sendmail, которая выходит за привычные рамки (накладывая ряд ограничений).
В моей домашней системе (Red Hat с установками по умолчанию), я могу послать почту любому пользователю на той же машине (например, используя pine). Я могу послать письмо локально или в любую точку мира, как только соединюсь с провайдером через модем (если IP маскарад разрешен). Но когда я не соединен, почта сидит в очереди и ждет соединения с Интернет, даже если она предназначена для другого компьютера моей сети (слегка раздражает). Она будет послана только после соединения. (Это происходит потому, что sendmail пробует найти DNS, а это невозможно в моей системе -- RedHat DNS по умолчанию находится только в режиме кеширования). Если вам необходимо обойти это ограничение в RH6.x, вы можете использовать netconf (как "root") и установить, чтобы sendmail не использовал DNS совсем (Linuxconf, который поставляется с RH5.2, не дает такой возможности). Я вынужден использовать DNS.
Под RedHat 6.x, вам также может потребоваться netconf для конфигурирования других параметров sendmail. Я ввел имя моего провайдера и имена моих сетевых машин в "систему доставки почты(mail deliver system)"-"рассылать хостам(relay to hosts)". Я также добавил имена моих домашних сетевых машин в "рассылать по именам(relay for by name)".
Вы также должны быть осведомлены об ограничениях вашей простой установки, которые всплывут при отправлении почты из вашей домашней сети (например, используя pine), во внешний мир. Если вы изобрели IP адреса и ваш домен не зарегистрирован, то нет никаких шансов на получение ответа. Ваша исходящая почта содержит "ответный (reply)" адрес в форме: "[email protected]". Это НЕ хорошо, поскольку такого домена НЕТ, по данным любой DNS внешнего мира - следовательно, никакого ответа ждать не приходится. Чтобы преодолеть это, вы можете использовать Netscape mailer для связей с внешним миром. Netscape использует установки, введенные Вами в пункте "редактировать-установки(edit-preferences)" для непосредственной связи с почтовым ящиком на компьютере вашего провайдера (который имеет зарегистрированный адрес) и обходит ваш незарегистрированный-домашний-сетевой-адрес почтовой системы. Другая возможность состоит в указании правильного поля "ответный адрес (reply to)". Если это сделать в Netscape, вы можете настроить ваш NetscapeMail на использование локального Linux-компьютера как почтового сервера. Этот способ позволит посылать электронную почту с вашей NetscapeMail на компьютеры вашей домашней сети (а не только во "внешний мир"). Параметр "ответный адрес(reply-to)" также может быть установлен в настройках "почтового клиента (mail client)" KDE, если вы используете почтовую программу KDE. Кроме того, в "pine" вы можете указать ответный адрес в разделе "setup-configure", "customized-hdrs" например так:
Reply-to: joe@joe_net.net
где "joe@joe_net.net" ваш настоящий адрес электронной почты.

Если вы хотите доставать вашу почту из вашего почтового ящика, размещенного на настоящем сервере Internet, без помощи Netscape/Kmail, вы можете попробовать программу fetchmail (см. man fetchmail).

4.5.7 Простой Web-сервер (используем Apache)

Установить простой web-сервер apache на RedHat 6.0 необычайно просто. Во-первых, я убедился в том, что apache rpm-пакет был установлен в процессе установки RedHat. Если нет - поместите RH CD в ваш CDROM, смонтируйте его, и установите пакет apache-*.rpm (вместо "*" имя содержит номер версии и платформу). Если я знаю, что я хочу установить, то сделать это - просто (как "root"):
cd /mnt/cdrom/RedHat/RPMS
rpm -ivh apache*.rpm
Потом, я запускаю "setup" (как "root") и убеждаюсь, что демон(daemon) httpd (в "системных сервисах(system services)") размещен. [Демон (daemon) это программа, которая "сидит" в фоновом режиме и пробуждается, когда это необходимо. В случае с httpd, он проснется, когда кто-нибудь будет обращаться к вашему http-серверу.]
Теперь httpd будет запускаться автоматически каждый раз, когда я запускаю компьютер. Кроме того, я могу запускать его вручную (как "root"):
/etc/rc.d/init.d/httpd start
и отключать, используя:
/etc/rc.d/init.d/httpd stop
Я проверил бы наличие директории /home/httpd (при отсутствии создал бы), и внутри нее поддиректории html--это "корневая директория (root directory)" для людей, обращающихся к моему компьютеру через Web ("их корневая директория" значит, что у них не будет возможности обратиться к директориям выше /home/httpd/html/ в вашей системе). По умолчанию, эта директория содержит несколько файлов html и руководство, которые программа установки apache размещает там. Так что теперь я мог бы обратиться к моему WEB-серверу из домашней сети. Например, я мог бы ввести в строку "Location" программы Netscape:
http://my_http_server_name
и прочитать руководство к Apache.
Для того, чтобы наполнить мой сервер содержимым, я перемещаю файлы примеров от Apache куда-нибудь еще, и копирую мои html-файлы (которые я желаю опубликовать) в директорию /home/httpd/html/ (не забудьте включить файл index.html, он будет открыт первым, когда кто-нибудь обратится к вашему серверу).
Конфигурационные файлы apache и журнал(log)-файлы располагаются в директории /etc/html/ ,где вы сможете просмотреть/настроить их. Журнал(log)-файлы могут быть просмотрены в "реальном времени", используя эту простую команду (как "root"):
tail -f /etc/httpd/logs/access_log
[Команда tail обычно выдает на экран конец ("хвост(tail)") текстового файла. С флагом "-f", "tail" сохраняет на экране хвост журнал-файла с учетом его роста -- очень удобно для просмотра того, кто в данный момент входит на ваш сервер.]
Для графической установки сервера Apache, попробуйте (в X-терминале, как "root", если вы установили "Comanche" с вашего RedHat CD):
comanche

4.5.8 Простой ftp-сервер

С моими более старыми дистрибутивами RedHat Linux (RH<7.1), установка ftp-сервера не могла быть проще -- он просто работал по умолчанию. Это потому, что ftp-сервис разрешен по умолчанию как один из стандартных сервисов (так же как и telnet или gopher), в файле /etc/inetd.conf. Здесь наиболее значимая часть моего файла /etc/inted.conf:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
gopher stream tcp nowait root /usr/sbin/tcpd gn
Вторая часть моих настроек ftp-сервера находится в файле /etc/passwd который определяет псевдо-пользователя ftp:
ftp:*:14:50:FTP User:/home/ftp:
Двоеточие ":" это разделитель полей. Первое поле - имя псевдопользователя "ftp", Звездочка "*" - второе поле - объявляет, что пароль отключен (никто не сможет войти с именем пользователя "ftp"), пользовательский идентификатор 14, идентификатор группы 50, "FTP User" это коментарий, домашняя директория /home/ftp, последнее поле осталось пустым (для "нормального" пользователя, это означает имя оболочки, назначенной по умолчанию).
Поскольку эти установки уже произведены в моей системе для меня моим RedHat, кто-нибудь может войти через ftp на мой компьютер либо как пользователь (с вводом пароля и переходом в его домашнюю директорию), либо как "безымянный(anonymous)" с использованием электронного почтового адреса в качестве пароля. Любой пользователь в строке "location" своего Netscape может ввести что-то вроде:
ftp://my_computer_name
и автоматически подключиться (Netscape позаботится о вводе имени пользователя "anonymous" и адреса электронной почты как пароля).
Анонимные пользователи ftp направляются в директорию /home/ftp , которая становится для них корневой (они не смогут работать с вышерасположенными директориями). Я располагаю файлы, которые я собираюсь предоставить пользователям в директории /home/ftp/pub .
Директория /home/ftp/bin содержит команды, предназначенные для исполнения пользователями ftp. В моей системе это: compress, cpio, gzip, ls, sh, tar, zcat; все с правами "только для выполнения" (111).
Директория /home/ftp/etc содержат файлы установок для обеспечения доступа (редактированные passwd, group, ld.so.cache). Директория /home/ftp/lib содержит библиотеки (Я думаю, эти библиотеки используются программами, к которым разрешен доступ анонимных пользователей).

Red Hat 7.1 использует xinetd вместо старого inetd, и большинство сетевых сервисов по умолчанию отключены. Если вы не можете использовать вход через telnet даже на собственную машину или не можете пользоваться другими сервисами, вы должны осмотреть файлы в директории /etc/xinetd.d, и редактировать файл с именем сервиса, так чтобы он содержал: "disable = no" . Это сделано из соображений безопасности -- вы должны выбрать необходимые сервисы и разрешить только их. Не включайте ftp, если он вам не нужен -- могут возникнуть некоторые проблемы с безопасностью. Если вы разрешили сетевые службы, убедитесь, что вы предусмотрительно настроили файлы /etc/hosts.allow и /etc/host.deny для безопасности.

Файл примера /etc/xinetd.d/tpfp показывает, что сервис отключен:
service tftp
{
disable = yes
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
}
Если у вас нет этих файлов, выполните cat чтобы увидеть какие сервисы установлены в вашей системе. Демоны большинства сервисов будут запускаться автоматически при старте системы, если это разрешено с помощью программы setup (как "root").

4.5.9 Как получить доступ к моему компьютеру извне, когда я подключаюсь к сети через телефон??

Довольно трудно, поскольку ваш IP-адрес выдается динамически Вашим провайдером из его пула IP-адресов, и, следовательно, ваш IP-адрес каждый раз разный. (Если, конечно, вы не заключили отдельного соглашения с Вашим провайдером). Для telnet, ftp или http из внешнего мира необходимо знать ваш текущий IP-адрес. Чтобы найти мой IP-адрес, я использую команду "interface configuration" которая, при выполнении без параметров, отображает информацию о всех активных сетевых интерфейсах, представленных на моей машине:
/sbin/ifconfig
На моей машине три параграфа информации : eth0 (Первый сетевой ethernet-интерфейс к компьютерам моей домашней сети), lo (интерфейс только-к-себе(loopback-only), с IP-адресом 127.0.0.1 должен быть представлен на каждой машине) и ppp0 (первый интефейс точка-к-точке(point-to-point protocol)). Мой текущий IP-адрес, назначенный мне моим провайдером, отображается поз заголовком ppp0. (Ваша Linux-машина может иметь несколько IP адресов в один момент времени, так если у вас "статический" IP-адрес который вы используете в домашней сети, это совершенно верно, но видно лишь в вашей домашней сети.)
Раз я знаю IP-адрес, я могу послать его через ICQ или e-mail друзьям, которые могут в этом случае, например, получить вход через telnet или ftp на мой компьютер (если у них есть учетная запись на моей машине) и выполнить программу на моей linux-машине, или ввести http://my_ip_address в строку "location" своего браузера, чтобы мосмотреть мои домашние странички, и т.д. Если у моих друзей есть Xwindows на их локальной машине, они могут так же исполнять графические программы на моем сервере, направив вывод на свой компьютер.

Кроме того, можно написать короткий командный файл, который будет уведомлять моих друзей о моем входе в Интернет и ввести имя командного файла в kppp-setup-account-edit-dial-"выполнить программу после соединения(execute program upon connect)". Здесь, например, короткий скрипт сообщающий мне на работу, когда кто-то у меня дома входит в сеть. (Этот текст был введен в файл, который я сделал выполняемым с помощью chmod o+x file_name) :

#!/bin/bash
sleep 15
/sbin/ifconfig | mail -s notification my_email_address
Первая строка сообщает моему компьютреру, что этот командный файл надо интерпретировать как файл скрипта оболочки bash. Вторая строка заставляет компьютер ждать 15 секунд (просто чтобы убедиться, что электронная почта не будет послана до тех пор, пока соединение не будет установлено). Третья строка выполняет команду ifconfig и передает ее вывод на вход программы mail, которая посылает его на my_email_address c темой сообщения "предупреждение(notification)".
Более гибкий путь состоит в том, чтобы сконфигурировать его как dial-up-ppp-сервер (в противоположность dial-in-клиенту, который вы используете для подключения к вашему провайдеру). Если у вас есть простой способ для того, чтобы сделать это - пожалуйста, напишите.

В общем, в отличие от MS Windows 3.x/95/98, которые серьезно ограничивают траффик в вашей сети, Linux ориентирован на работу в сети и позволяет осуществлять все виды соединений как С так и НА ваш Linux-компьютер. Мощные сетевые возможности - сила Linux, но для настоящего новичка они могут стать проблемой (см. следующий вопрос).

4.5.10 Может ли мой домашний компьютер быть взломан?

К сожалению, это весьма возможно и весьма просто. Каждый раз, когда вы присоединяетесь к провайдеру, вы рискуете. В предыдующем вопросе вы можете узнать, как это происходит. Естественно, риск выше, если соединение постоянное (например кабельный модем), и ниже, когда соединения кратковременны (как обычно происходит при соединении через модем).
Реальную опасность представляет непрошенный гость, если он сможет войти в систему, используя любую учетную запись, которую сможет подобрать (или выведать) - и получить права "root". Обычно это возможно, если вы действительно администратор - новичок и/или ваша машина не ориентирована на настоящую безопасность (вы же дома, не так ли -- зачем думать о безопасности!).
Чтобы защитить себя, вы не должны позволить посторонним вломиться на ваш компьютер. Используйте длинные и сложные пароли для ВСЕХ учетных записей на вашем компьютере. Меняйте пароли регулярно. Для того чтобы навязать всем пользователям вашего компьютера правильную политику в отношении паролей, выполните (как "root", например в RH6.0) linuxconf и под "политики паролей и учетных записей(password and account policies)" измените минимальную длину пароля на 6 или более знаков, минимальное количество не-буквенных знаков на 1 или 2, количество дней, после которых пароль должен быть сменен, на что-то вроде 90 или менее, и установите предупреждение об устарении пароля на 7 дней перед устарением. Остальную информацию о паролях смотрите здесь (FAQ2.htm#pass_security). Абсолютно НИКОГДА не создавайте учетных записей без пароля или со слабыми паролями. Не работайте на своем компьютере, как "root" -- если вы выполняете программу с "дырами в безопасности" как "root", кто-то может найти возможность взломать ваш компьютер. Старые Linux-дистрибутивы имели известные дыры в безопасности, так что используйте более новые версии, особенно если вашим компьютером могут воспользоваться ненадежные люди, или если ваш компьютер выполняет серверные функции (например, ftp или http сервер).
Кроме того, совсем неплохая идея - регулярно просматривать все файлы, в которых фиксируются все входы пользователей в систему: /var/log/secure (самый последний log) /var/log/secure.1 (более старый) /var/log/secure.2 (еще более старый), и т.д. Кроме того, полезны log-файлы в директории /var/log. Проверяйте их время от времени. Наиболее распространенные "предупреждения(warning)" относятся к сканированию портов вашего компьютера - повторяющиеся попытки входа с какого-то IP-адреса на ваш telnet, ftp, finger или другой порт. Это значит, что кто-то хочет узнать больше о вашем компьютере.
Если вы не используете удаленного соединения с вашей машиной, есть прекрасная идея ограничить права на использование сетевых сервисов "со стороны сервера" (все сетевые сервисы перечислены в файле /etc/inetd.conf) машинами вашей домашней сети. Доступ контролируется двумя файлами: /etc/hosts.allow и /etc/hosts.deny. Эти файлы контроля за доступом работают следующим образом. Когда кто-то извне запрашивает соединение, файл /etc/host.allow сканируется первым и если одно из имен, содержащихся в нем и имя компьютера, запрашивающего соединение совпадают, доступ разрешен (независимо от содержимого файла /etc/host.deny ). Иначе, сканируется файл /etc/host.deny, и если имя машины, с которой запрашивается соединение совпадает с одним из имен в файле, соединение закрывается. Если совпадения не найдены, разрешение предоставляется.

B. Staehle (Гуру в Linux-модемах) дал мне совет не устанавливать сетевые службы вообще. "Если ваши сетевые службы не установлены правильно, ваш компьютер может быть захвачен любым скриптописателем. Новичкам _НЕ_СТОИТ_ разрешать сервисы (ftp, telnet, www) во внешний мир. Если вы "должны" устанавливать их, убедитесь в том, что вы разрешили доступ только с тех машин, которые можете контролировать. Файл /etc/hosts.deny должен содержать

ALL: ALL

а /etc/hosts.allow должен содержать

ALL: 127.0.0.1

для разрешения входа только с этого компьютера. Не используйте имен (только IP-адреса)!".

Действительно, мой /etc/host.deny, как и было посоветовано, содержит (ALL: ALL), но мой /etc/hosts.allow содержит еще два компьютера, имеющих полный доступ, и еще один для входа через telent и ftp: (IP-адреса вымышлены):

ALL: 127.0.0.1, 100.200.0.255, 100.200.69.1
in.telnetd, in.ftpd: 100.200.0.2

В вышеуказанных примерах "ALL: ALL" означает "ВСЕ(ALL) службы, ВСЕ(ALL) компьютеры", то есть "соединение со всех компьютеров ко всем сетевым службам" идущих с "любого компьютера".

Для большей информации, смотрите превосходное "Руководство сетевого администратора Linux (Network Administrator Guide)" которое, разумеется, есть в вашем дистрибутиве. Я, например, даже распечатал эту книгу.

Чтобы проверить, какие сетевые службы вашего компьютера доступны из внешнего мира, вы можете воспользоваться специальными WEB-инструментами. Зайдите на: http://scan.sygatetech.com/ и щелкните "scan now".

Здесь другие места в которых могут вас просканировать: http://crypto.yashy.com/ http://davidovv2.homestead.com/freetoolsservices.html http://privacy.net/ http://scan.sygatetech.com/ http://security1.norton.com/us/intro.asp http://suicide.netfarmers.net/ http://trojanscanner.com/cgi-bin/nph-portscanner http://www.doshelp.com/dostest.htm http://www.dslreports.com/secureme/ http://www.dslreports.com http://www.earthlink.net/freescan/ http://www.grc.com http://www.hackerwhacker.com/ http://www.nessus.org http://www.netcop.com/newscan/fullscan.html http://www.privacyscan.org http://www.sdesign.com/cgi-bin/fwtest.cgi http://www.sdesign.com/securitytest/index.htmll http://www.securityspace.com/ http://www.vulnerabilities.org/nmapemail.html http://grc.com http://www.dslreports.com/scan http://www.dslreports.com/security/sec025.htm
Из соображений безопасности, неплохо бы не афишировать операционную систему и ее версию, которые вы используете. Я сменил содержимое файла /etc/issue и /etc/issue.net, которые на моем компьютере выглядели так:

Red Hat Linux release 6.2 (Zoot)
Kernel 2.2.14-5.0 on an i586

на что-то вроде:

WARNING: THIS IS A PRIVATE NETWORK
UNAUTHORIZED USE IS PROHIBITED AND ALL ACTIVITIES ARE LOGGED
IBM S/390 LINUX

Эта шуточка может слегка (чуть-чуть) увеличить (я надеюсь) безопасность моей системы.

Содержимое файлов /etc/issue и /etc/issue.net я изменяю при каждой загрузке (когда выполняется /etc/rc.local). Чтобы сделать изменения постоянными, я могу сделать эти файлы доступными только для чтения для всех пользователей, выполнив (как "root"):

chmod a=r /etc/issue*

Вместо последней команды я мог бы отредактировать (как "root"), командный файл /etc/rc.d/rc.local и закоментировать 5 строк, используя ### таким образом, чтобы его значимая часть содержала:

# Здесь перезаписывается /etc/issue при каждой загрузке. Делаем несколько изменений
# необходимых, чтобы не потерять /etc/issue при перезагрузке
### echo "" > /etc/issue
### echo "$R" >> /etc/issue
### echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue
### cp -f /etc/issue /etc/issue.net
### echo >> /etc/issue

Другая хорошая мера безопасности - выключить ping. Ping - это система, отвечающая на запрос, посланный с другого компьютера. Она весьма полезна при установке и отладке сетевых соединений, чтобы проверить, что ваша машина доступна по сети. Она может так же быть использована при прощупывании и/или атаке ее перегружающими ping-запросами ("ping of death"). Для запрета ping-запросов из сети я использую IP-маскарадинг. Я взял, слегка изменив, следующие команды, вместе с пояснениями с http://www.securityfocus.com/focus/linux/articles/linux-securing2.html:

ipchains -A input -p icmp --icmp-type echo-request -i ppp0 -j REJECT -l
(1) (2) (3) (4) (5) (6) (7)
Разяснение флагов ipchains:
1. Добавим новое правило.
2. Указать сферу применения правила, в этом случае правило будет применено ко входящим пакетам.
3. Протокол, к которому будет применяться правило. В этом случае - icmp.
4. ICMP тип, в этом случае icmp эхо-ответ на запрос будет блокирован. "Эхо-ответ (ICMP echo)" значит ping.
5. Имя интерфейса. В этом случае это первое телефонное соединение, ppp0.
6. Цель,что мы будем делать с пакетами запроса.
7. Отмечать все пакеты по некоторому критерию в системном журнал-файле.

IP-маскарад более детально описан в главе "Маскарадинг" этого руководства.

Другие меры предосторожности. Я время от времени посматриваю, чтоба кто-то не установил "root kit" на моей системе. Я использую "chkrootkit" (очень маленькую, 25k, скачанную с http://www.chkrootkit.org/). После скачивания:
su [provide password]
cd /usr/local
tar xvzf /home/my_name/chkrootkit.tar.gz
cd /usr/local/chkro<tab>
make
./chrootkit

Последняя команда предназначена для поиска "root kit" в моей системе. "Rootkit" - это программы, оставляющие черный ход каждому, однажды получившему права "root", устанавливаемые в целях прослушивания, просматривания, защиты своего доступа, и т.д.

Переход к части: 5 - Команды и сокращения Linux
На главную страницу