Диалап под крылом пингвина j1m (j1m@list.ru) Хакер, номер #070, стр. 070-110-1 Выходим в Сеть К сожалению, в настоящее время большинству из нас приходится довольствоваться тоскливым диалапом. Медленное соединение, неудобная повременная оплата, постоянные обрывы связи создают немало проблем. Но не стоит отчаиваться, эта статья и *nix помогут тебе улучшить ситуацию. Позвони мне, позвони... Сначала я хотел рассказать про создание собственных скриптов для дозвона. Но чтобы объяснить все подробности работы pppd и chat, потребовалась бы целая статья. Мы поступим проще - воспользуемся звонилкой wvdial. С ее помощью процесс настройки соединения займет не более 5 минут. Беги на сайт разработчиков и качай последнюю версию вместе с библиотекой wvstreams. Собирай сначала библиотеку, затем сам wvdial. Установка стандартна, поэтому здесь не останавливаемся (самые ленивые могут взять бинарный пакет, благо он есть в любом дистрибутиве). Конфигурировать wvdial одно удовольствие - все автоматизировано по полной программе. Для начала создадим начальную конфигурацию: # wvdialconf /etc/wvdial.conf wvdialconf сам найдет модем, проверит максимальную скорость порта, подберет все необходимые параметры и запишет результаты в /etc/wvdial.conf. Вот примерное содержимое этого файла: # vi /etc/wvdial.conf [Dialer Defaults] # Порт модема Modem = /dev/ttyS0 # Максимальная скорость порта Baud = 115200 # Инициализация модема Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 # Устанавливаем импульсный набор номера (для тонового ATDT) Dial Command = ATDP # Номер телефона Phone = 12345 # Логин Username = name # Пароль Password = secret # Второй провайдер (опционально) [Dialer phone2] Phone = 54321 Username = name2 Password = secret2 Номеров телефонов может быть несколько. По второму телефону из нашего конфига можно позвонить командой $ wvdial phone2 Не забудь поставить на wvdial suid-бит или воспользуйся sudo. Кэшируем помаленьку Когда сидишь на диалапе, значительное время затрачивается только на резолвинг. Почему бы тогда не запоминать адреса часто посещаемых серверов, чтобы не гонять лишний трафик и не тратить драгоценное время? Вот этим и занимается кэширующий DNS-сервер pdnsd. После установки в /usr/local/etc появится конфигурационный файл pdnsd.conf.sample, а в каталоге /var/cache/pdnsd - файл pdnsd.cache, в котором и будут находиться скэшированные адреса. Переименуй pdnsd.conf.sample в pdnsd.conf и открой его редактором. Нас интересуют только первые две секции: global и server. # vi /usr/local/etc/pdnsd.conf global { # Максимальный размер кэша в Кб perm_cache=2048; # Каталог для хранения кэша cache_dir="/var/cache/pdnsd"; # Максимальное время хранения записи в секундах max_ttl=604800; # От имени какого пользователя запускать сервер run_as="nobody"; # Стартовать в режиме демона daemon=on # Порт и адрес, на которых будет висеть сервер server_port=53; server_ip="127.0.0.1"; } server { # IP-адрес DNS-сервера (укажи здесь DNS твоего прова) ip="192.168.0.1"; # Таймаут между DNS-запросами к этому серверу timeout=30; # Не проверять доступность сервера |