Linux mini-HOWTO

       

Решения, основанные на доставке по требованию (dial-on-demand)


Написано Jan P Tietze .

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

Хотя это очень удобно и эффективно, с точки зрения стоимости решения, имеется один частный случай, когда это не совсем так (мы помним, что время установления соединения через "обычную" модемную линию относительно велико). И этот случай связан с посылкой электронной почты. E-Mail обычно посылается через SMTP, локально настроенной на вашей системе, через SMTP-сервер, который постоянно находится в Интернет (SMTP-сервер вашего провайдера).

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

Глава 1 данного документа позволит выйти из этой ситуации, хотя в системах, где имеется внешний поиск DNS имен, это все равно вызовет соединение с ISP. Хотя почта и будет поставлена в очередь. Это случается потому, что sendmail пытается "канонизировать" имена хостов.

Решение этой проблемы двояко: Сначала мы подправим sendmail.cf. Затем мы должны определить процесс, который действительно займется доставкой почты. Лично я предпочитаю использовать crond и создавать задания - это будет описано ниже.



Содержание раздела