ISP-Hookup-HOWTO, v1.26, 5 Марта 1998 г.

В этом документе рассказывается как использовать Linux для подключения к интернет провайдеру через модем. Также даны основы работы по установлению связи по телефонной линии и настройке IP, электронной почты, новостей.

[Egil Kvaleberg, перевод: Ilgiz Kalmetev]

1. Введение

Это описание создано как ответ на вопросы пользователей о том, как можно настроить доступ к ISP (Internet Service Provider) по коммутируемой линии в Linux.

Чтобы помочь тем, кто впервые подключает свои машины с Linux к ISP, я попытался охватить как можно больше информации. Этот подход неизбежно приводит приводит к созданию определенных пересечений с другими Linux Howto-документами и LDP книгами. Ссылки на эти документы сделаны для лучшего понимания и подробного изложения.

Множество существующей документaции рассчитано на опытных пользователей с с большим опытом работы, и новички часто имеют проблемы при изучении такого рода информации.

Для простоты, примеры даны относительно следующих установок:

  • User name: dirk
  • Password: PrettySecret
  • Internet service provider: acme.xz
  • Email server: mail.acme.xz
  • News server: news.acme.xz
  • Name server: 193.212.1.0
  • Phone number: 12345678

Наш dirk будет звонить со своей машины roderick.

Все вышеприведенные установки должны быть соотвественно заменены вашими собственными значениями. Чаще всего пользователям требуется внести минимальные изменения для подключения к различным ISP. Я постараюсь разрешить проблемы, которые вы можете встретить.

1.1 Информация о авторских правах

Этот документ создан (c)1996 Egil Kvaleberg и распространяется под следующими положениями:

http://sunsite.unc.edu/LDP/COPYRIGHT.html

1.2 Отказ от ответственности

Ответственность за содержимое этого документа не несется. Вы используете концепции, примеры и прочие действия на свой страх и риск. Тем более, это ранняя версия, с вероятно большим количеством ошибок и неточностей.

Будет описана только один из всевозможных вариантов установок. В мире Linux, обычно существует множество путей решения одной задачи. Абзацы, содержащие альтернативные пути решения помечены ALT: Пожалуйста, заметьте также, что FTP-ссылки часто изменяются по мере создания новых версий программ.

Я постараюсь описывать только программы, распространяемые под определенной лицензией или разрешенные для личного использования. Большинство программ имеет доступные исходные тексты под лицензией GNU.

1.3 Переводы

Этот документ был переведен на следующие языки:

Немецкий, переводчик Cristoph Seibert:

http://tech.appl-opt.physik.uni-essen.de/LinuX/german-howto/DE-ISP-Verbindung-HOWTO.html

Корейский, переводчик Kidong Lee:

http://www.postech.ac.kr/~cessi/howto/ISP-Hookup/ISP-Hookup-HOWTO.html

Французский, переводчик Eric Jacoboni:

http://www.minet.net/linux/HOWTO-fr/ISP-Hookup-HOWTO.html

Польский, переводчик Piotr Pogorzelski: URL TBA

Норвежский:

http://www.kvaleberg.com/no-linux.html

1.4 Новые версии этого документа

Новые версии этого документа будут периодически поститься в comp.os.linux.answers. Они также будут поступать на различные анонимные FTP-сайты, которые собирают такую информацию, включая:

ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO

Вдобавок вы наверняка найдете этот документ на домашней странице Linux Documentation Project через:

http://sunsite.unc.edu/LDP/

Наконец, самая последняя версия данного документа должна быть доступна в различных форматах на:

ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.txt

ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.ps.gz

ftp://ftp.sol.no/user/egilk/ISP-Hookup-HOWTO.tar.gz

http://www.kvaleberg.com/ISP-Hookup-HOWTO.html

1.5 Обратная связь

Все комментарии, сообщения об ошибках, дополнительная информация и критика всех сортов должны направляться по адресу:

egil@kvaleberg.no

http://www.kvaleberg.com/

