The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка сервера удаленного досупа в Linux (linux dial-in dialup mgetty modem ppp)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: linux, dial-in, dialup, mgetty, modem, ppp,  (найти похожие документы)
From: Sergij Marchenko <makar@ua.fm> Newsgroups: http://makar.netfirms.com Date: Mon, 4 Jul 2002 13:01:37 +0000 (UTC) Subject: Настройка сервера удаленного досупа в Linux Оригинал: http://makar.netfirms.com/isp.htm (C) 2002 Sergij Marchenko, MakarSoftware, <makar@ua.fm>, GPL Имеем следующее: RED HAT 7 (или любой совместимый, например ASPLinux 7.X) Сетка 172.16.0.0/24, выделенка на ttyS0, MOXA с портами cum0 - cum7 Провайдер (FreeBSD) дает на выделенку автоматически IP, DNS; логин и пароль не проверяет. Хотим: провайдить локалу и удаленных клиентов. Решение: Инсталлируем mgetty. Допустим, у нас есть mgetty-1.1.25-2.asp.i386.rpm, тогда делаем rpm -ivh mgetty-1.1.25-2.asp.i386.rpm Редактируем /etc/mgetty+sendfax/login.config Тут должны быть только 2 строчки: /AutoPPP/ - - /etc/ppp/ppplogin * - - /bin/login @ В /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 - http://www.opennet.dev/getstatd/ Очень крутая, но простая в использовании штука. Дает пользователю возможность через веб-интерфейс узнать статистику за любой период, а администратору - статистику на всех юсеров. Может чего и упустил, в случае чего мыльте. В качестве оплаты принимаю виртуальное пиво ;-)
Оригинал: http://makar.netfirms.com/isp1.htm (C) 2003 Sergij Marchenko, MakarSoftware, <makar@ua.fm>, GPL Эта дока рассказывает, как сделать маленький диалап-сервер у себя дома Значит так. Для начала тот комп, на который дозваниваются, будет сервер, а тот, который звонит, будет клиент. Допустим, на сервере стоит модем на com1 Инсталлируем mgetty. Допустим, у нас есть mgetty-1.1.25-2.asp.i386.rpm, тогда делаем rpm -ivh mgetty-1.1.25-2.asp.i386.rpm Редактируем /etc/mgetty+sendfax/login.config Тут должны быть только 2 строчки: /AutoPPP/ - - /etc/ppp/ppplogin * - - /bin/login @ В /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 ttyS0 В /etc/hosts пишем: 172.16.0.100 hus0 - это типа сервер 172.16.0.101 ppphost0 - это типа клиент В /etc/ppp/options пишем: modem crtscts asyncmap 0 Создаем /etc/ppp/options.ttyS0 passive 172.16.0.100:172.16.0.101 proxyarp ms-dns 172.16.0.100 ms-dns 172.16.0.100 debug В /etc/ppp/pap-secrets пишем: # Secrets for authentication using PAP # client server secret IP addresses user * парольюсера 172.16.0.101 Создаем /etc/ppp/ppplogin #!/bin/sh mesg n tty /usr/sbin/pppd noauth noccp -chap +pap kdebug 4 login и делаем его исполняемым Создаем /etc/ppp/resolv.conf 172.16.0.100 172.16.0.100 Теперь после kill -1 1 или после перезагрузки твой модем дожен брать трубку после первого звонка. Он полностью готов к работе как настоящий сервер дозвона. Чтобы кидаться файлами, лучше всего использовать FTP. Самый простой способ - проинсталлировать wu-ftpd. Например, если у нас есть wu-ftpd-2.6.1-12.0.asp.i386.rpm, то делаем rpm -ivh wu-ftpd-2.6.1-12.0.asp.i386.rpm Редактируем /etc/xinetd.d/wu-ftpd Он должен иметь такой вид: # default: on # description: The wu-ftpd FTP server serves FTP connections. It uses \ # normal, unencrypted usernames and passwords for authentication. service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/in.ftpd server_args = -l -a log_on_success += DURATION USERID log_on_failure += USERID nice = 10 # disable = yes } После этого делаем /etc/rc.d/init.d/xinetd restart Сервер готов. На клиенте работаем с ним точно так же, как с интернетом. Делаем дозвон, запускаем ftp сессию и расслабляемся.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру