Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
stunnel + ppp
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
TangoFoxtrot
n00b
n00b


Joined: 04 May 2013
Posts: 3

PostPosted: Mon May 20, 2013 10:54 am    Post subject: stunnel + ppp Reply with quote

Итак задача - сделать софтовый шлюз + прокся и чуть поозже еще и днс. На этом шлюзе будут жить 2 туннеля. Собственно к деталям: Все будет работать на виртуальной машине(хост esxi5 u1) с Gentoo (ядро 3.7.10-r1)
и туннели будут шифроваться средствами stunnel. Собственно проблема вот какая. Stunnel-и на обоих концах зацепляюстя друг за друга

Code:
   
    x.x.x.5.60495 > x.x.x.6.311: Flags [S], cksum 0x56f9 (correct), seq 3209597117, win 14600, options [mss 1460,sackOK,TS val 100029025 ecr 0,nop,wscale 7], length 0
    x.x.x.6.311 > x.x.x.5.60495: Flags [S.], cksum 0x7634 (correct), seq 3485034658, ack 3209597118, win 14480, options [mss 1460,sackOK,TS val 94741290 ecr 100029025,nop,wscale 7], length 0
    x.x.x.5.60495> x.x.x.6.311: Flags [.], cksum 0xdd1c (correct), seq 1, ack 1, win 115, options [nop,nop,TS val 100029026 ecr 94741290], length 0


# netstat
Code:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0    160 X.X.X.5:ssh            X.X.X.15:60009         ESTABLISHED
tcp        0      0 X.X.X.5:60495          X.X.X.6:311            ESTABLISHED

#ifconfig -a