2. Как мне подсоединиться к остальному миру?

Предполагается, что мы уже имеем установленные модули сетевого программного обеспечения (напр., часть N-серии Slackware), и что вы используете последовательный порт /dev/modem.

Настройка по умолчанию позволяет обращаться к /dev/modem только как пользователь root.

Чтобы напрямую подсоединиться к shell ISP и поэкспериментировать над процессом соединения, вы можете использовать программу minicom. Она прекрасно подходит для этой цели.

2.1 Основная настройка

Настройка машины для использования в сети должна производиться от root. Первым делом удостоверьтесь, что файл /etc/hosts.deny содержит строки:

ALL: ALL
Вы вероятно захотите позволить собственный трафик, потому добавьте в /etc/hosts.allow:
ALL: LOCAL
или что тоже самое:
ALL: 127.0.0.1
В последующем, заметьте, предполагается соединение по PPP с динамическим IP адресом. Если вы имеете фиксированный адрес, то в настройках будут некоторые изменения.

Прекрасно иметь имя у машины, имя, которое пользователь с динамическим IP может действительно выбрать таким, каким пожелает. Введите имя в /etc/hostname:

roderick

Следующий шаг - установка сервера имен в /etc/resolv.conf:

search .
nameserver 193.212.1.0
<nidx>nameserver
Сервер имен должен быть указан числовым IP адресом, и отличается для каждого ISP. Если требуется, вы можете прописать до трех различных серверов. Они будут опрашиваться в том порядке, в каком вы их указали.

Если вы хотите иметь возможность использовать имена типа somemachine как сокращение для somemachine.acme.net, вы должны заменить первую строку на:

search acme.xz

Определенный минимум настройки также требуется для /etc/hosts. Большинство пользователей смогут управлять:

127.0.0.1       localhost
0.0.0.0         roderick
Пользователь с фиксированным адресом очевидно должен вместо 0.0.0.0 указать свой фиксированный адрес.

Аналогично минимальный /etc/networks:

loopback        127.0.0.0
localnet        0.0.0.0

Также вы можете установить ваш внешний почтовый домен в /etc/mailname:

acme.xz

Имя пользователя и пароль для ISP должны быть указаны в /etc/ppp/pap-secrets

dirk * PrettySecret

Для тех ISP, которые используют CHAP вместо PAP, имя файла будет /etc/ppp/chap-secrets.

Наконец, надо описать процедуру соединения, которая производится перед инициализацией PPP проделать. Это делается в /etc/ppp/chatscript:

TIMEOUT 5
"" ATZ
OK ATDT12345678
ABORT "NO CARRIER"
ABORT BUSY
ABORT "NO DIALTONE"
ABORT WAITING
TIMEOUT 45
CONNECT ""
TIMEOUT 5
"name:" ppp
Содержимое можно настроить по-своему. Телефонный номер в третьей строке, конечно, должен быть заменен на ваш. Некоторым пользователям может понадобиться заменить строку инициализации модема ATZ на более соответствующую их модему. Последняя строка указывает, что в ответ на приглашение name: надо ответить ppp. Другие системы могут иметь другие процедуры входа в систему.

Чтобы проинициировать звонок, PPP-протокол может быть активизирован командой:

exec pppd connect \
     'chat -v -f /etc/ppp/chatscript' \
      -detach crtscts modem defaultroute \
      user dirk \
      /dev/modem 38400
Сейчас мы должны войти в сеть и оставаться на линии до тех пор, пока не нажмем Ctrl-C. Любые сообщения, отражающие состояние соединения, добавляются в системный журнал. Чтобы прочесть их попробуйте:
tail /var/adm/messages
или
dmesg

Пока PPP поднят, вы напрямую подключены к Интернет, и можете использовать программы типа ftp, ncftp, rlogin, telnet, finger итд. Все эти программы являются частью пакета network.

Также информация о PPP также доступна в:

/usr/lib/ppp/README.linux

/usr/lib/ppp/README.linux-chat

Наконец, дополнительное слово о безопасности. Файл /etc/inetd.conf содержит список всех сервисов, которые ваша машина обслуживает внешне. Файлом /etc/hosts.deny мы запретим внешний доступ. Для нужных сервисов доступ можно позволить файлом /etc/hosts.allow. Локальный трафик может быть разрешен:

ALL: LOCAL
См. также man 5 hosts_access.

Маленькое замечание: Существует определенное недопонимание по поводу имен протоколов POP. Определения в /etc/services обычно такие:

pop2            109/tcp         pop-2           # PostOffice V.2
pop3            110/tcp         pop-3 pop       # PostOffice V.3

ALT: Вместо chatscript можно использовать намного более гибкий dip. Но не одновременно с diald.

ALT: Счастливчики, имеющие постоянное TCP/IP соединение через, например, Ethernet, могут спокойно пропустить все, что касается, PPP, и сосредоточиться на вопросах установки их сетевых адаптеров.

ALT: У некоторых может не быть доступа через PPP, но может быть SLIP, для которого поддержка такая же, как для PPP. Другая возможность - UUCP. Другие могут иметь только новости и почту. Описание для варианта с почтой находится на:

ftp://ftp.sol.no/user/bjorn/Linux-offline.tgz

Также возможна программа TERM. Почитайте Term-HOWTO.

3. Как мне бродить по Интернет?

Если вас больше интересует текствое содержание, вам пригодится Lynx Web-браузер. Он находится на:

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/lynx-2.3.bin2.tar.gz

Если у вас установлен X-windows, вы можете использовать множество графических браузеров. Chimera находится на:

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/chimera-1.65.bin.ELF.tar.gz

http://www.unlv.edu/chimera/

Mosaic

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/Mosaic-2.7b1-aout.tgz

ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6

Netscape (aka. Mozilla

ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape-v11b3.tar.gz

ftp://ftp.cs.uit.no/pub/www/netscape

Эти браузеры постоянно обновляются и доступны во всех версиях.

Использование и оценка этих программ оговариваются определенными лицензиями. Пожалуйста, ознакомьтесь с ними.

4. Как отправлять и принимать электронную почту?

Самое первое, удостоверьтесь, что sendmail уcтановлен. Sendmail сортирует внутреннюю и исходящую почту, и держит ее в буфере до тех пор, пока не появится возможность для ее отправки.

Sendmail основывается на настройках в /etc/sendmail.cf. Подходящий для клиентов ISP пример может быть найден на:

ftp://ftp.sol.no/user/egilk/sendmail.cf Он основан на procmail, как агенте доставки, но может быть легко изменен для пользователя.

Если требуется иметь официальный домен для исходящей почты, то в /etc/sendmail.cf надо указать:

# who I masquerade as (null for no masquerading)
DMacme.xz
Эта установка говорит о том, что вы вашее локальное имя такое же, как у вашего ISP. Если оно другое, то вместо этого укажите полное имя:
DMdick@acme.xz
Sendmail сейчас настроен для отправки почты прямо получателю. Для избежания продолжительных и повторяющихся соединений в тех случаях, когда соединение для приема почты медленное и непостоянное, обычно используют ISP как накопитель почты. Это можно сделать указанием спецификации DS:
# "Smart" relay host (may be null)
DSmail.acme.xz
Заметьте, что sendmail чувствителен к обработке символов табуляции в файле sendmail.cf. Вы можете использовать редактор vi, чтобы убедиться, что символы табуляции не подменяются на другие. Прием почты часто может быть выполнен через протокол POP3, который может быть инициализирован при каждом соединении. Скрипт для проверки:
sendmail -q
popclient -3 -v mail.acme.xz -u dirk -p "PrettySecret" \
       -k -o /usr/spool/mail/dirk
Этот скрипт может быть запущен после установления PPP-сессии. Заметьте, что это только тест, поэтому удостоверьтесь, что местный почтовый ящик не затрагивается при выполнении этого скрипта. Опция -k говорит, что почта остается в почтовом ящике ISP, и вы просто получаете копию ее. Как только убедитесь, что скрипт работает корректно, можете удалить эту опцию. Кроме того, пароль будет отображаться в коммандной строке. Это должно быть исправлено ASAP. Более безопасная и лучшая версия этого скрипта находится на:

ftp://ftp.sol.no/user/egilk/pop-script.tar.gz

Эта версия скрипта требует установленного procmail, который находится на:

ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail-3.10-2.tar.gz

Procmail - простое и гибкое средство, которое может сортировать входящую почту основываясь на большом количестве критериев. Вдобавок, можно автоматизировать задачи, вроде сообщений-памяток и т.п.

Заметьте, что когда мы прямо используем procmail, как в этом случае, ситуация несколько отличается от описанной в документации на procmail Файл .forward не требуется, и также нам не нужен .procmailrc. Последний нужен только для сортировки почты.

Интерфейс пользователя для чтения и отправки почты может быть найден в программах типа Pine или Elm.

ALT: Для обычного клиента ISP, работающего по коммутируемой линии, нет необходимости иметь активным sendmail демон. Чтобы сократить потребление ресурсов можно закомментировать строку запуска sendmail, которая обчно находится в /etc/rc.d/rc.M.

ALT: Вместо sendmail может использоваться более простой smail. Он очень хорошо описан в (также как и другие полезные вещи) в Руководстве Сетевого Администратора Linux.

ALT: Для создания sendmail.cf есть пакет m4. Он прекрасно подходит для модификации существующей конфигурации.

ALT: Есть менее гибкие, но более простые альтернативы. Pine может быть запусщен в неинтерактивном режиме на указываемый в настройках промежуток времени, например. Можно даже использовать новые версии некоторых веббраузеров.

ALT: Многим энтузиастам нравится примочка Gnus к Emacs, которая работает с почтой и новостями. Дополнительная информация на:

http://www.ifi.uio.no/~larsi/

ALT: Альтернативный pop-клиент - это pop-perl5. Доступен на:

ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz

5. Новости

5.1 Как настроить онлайновую читалку новостей?

Пока PPP активен, можно читать новости в онлайне. Есть куча доступных программ. Два примера: rtin и trn.

Чтобы начать читать новости, то в большинстве случаев достаточно сделать (обычно только раз и для всех в файле .profile):

export NNTPSERVER=news.acme.xz

Для получения в сообщениях корректного From-address, некоторые программы могут потребовать:

export NNTP_INEWS_DOMAIN=acme.xz

5.2 Как настроить оффлайновую читалку новостей?

Чтобы читать новости в offline и таким образом сократить счета за телефон и достичь большей гибкости, надо установить локальный news-spool. Это потребует усилий по настройке, и также определенного объема дискового пространства. После первичной настройки все должно более или менее благополучно работать, требуя лишь некоторого внимания время от времени.

Здесь описаны два различных решения.

5.3. Как настроить C News?

Здесь описано решение на базе ньюссервера C News и протоколе NNTP. C News предназначался для несколько других целей, но его гибкости хватает и для нашей ситуации. Также можно использовать более свежий продукт - сервер новостей INN, но он может требовать большее количество ресурсов. В любом случае не вздумайте ставить их обоих одновременно; они не дружат друг с другом.

Критично, что обработка новостей делается от имени пользователя news, и все конфигурационные файлы находятся в каталоге /usr/lib/news. Один из способов сделать это, при регистрации как root выполнить su news; cd.

Самые важные настроечные файлы это:

  • active - краткое описание активных групп новостей. Он обновляется командой addgroup, например, addgroup comp.os.linux.networking y.
  • организация может быть указана по вашему усмотрению в поле заголовка Organization: , в нашем случае:
    Dirk Gently's Holistic Detective Agency
    
  • почтовое имя в нашем случае acme.xz.
  • whoami установливает имя вашего сайта в Path: . В установке, описанной здесь, с использованием NewsX, это имя никогда не выйдет за пределы машины, так что можете установить его так, как вам нравится, если только уверены, что оно уникально. В нашем случае это roderick.
  • sys управляет выборкой и дальнейшим распространением новостей. Допустим, что ISP в нашем случае добавляет acme.xz к Path, и, что он единственный наш поставщик новостей. Данный пример в действительности говорит о том, что мы будем принимать все, что приходит, и, что мы отсылаем новости только на acme.xz, который прежде не видели и первоначально отправляли на наш собственный сайт. В этой упрощенной установке мы допустим, что все группы приходят из одного источника. /all определяет дистрибуцию, и должно быть включено. Буква F говорит о том, что все (указатели на) исходящие новости будут складываться в файл.
    ME:all/all::
    acme/acme.xz:all,!junk/all:FL:
    

  • Должен быть создан подкаталог для исходящих новостей, в нашем случае:
    mkdir /var/spool/news/out.going/acme
    

  • mailpaths управляет отправкой сообщений в модерируемые группы, хотя эта задача обычно оставляется на усмотрение ISP.

C News нуждаются в определенной доле ежедневного внимания со стороны администратора, но его действия могут быть определены один раз и для всех командой crontab -e для пользователя news. Далее показано как может выглядеть эта установка; она может быть настроена как вам угодно:

# maintain incoming and outgoing batches
10,40 *  * * * /usr/lib/newsbin/input/newsrun

# expire C News, once a day
30 0  * * * /usr/lib/newsbin/expire/doexpire

# monitor and report if needed
00 2  * * sat /usr/lib/newsbin/maint/addmissing
40 3  * * * /usr/lib/newsbin/maint/newswatch
50 3  * * * /usr/lib/newsbin/maint/newsdaily
newsrun перемещает входящие и исходящие статьи (дважды в час), doexpire будет удалять утаревшие статьи (каждую нось в 00:30), а три последние команды выополняют различные административные и корректирующие ошибки функции.

Нужно также удостовериться, что при запуске машины все чисто. От пользователя root, добавьте строку в /etc/rc.d/rc.local:

su news -c /usr/lib/newsbin/maint/newsboot
News могут обрабатываться программой NewsX, извлекающей новости с NNTP-сервера. Программа может быть найдена на:

ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz или:

ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz

Установка NewsX предельно проста. Установка в классическом случае:

make
su
make install
exit

Для приведенной установки все, что вы должны сделать - это создать группы, которые вы хотите читать, используя команду "addgroup".

Чтобы выбрать статьи, пользователь news выдает следующие команды (при установке связи по PPP, или аналогичной -):

newsrun
newsx acme news.acme.xz
newsrun

Опция -d дает непрерывную распечатку экрану. За подробной информацией обратитесь к документации NewsX.

NewsX будет также заботиться о регистрации исходящих новостей.

Для управления удалением статей при их устаревании требуется файл explist, требуется. Комментарии в этом примере должны объяснить, что мы делаем:

# hold onto history lines 14 days, nobody gets >120 days
/expired/                       x       14      -
/bounds/                        x       0-1-120 -

# retain these for 2 months
comp.sources,comp.os.linux.all  x       60      -

# noise gets thrown away fast
junk,control                    x       2       -

# default:  14 days, no archive
all                             x       14      -

ALT:В маленьком спуле новостей, не требуется частое управление группами новостей. Полезность трафика изменяется в широких пределах. Основная задача состоит в определении, какие статьи отбросить, а какие группы создать автоматически. Чтобы гарантировать, что управляющие сообщения, содержащие новую группу, не создадут у нас беспорядок, в файле, называемом newgroupperm определяется, что именно мы позволяем:

comp.os.linux   tale@uunet.com  yv
all             any             nq
В этом примере, будут созданы все группы в иерархии comp.os.linux (y), и пользовательские новости будут сообщаться (v). Все остальные будут молча (q) проигнорированы (n). Последняя строка нужна, если вы хотите создавать все группы вручную.

ALT: Альтернатива NewsX - suck, или slurp совместно с postit. Slurp использует NNTP NEWNEWS, который может работать с несколькими серверами.

5.4 Как настроить Leafnode?

Другое решение состоит в установке интегрированного пакета leafnode. Он выполняет все задачи, требуемые для персонального спула новостей, и легко настраивается. Доступен на:

http://www.troll.no/freebies/leafnode.html

Как для C News, вся обработка новостей ведется от пользователя news.

Домашний каталог для leafnode /usr/lib/leafnode. Для установки введите:

cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install

Заметьте ниже, что префикс /usr/local/sbin должен быть заменен на /usr/sbin, если вы ставите leafnode из пакета.

Оставаясь пользователем root, измените строку, которая управляет NNTP в /etc/inetd.conf:

nntp  stream  tcp  nowait  news  /usr/sbin/tcpd /usr/local/sbin/leafnode
Активизация:
killall -HUP inetd

Возвратимся к пользователю news, напечатав exit. В /usr/lib/leafnode/config изменяем строку, которая определяет сервер NNTP. В нашем случае:

server = news.acme.xz

Leafnode будет обслуживать себя добавлением следующей команды через crontab -e от пользователя news:

# expire Leafnode, once a day
0 4 * * * /usr/local/sbin/texpire

Обмен новостями производится также от пользователя news следующей командой (PPP поднят и запущен):

/usr/local/sbin/fetch
Пользователи, которые хотят читать новости, должны после этого использовать рецепт "Как мне установить онлайновую читалку новостей?", за исключением того, что их настройки производятся для локальной машины, т.е.:
export NNTPSERVER=localhost

Это должно быть все имеется к этому. Первая выборка почты передаст список доступных групп новостей. Leafnode затем посмотрит, какие группы запрошены пользователями, и соответственно настроится при следующей активизации.

Note that leafnode does not seems to work in cases where NNTP authorization is required. +.LP

ALT: Альтернатива leafnode - nntpcache. Он доступен на:

ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz ALT: Другая альтернатива - использовать читалку новостей slrn вместе с пакетом slrn-pull. Читалка новостей должна быть скомпилирована с поддержкой spool.

6. Как автоматизировать процедуру соединения?

Автоматизированная обработка новостей и почты в Linux делается легко.

Во-первых, надо создать /usr/lib/ppp/ppp-on, который устанавливает соединение с ISP. Часто этот файл содержит только:

/usr/sbin/pppd
В /etc/ppp/options указываются такие спецификации:
connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript"
crtscts
modem
defaultroute
asyncmap 00000000
user dirk
/dev/modem 38400

Для завершения соединения, используйте соответственнно файл /usr/lib/ppp/ppp-off.

Проверив функциональные возможности этих двух скриптов, теперь нужно написать скрипты, которые выполняют другие задачи. Скрипт для забора email был описан выше, и мы поместим его в /home/dirk/pop.

Скрипт обмена почтой может быть потом выполнен как /root/mail:

#! /bin/sh
#
# exchange mail
# 10 minutes timeout:
TIMEOUT=600
DT=10

# kick sendmail:
sendmail -q &

# retrieve mail:
su dirk -c /home/dirk/pop

# wait for sendmail to terminate:
t=0
while ! mailq | grep -q "Mail queue is empty"; do
    t=$[$t+$DT]
    if [ $t -gt $TIMEOUT ] ; then
     echo "sendmail -q timeout ($TIMEOUT).."
     exit 1
    fi
    sleep $DT
done

exit 0

Скрипт обмена новостями может быть записан как /usr/lib/news/news:

#!/bin/sh
#
# exchange news
# must be run as news:
cd /usr/lib/news

#update the outgoing batch (C News):
/usr/lib/newsbin/input/newsrun < /dev/null

#exchange news:
/usr/lib/newsbin/newsx acme news.acme.xz

#and flush the incoming batch:
/usr/lib/newsbin/input/newsrun < /dev/null
Скрипт, соединяет различные составляющие и куски, и может быть размещен как /root/news+mail:
#!/bin/sh
#
# exchange news and email
# must be run as root
#
if ! /usr/lib/ppp/ppp-on; then
    exit 1
fi
trap "/usr/lib/ppp/ppp-off" 1 2 3 15

#exchange news+mail:
/root/mail &
su news -c ~news/news
wait

#disconnect..
/usr/lib/ppp/ppp-off

#update the incoming batch (C News):
su news -c /usr/lib/newsbin/input/newsrun < /dev/null &

exit 0

Легко добавить расширение к вышеприведенному скрипту для установления соединения, если имеется почта и новости для отправки. Давайте назовем его /root/news+mail.cond, и имейте в виду, что имя спула исходящих новостей должно быть исправлено на значение в вашей системе:

#!/bin/sh
#
# exchange news and email, only if outgoing news or mail
# (C News spool)
if [ -s /var/spool/news/out.going/acme/togo ] ||
    ! ( mailq | grep -q "Mail queue is empty"); then
     /root/news+mail
fi

Осталось только задать время, когда все это запускать. Это делается использованием команды crontab -e от имени root. Давайте назначим обмен почтой и новостями на 07:00 утра и затем каждые четыре часа отправку почты и новостей:

00 7            * * *   /root/news+mail
00 11,15,19,23  * * *   /root/news+mail.cond
Удостоверьтесть, что каждый компонент тщательно проверен, прежде чем начнете использовать их вместе. Позже можно добавить несколько других задач, таких как установка времени дня (используя ntpdate) и автоматическое обновление (зеркалирование) локально разрабатываемых файлов WWW и FTP на ISP (используя make и ftp).

ALT:В зависимости от предпочтений, также возможно поключить какой-либо процесс. При каждом поднятии PPP, запускается скрипт /etc/ppp/ip-up. Здесь можно добавить команды для запуска процедуры обмена почтой и новостями. См. man pppd для подробностей.

ALT: Также возможно автоматически поднимать PPP при обнаружении трафика. Есть много элегантных решений, но они сильно зависят от правильной настройки, которая должна помочь избежать частых (и дорогостоящих) установлений соединений. Больше информации можно почерпнуть на:

http://www.dna.lth.se/~erics/diald.html

Утилита diald доступна на:

ftp://sunsite.unc.edu/pub/Linux/system/network/serial/diald-0.16.tar.gz

В других местах можно обнаружить и другие варианты создания PPP-сессий.

7. Слова напоследок

7.1 О каких других вещах я должен знать?

  • Различные сообщения об ошибках в системе обычно будут выдаваться в виде внутреннего email. Чтобы гарантировать, что их можно будет прочесть, нужно создать /etc/aliases. Не забудьте выполнить команду newaliases при каждом изменении этого файла. Пример, подходящий в большинстве случаев:
PostMaster: root
ftp: root
news: root
usenet: root
FaxMaster: root
fax: root
WebMaster: root
MAILER.DAEMON: root

  • Многие программы для Linux могут быть надены на Sunsite, который обычно весьма загружен. Однако существует куча зеркал, и вам стоит попытаться выйти на зеркало поближе к дому, например, ftp://ftp.nvg.unit.no/pub/linux/sunsite/...
  • Если вам пришлось перейти из Yarn, он должен быть преоразован в стандартные почтовые ящики, используя yarn2mf, который доступен:

ftp://ftp.sol.no/user/egilk/yarn2mf.zip

8. Информация о ISP

Более детальная информация о определенных ISP доступна из различных источников:

Demon Internet

ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz

Netcom

http://www.netcom.com/bin/webtech/NetCruiser/Operating_Systems/Linux/linux.cfg.html

PowerTech, Telenor Online, Telia

http://www.kvaleberg.com/no-isp.html

Stanford

http://www-leland.stanford.edu/~wkn/Linux/network/network.html

MCI

http://www.kvaleberg.com/linux-mci.html

SISCOM

http://www.siscom.net/support/linux_setup.htm

Если вы знаете, где еще можно найти информацию о ISP, пожалуйста, напишите.

8.1 Как мне узнать побольше?

В Linux Documentation Project есть книга, называемая Linux Network Administrator's Guide от Olaf Kirch - прекрасное руководство для тех, кто устанавливает и делает что-то, относящееся к TCP/IP и Internet:

ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/network-guide/nag-1.0.ascii.tar.gz

Документaция, которая поставляется с каждым программным пакетом обычно содержит всю детальную информацию, которая вам нужна. man-страницы - первое место, в которое надо заглянуть. Для примера попробуйте:

man pppd

Также вы можете найти некоторую документaцию на определенные программы в каталоге /usr/doc, хотя он не всегда хорошо структурирован.

Весьма рекомендуются следующие HOWTO:

  • Installation-HOWTOдает основы.
  • NET-2-HOWTO очень глубокое описание установки и настройки программного обеспечения поддержки сети. Многое из описанного в нем уже должно быть сделано, если вы используете стандартный дистрибутив Linux (например, Slackware, RedHat, Debian). Тем не менее многие главы по настройке и поиску проблем окажутся весьма полезными.
  • Mail-HOWTO объясняет как настроить различные утилиты. Хотя, многое из этого делается при инсталляции Linux.
  • News-HOWTO для установки (conventional) спула новостей.
  • Tiny-News обрисовывает другой путь обмена новостями.
  • PPP-HOWTO хорошее описание проблем, с которыми вы можете столкнуться при настройке PPP соединения.
  • Serial-HOWTO содержит все, что вам нужно знать об установке последовательных портов.
  • Mail-Queue расскажет вам как настроить отправку через sendmail так, чтобы удаленная почта ставилась в очередь, а локальная доставлялась немедленно.

Red Hat имеет список рассылки для PPP: чтобы на него подписаться, пишите:

redhat-ppp-list-request В поле subject укажите

subscribe

8.2 Благодарности

Эта информация собрана из различных источников. Благодарю следующих людей, который косвенно либо непосредственно помогли мне:
Adam Holt <holt@graphics.lcs.mit.edu>
Arne Coucheron <arneco@oslonett.no>
Arne Riiber <riiber@oslonett.no>
Arnt Gulbrandsen <agulbra@troll.no>
Bjorn Steensrud <bjornst@powertech.no>
Gisle Hannemyr <gisle@a.sn.no>
Hans Amund Rosbach <haro@sesam.dnv.no>
Hans Peter Verne <hpv@ulrik.uio.no>
Harald T Alvestrand <Harald.T.Alvestrand@uninett.no>
Harald Terkelsen  <Harald.Terkelsen@adm.hioslo.no>
Haavard Engum <hobbes@interlink.no>
James Youngman <JYoungman@vggas.com>
Johan S. Seland <johanss@sn.no>
John Phillips <john@linux.demon.co.uk>
Jorn Lokoy <jorn@oslonett.no>
Kenneth Tjostheim <kenneth.tjostheim@asplanviak.no>
Kjell M. Myksvoll <kjell.myksvoll@fou.telenor.no>
Kjetil T. Homme <kjetilho@math.uio.no>
Michael Meissner <meissner@cygnus.com>
N J Bailey <N.J.Bailey@leeds.ac.uk>
Nicolai Langfeldt <janl@math.uio.no>
Ove Ruben R Olsen <Ove.R.Olsen@ub.uib.no>
R. Bardarson <ronb@powernet.net>
Steinar Fremme <steinar@fremme.no>
Sverre H. Huseby <sverrehu@ifi.uio.no>
Trond Eivind Glomsrod <teg@stud.imf.unit.no>
Tommy Larsen <tommy@mix.hive.no>
Yves Bellefeuille <yan@storm.ca>

[ опубликовано 28/01/2003 ]

Egil Kvaleberg, перевод: Ilgiz Kalmetev - ISP-Hookup-HOWTO, v1.26, 5 Марта 1998 г.   Версия для печати