Покрокова настройка Dial-In сервера, Unix, Операційні системи, статті

Денис Колесніченко, СофтТерра

Докладна стаття про налаштування dial-in сервера. Конфігурування mgetty і ppp. Рішення проблем.


  1. Установка програмного забезпечення
  2. Налаштування mgetty
  3. Налаштування ppp
  4. Включення IP Forwarding
  5. Другий варіант настройки
  6. Якщо щось не працює …
  7. Налаштування Windows-клієнтів

Крок 1. Установка програмного забезпечення

Операційна система: Linux
Нам потрібні ppp-2.3.x (бажано новіші) і mgetty-1.1.x.
mgetty повідомлений бути зібраний з опцією-DAUTO_PPP, якщо це не так, потрібно перезібрати
Я використовую ppp-2.4.0-3mdk.i586.rpm і mgetty-1.1.22-2mdk.i586.rpm (Linux Mandrake 7.2)

Якщо ви використовуєте RedHat / Mandrake, встановити ppp і mgetty можна за допомогою команд:

# mount -t iso9660 /dev/hdd /mnty/cdrom
#cd /mnt/cdrom/Mandrake/RPMS
#rpm -Uvh mgetty*
#rpm -Uvh ppp*

Деякі зауваження:


  1. CDROM є пристроєм / dev / hdd (Secondary Slave)
  2. Використовується Linux Mandrake (при використанні RedHat пакети знаходяться в / mnt / cdrom / RedHat / RPMS)
  3. Не використовується supermount (якщо у вас supermount активний, першу команду вводити не потрібно)
  4. Третя і четверта команди встановлюють все сімейство mgetty і ppp. При використанні такого підходу встановлюються всі файли – і ніякої турботи! Ви ж можете встановити лише те, що вам потрібно.

Крок 2. Налаштування mgetty

При коректної збірці / установці mgetty у вас повинні бути файли

 /etc/mgetty+sendfax
 dialin.config
 login.config
 mgetty.config
 /etc/ppp
 auth-up
 auth-down
 chap-secrets
 ip-up
 ip-down
 options
 pap-secrets

Якщо їх немає, потрібно самостійно знайти де вони знаходяться. При самосборке дивіться що і куди
проінсталювати. В крайньому випадку, необхідні файли потрібно створити вручну.

/ Etc / mgetty + sendfax / dialin.config – зазвичай порожній (все закоментований).
/ Etc / mgetty + sendfax / login.config – повинен містити рядок

/AutoPPP/-      a_ppp   /etc/ppp/ppplogin

Переконайтеся, що ця строчка не закоментований. Якщо ви хочете, щоб імена користувачів
записувалися в log-файли, відредагуйте цей рядок так:

/AutoPPP/-      –     /etc/ppp/ppplogin

Потім створіть / etc / ppp / ppplogin

mesg n
tty -echo
/usr/sbin/pppd silent auth -chap +pap login

У деяких версіях ppp замість-chap потрібно писати refuse-chap, а замість + pap – require-pap
Зробіть / etc / ppp / ppplogin виконуваним
# chmod +x /etc/ppp/ppplogin

У нашому прикладі ми використовуємо PAP аутентифікацію з використанням пароля
з / etc / passwd файлу (див. нижче)

/ Etc / mgetty + sendfax / mgetty.config – повинен такий:

# For US Robotics Sportster 28.8 with speaker off
port ttyS0
speed 28800
data-only y
debug 3
init-chat “” ATZ OK AT&F1M0E1Q0S0=0 OK
answer-chat “” ATA CONNECT \c \r

# For Practical Peripheral 14.4 with fax disabled and prolonged
# carrier wait time (90 sec)
port ttyS1
speed 14400
data-only y
debug 3
init-chat “” ATZ OK AT&F1M0E1Q0S0=0S7=90+FCLASS=0 OK
answer-chat “” ATA CONNECT \c \r

# For USRobotics V.Everything
port ttyS2
speed 57600
data-only y
debug 3
init-chat “” AT OK ATS7=50S0=1+S62=3+S64=2S39=10 OK

Для ZyXEL U336E можна використовувати такі параметри:
init-chat “” ATZ OK AT&F1M0E1Q0S0=0S OK
answer-chat “” ATA CONNECT \c \r

Тепер потрібно змінити / etc / inittab

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

#added by me

S0:2345:respawn:/sbin/mgetty -x 3 ttyS0
S1:2345:respawn:/sbin/mgetty -x 3 ttyS1
S2:2345:respawn:/sbin/mgetty /dev/ttyS2

S0, S1, S2 – просто ідентифікатори – ви можете використовувати будь-яке ім’я. Потрібно призначити
окреме ім’я для кожного порту. S0-S2 я використовував для наочності.

Тепер потрібно запустити mgetty (перед виконанням цієї команди дозволите модеми)
# init q
Якщо при виконанні цієї команди модем (и) не підключені або вимкнені, в / var / log / mesages ви отримаєте багато лайки від mgetty з цього приводу.
Якщо на модемі загорілася лампочка TR, то всі налаштування виконані правильно і mgetty підхопив модем.

Крок 3. Налаштування ppp

Зазвичай для кожного порту в каталозі / etc / ppp створюється файл options.ttySx, де x – номер порта.

lock
login
auth
netmask 255.255.255.0
modem
crtscts
refuse-chap
require-pap
mtu 576
mru 576
proxyarp
myhost:ppp01
ms-dns CCC.CCC.CCC.CCC

Загальні настройки для всіх портів можна винести в файл / etc / ppp / options.
myhost слід замінити на реальне ім’я вашого Dial-In сервера.
ppp01-довільно обране ім’я віртуального вузла абонента (ви можете використовувати інші імена,
наприклад, igor, denis і т.д.).
Імена вузлів повинні бути унікальними, тобто якщо ви використовуєте ppp0 в options.ttyS0, то в options.ttyS1
потрібно використовувати ppp01 і т.д.
ms-dns визначає DNS-сервер для клієнтів Microsoft. Вкажіть IP DNS-сервера вашої мережі.
Нам потрібно використовувати опцію proxyarp, т.к. ми будемо призначати IP-адреси всередині broadcast наших мережевих карт локальної мережі. При цьому pppd буде робити вигляд нібито віртуальний хост знаходиться всередині нашого сегмента ethernet.
Замість “refuse-chap” можна писати “-chap”, а замість “require-pap” – “+ pap”

Тепер відредагуємо файл / etc / ppp / pap-secrets

# Secrets for authentication using PAP
# client  server          secret          IP addresses

*         *               “”                 192.168.0.11
*         *               “”                 192.168.0.12
*         *               “”                 192.168.0.13

У нашому прикладі використовується три модема для вхідних дзвінків, тому потрібно зробити три записи.
Паролі ми будемо брати з / etc / passwd (або / etc / shadow)

Вносимо зміни в наш / etc / hosts

192.168.0.11 ppp01 ppp01.mydomain.com
192.168.0.12 ppp02 ppp02.mydomain.com
192.168.0.13 ppp03 ppp03.mydomain.com

mydomain.com потрібно замінити на реальне ім’я домену.
При бажанні ці записи можна внести також і в локальну зону DNS.
 

Крок 4.

Робимо / usr / sbin / pppd програму setuid “rood”
# chmod u+s /usr/sbin/pppd
 

Крок 5.

Включаємо IP Forwarding
Дозвіл пересилання IP встановлюється в / etc / sysconfig / network файлі, приблизно так:
FORWARD_IPV4=yes
Ваше ядро ​​повинно бути скомпільовано для підтримки IP_FORWARD
Введіть команду
# echo “1” > /proc/net/ip_forward

Тепер ви готові до роботи!
 

Другий варіант настройки ppp

Цей варіант може виявитися навіть більш простим, ніж перший.
Налаштування файлів / etc / options і / etc / options.ttySx залишаються колишніми, крім
myhost:pp01
потрібно замінити на
Server_IP:Client_IP
Наприклад,
192.168.0.1:192.168.0.11
Потрібно змінити зміст файлу / etc / ppp / pap-secrets

#
user1 сервер.домен “” *
user2 сервер.домен “” *
#

user1 – ім’я користувача, зареєстрованого в системі
сервер.домен – замініть на реальне ім’я сервера вхідних дзвінків
“” – Паролі брати з / etc / passwd (/ etc / shadow)
* – Абонент може аутентифицироваться з будь-якого IP.
При бажанні можна призначити інший пароль. В цьому випадку (якщо цей сервер використовується також
і як поштовика) для dial-up’a і POP-сервісу будуть використовуватися різні паролі.
Увага! Паролі в / etc / ppp / pap-secrets містяться у відкритому вигляді, а не кодуються за допомогою
MD5 (або DES) як у файлі / etc / shadow (/ etc / passwd)

Файл / etc / hosts правити не потрібно.
От і все.
 

Якщо щось не працює …

Кращий рада – дивіться / var / log / messages – там багато всього цікавого.

Якщо у вас з’являються повідомлення виду:
modprobe: can’t locate module char-major-24

то треба прописати в / etc / conf.modules

alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate

Налаштування Windows-клієнтів

Звичайне віддалене з’єднання, інформацію про IP і DNS брати у провайдера.
Тип сервера: PPP
Додаткові параметри: тільки “Програмне стиснення даних”
Допустимі протоколи: тільки “TCP / IP”

Лінки по темі:
PPP-HOWTO
DNS-HOWTO
NET3-HOWTO

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*