|
Провайдер в домашних условиях Andrushock Xakep, номер #054, стр. 054-070-4 $ ls /etc/mgetty+sendfax dialin.config login.config mgetty.config Первый из них не представляет для нас никакого интереса, во втором должна быть всего лишь одна строчка: # vi /etc/mgetty+sendfax/login.config /AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options Третий будет содержать все опции, которые необходимо передать mgetty: # vi /etc/mgetty+sendfax/mgetty.config debug 5 # указываем степень журналирования port ttyS0 # определяем, к какому порту подключен наш модем speed 57600 # скорость порта data-only y # факсимильная поддержка не требуется init-chat "" ATZ OK ATS0=1 OK # строка инициализации модема Команда ATS0=1 как раз указывает, что при входящем звонке модем должен брать трубу. Альтернативным вариантом будет использование ключевого слова "answer-chat", к примеру: init-chat "" AT OK ATZ OK answer-chat "" ATA CONNECT \c \r При желании это можно сократить до: init-chat "" ATZ OK answer-chat "" ATA Для того чтобы mgetty подцепила и сконфигурировала наш модем, в файле описания различных режимов работы операционки нужно добавить запись, содержащую идентификатор (можно указать любой - он используется как комментарий для удобства), уровни исполнения, активность mgetty, путь до бинарика mgetty и асинхронный последовательный порт, к которому подключен наш высокоскоростной модем. # vi /etc/inittab S0:345:respawn:/sbin/mgetty /dev/ttyS0 И заставим демона init перечитать /etc/inittab: # init q После этой команды должен загореться (естественно, если модем внешний) светодиод TR (либо MTR, в зависимости от модели и производителя) - это значит, что mgetty правильно подхватил модем и мы на верном пути. Теперь, для контрольного теста, попробуй позвонить на модем. Он должен при первом же гудке снять трубу и начать соединение. Если этого не произошло, то начинай разгребать /var/log/messages, /var/log/mgetty.log.ttyS0 и выяснять причину. Осталось совсем немного - законфигурить pppd и добавить юзверей. Приступаем: # vi /etc/ppp/options // указываем, какие управляющие символы преобразовывать в Esc-последовательность asyncmap 0 // требуем от клиента аутентифицироваться, используя PAP/CHAP auth // применяем аппаратный протокол установления связи через /dev/ttyS0 crtscts // не будем переходить в фоновый режим -detach // создаем файл блокировки для последовательного устройства lock // используем теневой файл с паролями для PAP login // используем все сигналы управления модемами modem // отменяем поддержку CHAP -chap // только PAP +pap // стандартные твики диалапщиков mtu 576 mru 576 // заставляем локальный хост отправлять все запросы от имени клиента proxyarp // отключаем неиспользуемые протоколы noipv6 noipx // IP-адрес локального хоста, выделяемый клиенту IP-адрес 192.168.1.41:192.168.1.51 // маска подсети netmask 255.255.255.0 // IP-адрес нашего DNS-сервера 192.168.1.1 С помощью механизма sysctl включаем перенаправление IP-пакетов между сетевыми интерфейсами: # sysctl -w net.ipv4.ip_forward=1 Добавляем диалапщика в систему, вводим и подтверждаем пароль: |