Code:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet X.X.X.5  netmask 255.255.255.0  broadcast X.X.X.255
        ether a4:0c:29:7f:3c:d3  txqueuelen 1000  (Ethernet)
        RX packets 276  bytes 23276 (22.7 KiB)
        RX errors 0  dropped 12  overruns 0  frame 0
        TX packets 73  bytes 8034 (7.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 16436
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


но вот pppd уже сам туннель не поднимает.

/var/log/messages c клиента x.x.x.5
Code:

013-05-20T14:30:08.352963+04:00 ShidzukuThrid stunnel: LOG5[3410:140688354506496]: Received signal 15; terminating
2013-05-20T14:30:08.407249+04:00 ShidzukuThrid stunnel: LOG5[3580:139830752294656]: stunnel 4.44 on x86_64-pc-linux-gnu platform
2013-05-20T14:30:08.407339+04:00 ShidzukuThrid stunnel: LOG5[3580:139830752294656]: Compiled/running with OpenSSL 1.0.1c 10 May 2012
2013-05-20T14:30:08.407514+04:00 ShidzukuThrid stunnel: LOG5[3580:139830752294656]: Threading:PTHREAD SSL:ENGINE Auth:none Sockets:POLL,IPv4
2013-05-20T14:30:08.407627+04:00 ShidzukuThrid stunnel: LOG5[3580:139830752294656]: Reading configuration from file /etc/stunnel/stunnel.conf
2013-05-20T14:30:08.407822+04:00 ShidzukuThrid stunnel: LOG6[3580:139830752294656]: Initializing SSL context for service ppp
2013-05-20T14:30:08.408518+04:00 ShidzukuThrid stunnel: LOG6[3580:139830752286464]: Local mode child started (PID=3582)
2013-05-20T14:30:08.409009+04:00 ShidzukuThrid stunnel: LOG6[3580:139830752286464]: connect_blocking: connecting x.x.x.6:311
2013-05-20T14:30:08.409574+04:00 ShidzukuThrid stunnel: LOG6[3580:139830752294656]: Peer certificate location /etc/stunnel/
2013-05-20T14:30:08.409763+04:00 ShidzukuThrid stunnel: LOG6[3580:139830752294656]: SSL context initialized
2013-05-20T14:30:08.409786+04:00 ShidzukuThrid stunnel: LOG5[3580:139830752294656]: Configuration successful
2013-05-20T14:30:08.410401+04:00 ShidzukuThrid pppd[3582]: Plugin rp-pppoe.so loaded.
2013-05-20T14:30:08.410489+04:00 ShidzukuThrid pppd[3582]: RP-PPPoE plugin version 3.8p compiled against pppd 2.4.5
2013-05-20T14:30:08.421527+04:00 ShidzukuThrid pppd[3582]: Plugin rp-pppoe.so loaded.
2013-05-20T14:30:08.421579+04:00 ShidzukuThrid pppd[3582]: RP-PPPoE plugin version 3.8p compiled against pppd 2.4.5
2013-05-20T14:30:08.421590+04:00 ShidzukuThrid pppd[3582]: pppd 2.4.5 started by root, uid 0
2013-05-20T14:30:08.421617+04:00 ShidzukuThrid pppd[3582]: Using interface ppp0
2013-05-20T14:30:08.421623+04:00 ShidzukuThrid pppd[3582]: Connect: ppp0 <--> /dev/pts/0
2013-05-20T14:30:38.454583+04:00 ShidzukuThrid pppd[3582]: LCP: timeout sending Config-Requests
2013-05-20T14:30:38.454713+04:00 ShidzukuThrid pppd[3582]: Connection terminated.
2013-05-20T14:30:38.460520+04:00 ShidzukuThrid pppd[3582]: Modem hangup
2013-05-20T14:30:38.460554+04:00 ShidzukuThrid pppd[3582]: Exit.

отдельный дебаг-лог pppd /var/log/ppp.log с клиента x.x.x.5
Code:


2013-05-20T14:30:08.421527+04:00 ShidzukuThrid pppd[3582]: Plugin rp-pppoe.so loaded.
2013-05-20T14:30:08.421579+04:00 ShidzukuThrid pppd[3582]: RP-PPPoE plugin version 3.8p compiled against pppd 2.4.5
2013-05-20T14:30:08.421590+04:00 ShidzukuThrid pppd[3582]: pppd 2.4.5 started by root, uid 0
2013-05-20T14:30:08.421611+04:00 ShidzukuThrid pppd[3582]: using channel 23
2013-05-20T14:30:08.421617+04:00 ShidzukuThrid pppd[3582]: Using interface ppp0
2013-05-20T14:30:08.421623+04:00 ShidzukuThrid pppd[3582]: Connect: ppp0 <--> /dev/pts/0
2013-05-20T14:30:08.421683+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:11.424983+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:14.428330+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:17.431571+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:20.434928+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:23.438126+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:26.441370+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:29.444666+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:32.448045+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:35.451415+04:00 ShidzukuThrid pppd[3582]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc2abe27d> <pcomp> <accomp>]
2013-05-20T14:30:38.454583+04:00 ShidzukuThrid pppd[3582]: LCP: timeout sending Config-Requests
2013-05-20T14:30:38.454713+04:00 ShidzukuThrid pppd[3582]: Connection terminated.
2013-05-20T14:30:38.460520+04:00 ShidzukuThrid pppd[3582]: Modem hangup
2013-05-20T14:30:38.460554+04:00 ShidzukuThrid pppd[3582]: Exit.



Спустя 5 минут таймаута друг друга теряют и стуннели
В инете нашел кучу "манов" , документация https://www.stunnel.org/howto.html и тп зачитана до дыр. man pppd но както не сростается. Симлинк на ppp0 присутсвует
Тоннель пока что в качестве теста запускаю между этой машиной и ее клоном( адрес , мак и хостнейм на клоне естественно изменен), находящиймся на том же хосте виртуализации.
итак после запуска стуннеля

netstat сервера
Code:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0    160 X.X.X.6:ssh            X.X.X.15:60009        ESTABLISHED
tcp        0      0   X.X.X.6:311            X.X.X.5:60494          ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  5      [ ]         DGRAM                    5079     /dev/log
unix  3      [ ]         STREAM     CONNECTED     8236     
unix  3      [ ]         DGRAM                    4432     
unix  3      [ ]         STREAM     CONNECTED     8232     
unix  3      [ ]         STREAM     CONNECTED     8234     
unix  3      [ ]         STREAM     CONNECTED     8237     
unix  2      [ ]         DGRAM                    8240     
unix  3      [ ]         STREAM     CONNECTED     8231     
unix  3      [ ]         STREAM     CONNECTED     8235     
unix  3      [ ]         STREAM     CONNECTED     8238     
unix  2      [ ]         DGRAM                    5660     
unix  2      [ ]         DGRAM                    5702     
unix  3      [ ]         STREAM     CONNECTED     8239     
unix  3      [ ]         DGRAM                    4433     
unix  3      [ ]         STREAM     CONNECTED     8233     
unix  3      [ ]         STREAM     CONNECTED     8230


кусок сислога с сервера

Code:

013-05-20T15:06:22.983037+04:00 Shidzuku stunnel: LOG5[30419:139775453955840]: Received signal 15; terminating
2013-05-20T15:06:23.042347+04:00 Shidzuku stunnel: LOG5[30506:140212947224320]: stunnel 4.44 on x86_64-pc-linux-gnu platform
2013-05-20T15:06:23.042421+04:00 Shidzuku stunnel: LOG5[30506:140212947224320]: Compiled/running with OpenSSL 1.0.1c 10 May 2012
2013-05-20T15:06:23.042469+04:00 Shidzuku stunnel: LOG5[30506:140212947224320]: Threading:PTHREAD SSL:ENGINE Auth:none Sockets:POLL,IPv4
2013-05-20T15:06:23.042533+04:00 Shidzuku stunnel: LOG5[30506:140212947224320]: Reading configuration from file /etc/stunnel/stunnel.conf
2013-05-20T15:06:23.042637+04:00 Shidzuku stunnel: LOG6[30506:140212947224320]: Initializing SSL context for service ppp
2013-05-20T15:06:23.043316+04:00 Shidzuku stunnel: LOG6[30506:140212947224320]: Peer certificate location /etc/stunnel/
2013-05-20T15:06:23.043670+04:00 Shidzuku stunnel: LOG6[30506:140212947224320]: SSL context initialized
2013-05-20T15:06:23.043767+04:00 Shidzuku stunnel: LOG5[30506:140212947224320]: Configuration successful
2013-05-20T15:06:25.213986+04:00 Shidzuku stunnel: LOG5[30507:140212947216128]: Service ppp accepted connection from x.x.x.5:60495



stunnel.conf server side

Code:

cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem
pid = /chroot/stunnel.pid         #  /chroot пока с правами 777
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
output = /chroot/stunnel.log
client = no

[ppp]
 client = no
 accept = 311
 exec = /usr/sbin/pppd
 execargs = pppd local debug passive # без последнего аргуменат тоже пробовал
 pty = yes


stunnel.conf client side

Code:

cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem
pid = /chroot/stunnel.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
output = /var/log/stunnel.log
client = yes

[ppp]
 connect = X.X.X.6:311
 exec = /usr/sbin/pppd
 execargs = pppd local debug 192.168.77.77:192.168.78.78
 pty = yes


/etc/ppp/options
Code:

lock
plugin rp-pppoe.so
noauth


Code:
net-misc/stunnel-4.44  USE="ssl -ipv6 -listen-queue (-selinux) -tcpd -xforward"
net-dialup/ppp-2.4.5-r3  USE="atm eap-tls -activefilter -dhcp -gtk -ipv6 -pam -radius"



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

куда еще копать пока не знаю .
Back to top
View user's profile Send private message
Pinkbyte
Retired Dev
Retired Dev


Joined: 01 Jun 2012
Posts: 128
Location: Rostov-on-Don, Russia

PostPosted: Tue May 21, 2013 11:21 am    Post subject: Reply with quote

А stunnel обязателен? Почему бы не воспользоваться OpenVPN?
Back to top
View user's profile Send private message
TangoFoxtrot
n00b
n00b


Joined: 04 May 2013
Posts: 3

PostPosted: Tue May 21, 2013 12:39 pm    Post subject: Reply with quote

В принципе не обязателен и я уже как раз смотрю в сторону альтернативных решений. но у меня уже есть пара туннелей поднятых на stunnel'е. Потому изначально выбор пал на него. Да и хочется всетаки понять почему на опенсусе все заводится из коробки. а на генте ни в какую. Что же я все таки упустил.
Back to top
View user's profile Send private message
Pinkbyte
Retired Dev
Retired Dev


Joined: 01 Jun 2012
Posts: 128
Location: Rostov-on-Don, Russia

PostPosted: Tue May 21, 2013 12:49 pm    Post subject: Reply with quote

TangoFoxtrot wrote:
В принципе не обязателен и я уже как раз смотрю в сторону альтернативных решений. но у меня уже есть пара туннелей поднятых на stunnel'е. Потому изначально выбор пал на него. Да и хочется всетаки понять почему на опенсусе все заводится из коробки. а на генте ни в какую. Что же я все таки упустил.


Ясно, я думал это первая попытка настройки подобной связки. Сам я подобное не настраивал, но с pppd дело имею плотно. Судя по логам вы настраиваете PPPoE поверх данного туннеля, на серверной стороне процесс pppd подымается? Я вижу строчку service accepted connection, но судя по тому, что в логах нет никакого упоминания от pppd - клиент тупо отваливается по-таймауту, т.к. не смог согласовать линию... И еще - добавьте аргумент dump к вызову pppd с обоих сторон. И попробуйте всё-таки убрать passive.
Back to top
View user's profile Send private message
Pinkbyte
Retired Dev
Retired Dev


Joined: 01 Jun 2012
Posts: 128
Location: Rostov-on-Don, Russia

PostPosted: Tue May 21, 2013 12:51 pm    Post subject: Reply with quote

[quote="Pinkbyte"]
TangoFoxtrot wrote:
В принципе не обязателен и я уже как раз смотрю в сторону альтернативных решений. но у меня уже есть пара туннелей поднятых на stunnel'е. Потому изначально выбор пал на него. Да и хочется всетаки понять почему на опенсусе все заводится из коробки. а на генте ни в какую. Что же я все таки упустил.


Ясно, я думал это первая попытка настройки подобной связки. Сам я подобное не настраивал, но с pppd дело имею плотно. Судя по логам вы настраиваете PPPoE поверх данного туннеля, на серверной стороне процесс pppd подымается? Я вижу строчку service accepted connection, но судя по тому, что в логах нет никакого упоминания от pppd - клиент тупо отваливается по-таймауту, т.к. не смог согласовать линию... И еще - добавьте аргумент dump к вызову pppd с обоих сторон. И попробуйте всё-таки убрать passive. И указать адрес на серверной стороне(строчку видать ip:, то есть без указания remote-адреса туннеля)


Last edited by Pinkbyte on Thu May 23, 2013 8:24 am; edited 1 time in total
Back to top
View user's profile Send private message
TangoFoxtrot
n00b
n00b


Joined: 04 May 2013
Posts: 3

PostPosted: Wed May 22, 2013 6:50 pm    Post subject: Reply with quote

В общем не заработало. Идея осталась только одна - припоминая я что иногда были грабли с вкомпиливанием компонентов в ядро или наоборот в сборке отдельными модулями. Перебирать все подряд в разных вариантах уже нет сил ( 3 недели курю доки и маны в этом направлении местами натыкаясь на полное отсутсвие информации ,да и начальство уже результат требует ) пока отложил в долгий ящик. За минут 40 все отлично завелось в виде ipip туннеля . Шифрование мне сейчас особо не требуется, да и если что, то вариант openvpn уже опробован и работает. Спасибо за внимание!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum