Связь и коммуникации при помощи pppd и chat
Вероятно, наиболее простой способ — это написать скрипт в домашнем
каталоге root-а и назвать его ppp-connect, и включать его тогда, когда
вам нужно соединение. Обсудим этот метод.
Откройте ваш любимый текстовый редактор, на правах root, и создайте
файл ppp-connect. Далее надо определиться по вашим параметрам.
pppd connect ‘chat -v «» «строка_инициализации» «»
ATDTтелефонный_номер CONNECT «» ogin: учетное_имя word: пароль’
/dev/tty(0/1/2) скорость modem
pppd запускает /usr/sbin/pppd в моей системе, затем загружает chat
для дозвона. Chat посылает строку_инициализации модему, затем набирает
номер телефонный_номер. Затем он ожидает от модема ответа CONNECT, и
ждет фразы ogin: (буква l убрана, так как первый символ может быть
потерян или может быть буквой L), посылает учетное_имя, ожидает word: и
посылает your_passwd. После этого chat прекращает работу, и передает
управление pppd.
Последняя часть команды определяет порт модема (у меня /dev/ttyS1). В
большинстве случаев это будет ttyS1 (COM2: в DOS-е), ttyS0 (COM1: в
DOS-е); или, если вы используете Slackware, cua1 или cua0. (Примечание
переводчика: в последних поставках Linux появилось устройство
/dev/modem, которое является символьной ссылкой (symbolic link) на
соответствующее устройство. Просто настройте эту ссылку на нужное
устройство и все.). Скорость — это скорость модема. Я использую 115200
(скорость моего модема — 33600). Если у вас достаточно новый компьютер
(с микросхемой UART 16550), то я бы не делал скорость ниже 57600. Иначе
для 14400-модема, используйте 38400. Слово «modem» просто сообщает, что
это соединение с использованием последовательного порта и модема.
Уберите флаг -v, если вы не хотите получать подробных записей в ваших
журналах.
Сценарий, приведенный ниже, написан специально для тех, кто
дозванивается до провайдера, и тот автоматически запускает PPP, т.е. для
тех, у кого не запускается командная оболочка (shell). Вот содержимое
их /ppp-connect:
pppd connect ‘chat «» «ATZ» «» ATDT555-1800 CONNECT «» ogin: johnny word: blackjak’ /dev/ttyS1 115200 modem
Но у некоторых, у кого ISP запускает оболочку и автоматически не
запускает PPP, могут возникнуть проблемы. К счастью, chat может
справиться и с этим. Просто надо добавить еще пару команд в ваш
chat-скрипт. Ниже приведен пример, где провайдер пользователя «johnny»
просто запускает для него оболочку (shell), и от «johnny» требуется
набрать ppp для установления ppp-соединения. Его приглашение оболочки
(shell prompt) заканчивается символом $.
pppd connect ‘chat «» «ATZ» «» ATDT555-1800 CONNECT «» ogin: johnny word: blackjak $ ppp’ /dev/ttyS1 115200 modem
Если у вас больше одного слова в одной фразе посылки, не забудьте
заключить его в двойные кавычки. Я надеюсь, вы уловили суть всего
вышесказанного и сможете сами написать свой скрипт для своего
соединения. Просто исправьте первый или второй johnny-скрипт по вашим
настройкам (порт, сервер и т.п.) и запишите файл.
Теперь, когда вы создали свой файл, убедитесь, что только root может
исполнять, читать этот файл или писать в него. Это очень важно. Также
убедитесь в том, чтобы никто не смог прочитать ваши журналы (log files),
если вы решили оставить опцию -v, так как, в этом случае, в журналы
попадет ваш пароль. (Я не вижу особой нужды в -v, если вы не знаете, о
чем я, то уберите -v).
IP-адреса, имена доменов и подсети
Для многих, кто использует написанное выше, смена IP-адреса не будет
проблемой. Это те, обычные, простые пользователи, у которых обычные
dialup входы, и они особенно не загружают себя техническими тонкостями.
Им можно пропустить этот раздел и перейти туда, где описываются важные
вещи в правильной настройке их системы. Новички могут пропустить раздел о
постоянных IP-адресах, доменах и подсетях, и прочитать только самый
конец этого раздела.
Получение постоянного IP-адреса может быть бесплатным у вашего ISP,
поэтому, если вы не уверены, спросите их. Лично я бы заплатил за
постоянный IP-адрес. Это позволит посылать и принимать электронную
почту, используя уникальный IP-адрес или домен, и т.п. Если вы хотите
получить постоянный IP-адрес, напишите письмо своему провайдеру и
попросите его о выделении вам постоянного IP-адреса.
Когда вы получите свой постоянный IP-адрес, используйте grep в
каталоге /etc, чтобы найти, где еще остались ваши старые IP-адреса. Мне
пришлось изменять файлы в каталоге sendmail-а и файл /etc/hosts.
Существуют еще несколько ключевых файлов, которые вы сможете найти при
помощи grep. Откройте файл /etc/hosts, и добавьте свой новый IP-адрес в
стандартном формате. Перезагрузите машину: теперь все должно быть
готово.
Вам будет необходимо изменить свой chat-скрипт для того, чтобы он
отвечал новым условиям. Если у вас автоматически запускается PPP после
установления соединения, скажите системному администратору вашего
провайдера, чтобы они убедились в том, что их PPP-система знает, что у
вас постоянный IP-адрес, и выделяет его, вместо нового. Если вы
попадаете в приглашение оболочки (shell prompt), и вам надо написать ppp
или что-то подобное для установления соединения, то вместо того, что
указано выше, впишите в файл /ppp-connect следующую строку, после того,
как он отследит приглашение оболочки провайдера ($ или что-то другое).
/usr/sbin/pppd :Ваш_IP_Адрес
Вместо фразы Ваш_IP_Адрес, впишите постоянный IP-адрес, который вам
дал провайдер. Убедитесь в том, чтобы эту строку ограничить кавычками,
когда впишите ее в chat-скрипт. Если это не сработает —
проконсультируйтесь у своего ISP, относительно местоположения PPPd в его
системе, и спросите его, какую команду давать. Вы также можете
попробовать оставить все, как есть, и посмотреть, вдруг сервер
распознает вас и выделит вам правильный адрес.
Следующее, что вам видимо понадобится — это имя домена. Я знаю, что в
Австралии домены .asn.au и .org.au бесплатны. В США, домен .us тоже
бесплатный, но они очень долго выделяются. Если вы в Австралии,
обратитесь по адресу http://www.aunic.net/default.htm для регистрации домена. В Соединенных Штатах обратитесь по адресу http://www.internic.net/default.htm.
Для регистрации домена вам будет необходимо получить доступ к
DNS-сервисам и еще к нескольким подобным вещам. Если ваш провайдер не
предоставляет таких услуг, выкиньте официальный .asn.au или какой-то
другой домен в форточку, и получите интернетовский домен Monolith
Internet Domain.
Monolith предлагает бесплатные интернет-домены, кому угодно, по всему
миру. Все происходит без прямого контакта ,через web-формы в вашем
обозревателе (browser). Ваш домен будет иметь форму Ваш_Выбор.ml.org.
Monolith предоставляет для вас DNS-сервис. Если вы хотите получать и
отправлять почту для этого домена, попросите вашего провайдера быть
вашим почтовым ящиком (Mail Exchanger).
Посетите http://www.ml.org/default.htm
и заполните все формы, войдите в базу данных с именем пользователя и
паролем, и получите БЕСПЛАТНЫЙ домен. Вам надо будет ввести свой
IP-адрес, поэтому приготовьте его заранее. Ваш домен появится в DNS
через пару дней.
Хорошо, теперь перейдем к разделу для новичков или для тех, у кого нет постоянного IP-адреса или имени домена. Все, что вам надо, это отредактировать файл /etc/hosts под
правами пользователя root, назвать ваш сайт как-нибудь не очень
некрасиво, дать ему адрес 10.10.10.10 или нечто подобное и перезагрузить
компьютер..
Вот и все, вы только что настроили компьютер для работы с pppd и chat
за десять минут. Теперь перейдем к разделу, где описывается Электронная
Почта.
Электронная почта в вашем Linux-е
Один из самых важных аспектов Интернета, это удивительная возможность
посылать почту внутри страны и за границу. Для Linux есть очень много
простых почтовых программ для текстового режима. Та, что мы опишем
здесь, называется Pine (Program for Internet Mail and News(Программа для
почты и новостей Интернета)), сделанная в Вашингтонском Университете, и
программу fetchmail для получения почты, автор Eric S. Raymond. Обе
программы должны быть включены в ваш дистрибутив Linux.
Fetchmail — это программа, принимающая вашу почту с сервера при
помощи протокола POP, переносящая ее в вашу машину, и удаляющая ее с
сервера, как делают, например, Eudora или Microsoft Internet
Mail/Exchange. Для настройки и автоматизации fetchmail, вам необходим
файл в вашем домашнем каталоге под именем .fetchmailrc. Просто откройте
/.fetchmailrc (Запомните: это вы делаете под своим именем, а не под
root-ом в вашем любимом редакторе), и взгляните на опции командной
строки, приведенной ниже:
poll mail.yourisp.com proto pop3 user учетное_имя password пароль
user login_name with pass your_passwd is login_name here
Все, что вам нужно сделать, это заменить mail.yourisp.com именем
почтового сервера своего ISP, пароль — своим паролем, и учетное_имя —
своим именем входа.
Важная деталь, которую стоит заметить. Чтобы Pine и fetchmail
работали корректно, ваше учетное имя должно соответствовать имени входа,
которое вы используете у провайдера. То есть локальное имя входа должно
совпадать с именем входа в почтовый сервер и с вашим почтовым (e-mail)
адресом.
Затем убедитесь, что у файла .fetchmailrc правильно проставлены права
(чтение/запись только владельцем). Fetchmail можно запустить двумя
способами, в стандартном режиме (когда он получает почту от сервера и
прекращает работу), или в режиме демона (daemon) (Когда он остается
активен и проверяет/загружает почту каждые X секунд). Чтобы использовать
режим демона, наберите fetchmail -a -d(Секунд между запросами). Опция
-a включает загрузку всей почты. Чтобы запустит его в обычном режиме,
наберите fetchmail -a.
Затем, вам надо будет настроить Pine. Запустите Pine, набрав pine в
командной строке, выберите пункт Setup — Configuration. Настройте строку
userdomain, как ваш домен в почтовом (e-mail) адресе, например, для
адреса [email protected],
это будет linux.org. Затем проставьте smtp-сервер такой же, как и
POP-сервер (напишите то же, что писали в настройке fetchmail). Например,
это будет www.linux.org. Если вам нужны новости, настройте строку nntp server в соответствии с сервером новостей вашего ISP.
Ну теперь у вас все есть, и все должно работать. Для установления связи с
провайдером просто запустите /ppp-connect под пользователем root.
Затем, чтобы получить почту, запустите fetchmail уже под своим рабочим
паролем. Чтобы просмотреть почту и новости, используйте Pine. Установите
текстовый обозреватель www, например, Lynx, чтобы вы могли
просматривать www.