Настройка Dial-IN сервера FreeBSD PPPD

Материал из BiTel WiKi

Перейти к: навигация, поиск

Текст данной статьи любезно предоставлен Stoun ом.

Попробуем собрать NAS (dial-in) c использованием следующих компонентов radpppd, mgetty, snmp, и все это для обустройства NASa (на FreeBSD 4.9-5.2.1) для BG-billing

Итак начнем.

  1. Установка mgetty (mgetty-1.1.30.12.16_4.tgz)
  2. Установка radpppd с патчем, его берем с сайта http://nibs.is.kh.ua : http://nibs.is.kh.ua/src/radpppd/radpppd.tgz http://nibs.is.kh.ua/src/radpppd/radpppd_alive_remote.patch.bz2
  3. Установка net-snmp (net-snmp-5.1.2.tar.gz)

1.Устанавливаем mgetty. из пакета mgetty-1.1.30.12.16_4.tgz, при установке отвечаем на вопросы: критичные следующие вопросы

  • скорость соединения по портам - 115200
  • порт соединения – для начала пускай будет cuaa0
  • data-only – yes … ну и так далее в /usr/local/etc/mgetty+sendfax/ правим login.config
#пропускаем все коментарии
#Вот нужная строка: /AutoPPP/ - a_ppp /usr/sbin/radpppd auth radius +pap -chap debug 
#остальное оставляем как есть

Правим mgetty.config: Комментируем первую строку, т.к. будем работать не только с этим портом, так же все настройки можно менять здесь же.

#port cuaa0
debug 4
fax-id 00 00 000000
speed 115200
direct NO
blocking NO
port-owner uucp
port-group uucp
port-mode 0660
toggle-dtr YES
toggle-dtr-waittime 500
data-only YES
fax-only NO
modem-type auto
init-chat "" ATS0=0Q0&D3&C1 OK
modem-check-time 3600
rings 1
answer-chat "" ATA CONNECT \c \r
answer-chat-timeout 80
autobauding NO
ringback NO
ringback-time 30
ignore-carrier false
issue-file /etc/issue
prompt-waittime 500
login-prompt @!login:
login-time 240
diskspace 1024
notify faxadmin
fax-owner uucp
fax-group modem
fax-mode 0660

С mgetty пока закончим, но потом к нему вернемся.

2. Установка radpppd Распаковываем исходные тексты этого модуля, в какую-либо директорию, например /usr/install/radpppd, в ту же директорию распаковываем и кладем патч для alive пакетов radpppd_alive_remote.patch Накладываем patch командой:

cd /usr/install/radpppd
patch < radpppd_alive_remote.patch

Находим и правим файл auth.c, строку 1891:

snprintf(radacc_session_id, sizeof(radacc_session_id), "%ld", (long)random());

меняем на

snprintf(radacc_session_id, sizeof(radacc_session_id), "%04", getpid());

Теперь компилируем radpppd и копируем в /usr/sbin

Настраиваем: Копируем файлы из /usr/share/examples/pppd в /etc/ppp, ну вот если по порядку

  1. auth-down.sample в такой auth-down
  2. auth-up.sample в такой auth-up
  3. chap-secrets.sample в такой chap-secrets
  4. pap-secrets.sample в такой pap-secrets
  5. ip-down.sample в такой ip-down
  6. ip-up.sample в такой ip-up
  7. options.sample в такой options

Файлы с номерами 1, 2, 5,6 необходимо сделать исполняемыми от root-а и закомментировать в них все строки Вот рабочий файл options:

# $FreeBSD: src/share/examples/pppd/options.sample,v 1.1 2002/01/29 00:23:33 cjc Exp $
#debug
passive
modem
#radius эта опция перенесена в файл конфигурации mgetty – login.config
192.168.1.200:192.168.1.201
proxyarp
ms-dns 192.168.1.101
#defaultroute
require-pap
refuse-chap
noipx
#mtu 250
#mru 250

Вот рабочий файл pap-secrets:

# Example for /etc/ppp/pap-secrets file.
#
# This file should be owned by root and not readable or
# writable by any other user.
#
# Dialin format: <remote name> <our name> <password> <allowed IP addresses>
# Dialout format: <our name> <server name> <password>
#
#jane isp password
* * * *

Создаем файл radius.conf в /etc со следующим содержанием:

auth 192.168.1.73:1812 12345
acct 192.168.1.73:1813 12345

где IP адреса меняем на используемые реально, а пароль "12345" меняем по своему усмотрению, естественно на аналогичный в настройках NASa в самом биллинге для успешного подключения

3.Установка SNMPD. Распаковываем net-snmp-5.1.2.tar.gz например в /usr/install/net-snmp. Как обычно:
./configure
, запрашивает версию используемого протокола, ставим – 2, затем
make make install
С настройкой SNMP можно ознакомиться далее. Теперь настраиваем в /etc/ttys “прослушивание” портов для mgetty, в конец файла дописываем, обычно mgetty это сам делает, но если не прописал или мы настраиваем mgetty для нескольких портов, то пишем:
cuaa0 “/usr/local/sbin/mgetty” unknown on insecure
cuaa1 “/usr/local/sbin/mgetty” unknown on insecure
cuaa4 “/usr/local/sbin/mgetty” unknown on insecure
cuaa5 “/usr/local/sbin/mgetty” unknown on insecure

Две последние строки пишем при использовании дополнительной мультипортовой платы.

…Небольшое отступление по поводу подключения дополнительного оборудования.

Для включение поддержки мультипортовой платы, (которая собрана на чипе NM9835 и на себе несет два дополнительных COM порта и один LPT, последний нас не интересует), необходимо пересобрать ядро. В файле конфигурации ядра необходимо раскоментировать строку или добавить эту строку, в случае ее отсутствия:

device puc

после этого компилируем и подключаем ядро. Теперь при установленной мультипортовой карте в компьютере и загрузке операционной системы мы должны увидеть следующее или подобное сообщение (сообщение ядра):

puc0: <NetMos NM9835Dual UART and 1284 Printer port> port …

После загрузки компьютера в /dev появятся еще два устройства – cuaa4 и cuaa5, которые и будут являться дополнительными COM портами. Их только нужно прописать в файле /etc/ttys, как и было описано выше, и они будут использоваться.Следует уделить внимание раздаче IP адресов при подключении клиентов.

Настроить раздачу адресов из диапазона, указанного в настройках NASa биллинговой системы, почему-то не удалось. Но IP адреса можно присваивать и другим способом: Для каждого используемого порта cuaa0, cuaa1… создаем свой файл options в /etc/ppp/ с названиями, содержащими в себе имя порта, например при использовании мультипортовки и использовании всех четырех портов, создаем следующие файлы:

options.cuaa0 options.cuaa1 options.cuaa4 options.cuaa5

С тем же содержимым, которое было указано в файле options выше, единственное что меняем, то это номера IP адресов для присвоения клиенту, а файл options удаляем.

Личные инструменты