Telenet-pptp-linux-HOWTO

Этот документ вкратце рассказывает как подключить ваш Linux к серверу PPTP провайдера Теленет.

Авторские права
Этот документ распространяется под GPL (GNU Public License).

Предистория
Этот документ появился в результате усилий автора по настройке небольшого корпоративного сервера на базе Linux с доступом к www через сервис PPTP, предоставляемый провайдером Теленет.

Благодарности
Без помощи Владимира Васильева, работающего в отделе НИОКР компании Теленет этот документ, возможно, не появился бы на свет.

Исходные данные
За основу был взят дистрибутив Linux Mandrake 9.2.
Необходимо наличие установленных pppd-тратата.rpm и pptp-тратата.rpm.
В системе две сетевые карточки, одна смотрит к провайдеру (eth0, IP:192.168.69.X), другая - в нашу сеть (eth1, IP:192.168.1.Y).
* описание настройки маскарадинга сети за eth1-интерфейсом и вопросы безопасности файервола не входит в этот документ.

Конфигурация и комментарии

/etc/sysconfig/network-scripts/ifcfg-eth0 - настройки карточки, смотрящей в Теленет. Те, которые принимаются при зарузке системы.

логин и пароль пишется в /etc/ppp/chap-secrets и /etc/ppp/pap-secrets плейнтекстом.

Теперь опции pppd:
/etc/ppp/options - те, что принимаются для всех (если у вас, к примеру, есть еще и модем) + те, которые специфичны для PPTP: /etc/ppp/peers/tln-pptp

Взглянем в волшебный файл /etc/ppp/peers/pptp-dialer, на который ссылается /etc/ppp/peers/tln-pptp... Все до смешного просто! Только не забудьте, что это _исполняемый_ файл, которому нужно поставить 0755:
[root@rpf dvorkin]# chmod 0755 /etc/ppp/peers/pptp-dialer

На этом конфигурация заканчивается и начинаются испытания:
[root@rpf dvorkin]# pppd call tln-pptp
[root@rpf dvorkin]# tail -f /var/log/syslog
Aug 6 09:40:51 rpf pppd[3952]: pppd 2.4.1 started by root, uid 0
Aug 6 09:40:51 rpf pppd[3952]: using channel 2
Aug 6 09:40:51 rpf pppd[3952]: Using interface ppp0
Aug 6 09:40:51 rpf pppd[3952]: Connect: ppp0 <--> /dev/pts/1
Aug 6 09:40:51 rpf /etc/hotplug/net.agent: assuming ppp0 is already up
Aug 6 09:40:52 rpf pppd[3952]: sent [LCP ConfReq id=0x1 ]
Aug 6 09:40:53 rpf pptp[3965]: anon log[main:pptp.c:219]: The synchronous pptp option is NOT activated
Aug 6 09:40:53 rpf pptp[3967]: anon log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:630]: Client connection established.
Aug 6 09:40:54 rpf pptp[3967]: anon log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:759]: Outgoing call established (call ID 0, peer's call ID 22155).
Aug 6 09:40:54 rpf pptp[3965]: anon log[decaps_hdlc:pptp_gre.c:217]: PPP mode seems to be Asynchronous.
Aug 6 09:40:54 rpf pppd[3952]: rcvd [LCP ConfReq id=0x52 ]
Aug 6 09:40:54 rpf pppd[3952]: sent [LCP ConfAck id=0x52 ]
Aug 6 09:40:54 rpf pppd[3952]: rcvd [LCP ConfRej id=0x1 ]
Aug 6 09:40:54 rpf pppd[3952]: sent [LCP ConfReq id=0x2 ]
Aug 6 09:40:54 rpf pppd[3952]: rcvd [LCP ConfAck id=0x2 ]
.....
Aug 6 09:40:54 rpf pppd[3952]: sent [IPCP ConfReq id=0x1 ]
Aug 6 09:40:54 rpf modprobe: modprobe: Can't locate module ppp-compress-18
Aug 6 09:40:54 rpf pppd[3952]: rcvd [IPCP ConfReq id=0x10 ]
Aug 6 09:40:54 rpf pppd[3952]: sent [IPCP ConfAck id=0x10 ]
Aug 6 09:40:54 rpf pppd[3952]: rcvd [IPCP ConfNak id=0x1 ]
Aug 6 09:40:54 rpf pppd[3952]: sent [IPCP ConfReq id=0x2 ]
Aug 6 09:40:54 rpf pppd[3952]: rcvd [IPCP ConfAck id=0x2 ]
Aug 6 09:40:54 rpf pppd[3952]: local IP address 80.246.74.xxx
Aug 6 09:40:54 rpf pppd[3952]: remote IP address 80.246.64.246
Aug 6 09:40:54 rpf pppd[3952]: primary DNS address 80.246.64.2
Aug 6 09:40:54 rpf pppd[3952]: secondary DNS address 80.246.64.11
Aug 6 09:40:54 rpf pppd[3952]: Script /etc/ppp/ip-up started (pid 3969)
Aug 6 09:40:54 rpf pppd[3952]: Script /etc/ppp/ip-up finished (pid 3969), status = 0x0


[root@rpf root]# ping tvernet.ru
PING tvernet.ru (80.246.69.3) 56(84) bytes of data.
64 bytes from 80.246.69.3: icmp_seq=1 ttl=252 time=22.8 ms

--- tvernet.ru ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 22.897/22.897/22.897/0.000 ms


Отключим соединение:
[root@rpf root]# killall pptp
Осталось только написать пару скриптов:
/etc/ppp/peers/pptp-start и
/etc/ppp/peers/pptp-stop
и создать на них ссылки на рабочем столе KDE или Gnome чтобы пользователи могли сами запустить или остановить соединение. Только сделайте им chmod 0755 и запускайте от root.

Замечания и предложения принимаются по адресу dvorkin@flightmedia.ru