СообЧа > База Знаний > Unix, Linux > Сеть

Вопрос

Как в Caldera OpenServer 3.1.1 настроить удаленное подключение?

Ответ

Имеем следующее:

RED HAT 7 (или любой совместимый, например ASPLinux 7.X)
Сетка 172.16.0.0/24, выделенка на ttyS0, MOXA с портами cum0 — cum7
Провайдер (FreeBSD) дает на выделенку автоматически IP, DNS; логин и пароль не проверяет.

Хотим: провайдить локалу и удаленных клиентов.

Решение:

В /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

# Это добавить:
7:2345:respawn:/sbin/mgetty cum0
8:2345:respawn:/sbin/mgetty cum1
9:2345:respawn:/sbin/mgetty cum2
10:2345:respawn:/sbin/mgetty cum3
11:2345:respawn:/sbin/mgetty cum4
12:2345:respawn:/sbin/mgetty cum5
13:2345:respawn:/sbin/mgetty cum6
14:2345:respawn:/sbin/mgetty cum7

В /etc/hosts пишем:
172.16.0.100 hus0
172.16.0.101 ppphost0
172.16.0.102 hus1
172.16.0.103 ppphost1
172.16.0.104 hus2
172.16.0.105 ppphost2
172.16.0.106 hus3
172.16.0.107 ppphost3
172.16.0.108 hus4
172.16.0.109 ppphost4
172.16.0.110 hus5
172.16.0.111 ppphost5
172.16.0.112 hus6
172.16.0.113 ppphost6
172.16.0.114 hus7
172.16.0.115 ppphost7

В /etc/ppp/options пишем:
modem
crtscts
asyncmap 0

Создаем /etc/ppp/options.cum0
passive
172.16.0.1:172.16.0.101
proxyarp
ms-dns 195.5.62.1
ms-dns 195.5.62.3
debug

ms-dns нужны только для Windows-клиентов (других, наверно и не будет :-) Это наши ДНС-сервера нашего провайдера.

Создаем /etc/ppp/options.cum1 и дальше по аналогии до /etc/ppp/options.cum7
passive
172.16.0.1:172.16.0.103 потом 105, потом 107…
proxyarp
ms-dns 195.5.62.1
ms-dns 195.5.62.3
debug

В /etc/ppp/pap-secrets пишем:
# Secrets for authentication using PAP
# client server secret IP addresses
makar * парольмакара 172.16.0.101
user * парольюсера 172.16.0.102
makarj * парольмакаровогобратана 172.16.0.103
shmit * парольхакерашмита 172.16.0.104


IP-адреса будут ввыдаваться персонально каждому юсеру. Чтобы они дозванивались, после добавления юсера в систему нужно его добавить в /etc/ppp/pap-secrets Таким образом, мы избавляемся от т.н. «Сиамских близнецов»

Создаем /etc/ppp/ppplogin
#!/bin/sh
mesg n
tty
/usr/sbin/pppd noauth noccp -chap +pap kdebug 4 login
и делаем его исполняемым

Создаем /etc/ppp/resolv.conf

195.5.62.1
195.5.62.3


Это наши ДНС. Не знаю, может это и не нужно. Я просто у провайдера спросил.

Вот и все, что нам нужно, чтобы к нам звонили. На клиентских машинах создаем дозвон, оставляем только TCP-IP, остальное оставляем по умолчанию. В свойствах IP-протокола указываем шлюз на наш сервер 172.16.0.1

Теперь нам нужно, чтоб наша выделенка автоматически звонила провайдеру:

ppp-on, ppp-off, ppp-on-dialer берем с /usr/share/doc/ppp-2.4.0/scripts и катаем в /etc/ppp

Правим ppp-on:
#!/bin/sh
#
# Script to initiate a ppp connection. This is the first part of the
# pair of scripts. This is not a secure pair of scripts as the codes
# are visible with the 'ps' command. However, it is simple.
#
/bin/masq #Эту байду нужно добавить, потом объясню зачем
# These are the parameters. Change as needed.
TELEPHONE=1 # The telephone number for the connection
ACCOUNT="" # The account name for logon (as in 'George Burns')
PASSWORD="" # The password for this account (and 'Gracie Allen')
LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0
#NETMASK=0.0.0.0 # The proper netmask if needed
#
# Export them so that they will be available at 'ppp-on-dialer' time.

export TELEPHONE #ACCOUNT PASSWORD — у меня мой провайдер паролей не спрашивает. Если у Вас спрашивает — надо раскомментировать

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS0 38400 \
asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
noipdefault persist holdoff 5 defaultroute connect $DIALER_SCRIPT
/bin/masq #Эту байду нужно добавить, потом объясню зачем

Правим ppp-on-dialer:
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec chat -v \
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
'OK-+++\c-OK' ATH0 \
TIMEOUT 30 \
'' ATA \ # У меня ATA, потому, что мой модем не звонит, а берет трубку
CONNECT '' \

# ogin:--ogin: $ACCOUNT \
# assword: $PASSWORD Я же говорил, что меня провайдер пароль не спрашивает

ppp-off оставляем без изменений

Правим /etc/rc.d/rc.local
Последнюю строчку ставим:
sh /etc/ppp/ppp-on
Создаем файл /bin/masq
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -A forward -i ppp0 -s 172.16.0.0/24 -d ! 172.16.0.0/24 -j MASQ


и делаем его исполняемым. Эта штука будет нам маскарадить клиентов в интернет

Для съема статистики рекомендую getstatd — www.opennet.ru/getstatd

Очень крутая, но простая в использовании штука. Дает пользователю возможность через веб-интерфейс узнать статистику за любой период, а администратору — статистику на всех юсеров.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация