Автор Тема: xl2tpd в slackware  (Прочитано 5881 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн qwertyuser

  • самый главный админ
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 563
  • Karma: +65535/-0
  • кармадрочер
    • Просмотр профиля
    • ufoserver.org
xl2tpd в slackware
« : Сентябрь 14, 2011, 02:11:05 am »
 >:( >:( >:(
мои негодования


syslog
Wed Sep 14 01:38:26 MSD 2011
Sep 14 01:40:10 mrouter pppd[2064]: Cannot determine ethernet address for proxy ARP


messages
Sep 14 01:40:09 mrouter pppd[2064]: pppd 2.4.5 started by megaroot, uid 0
Sep 14 01:40:09 mrouter kernel: PPP generic driver version 2.4.2
Sep 14 01:40:09 mrouter pppd[2064]: Serial connection established.
Sep 14 01:40:09 mrouter pppd[2064]: Using interface ppp0
Sep 14 01:40:09 mrouter pppd[2064]: Connect: ppp0 <--> /dev/pts/4
Sep 14 01:40:10 mrouter pppd[2064]: CHAP authentication succeeded
Sep 14 01:40:10 mrouter pppd[2064]: CHAP authentication succeeded
Sep 14 01:40:10 mrouter pppd[2064]: local  IP address 89.179.246.83
Sep 14 01:40:10 mrouter pppd[2064]: remote IP address 85.21.0.251
Sep 14 01:42:40 mrouter pppd[2064]: No response to 4 echo-requests
Sep 14 01:42:40 mrouter pppd[2064]: Serial link appears to be disconnected.
Sep 14 01:42:40 mrouter pppd[2064]: Connect time 2.5 minutes.
Sep 14 01:42:40 mrouter pppd[2064]: Sent 1937021404 bytes, received 814 bytes.
Sep 14 01:42:40 mrouter pppd[2064]: Modem hangup
Sep 14 01:42:40 mrouter pppd[2064]: Connection terminated.
Sep 14 01:42:40 mrouter pppd[2064]: Terminating on signal 15
Sep 14 01:42:40 mrouter pppd[2064]: Exit.


ifconfig
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:89.179.246.83  P-t-P:85.21.0.251  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1460  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7823688 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:844 (844.0 B)  TX bytes:3479295636 (3.2 GiB)

eth0      Link encap:Ethernet  HWaddr 00:1b:21:a8:5e:32  
          inet addr:10.57.36.102  Bcast:10.57.39.255  Mask:255.255.248.0
          inet6 addr: fe80::21b:21ff:fea8:5e32/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4727 errors:0 dropped:0 overruns:0 frame:0
          TX packets:226 errors:0 dropped:0 overruns:0 carrier:0




mrouter:/var/log# xl2tpd -c /etc/xl2tpd.conf -C /usr/local/sbin/xl2tpd-control -D
xl2tpd[2063]: setsockopt recvref[22]: Protocol not available
xl2tpd[2063]: This binary does not support kernel L2TP.
xl2tpd[2063]: xl2tpd version xl2tpd-1.2.8 started on mrouter PID:2063
xl2tpd[2063]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc.
xl2tpd[2063]: Forked by Scott Balmos and David Stipp, (C) 2001
xl2tpd[2063]: Inherited by Jeff McAdams, (C) 2002
xl2tpd[2063]: Forked again by Xelerance (www.xelerance.com) (C) 2006
xl2tpd[2063]: Listening on IP address 0.0.0.0, port 1701
xl2tpd[2063]: Connecting to host tp.corbina.net, port 1701
xl2tpd[2063]: Connection established to 85.21.0.251, 1701.  Local: 851, Remote: 44695 (ref=0/0).
xl2tpd[2063]: Calling on tunnel 851
xl2tpd[2063]: Call established with 85.21.0.251, Local: 12125, Remote: 45460, Serial: 1 (ref=0/0)
xl2tpd[2063]: start_pppd: I'm running:
xl2tpd[2063]: "/usr/sbin/pppd"
xl2tpd[2063]: "passive"
xl2tpd[2063]: "nodetach"
xl2tpd[2063]: ":"
xl2tpd[2063]: "name"
xl2tpd[2063]: "логин для билайна"
xl2tpd[2063]: "debug"
xl2tpd[2063]: "file"
xl2tpd[2063]: "/etc/ppp/options.xl2tpd"
xl2tpd[2063]: "/dev/pts/4"
xl2tpd[2063]: get_call: can't find call 12125 in tunnel 851
 (ref=0/0)xl2tpd[2063]: check_control: Received out of order control packet on tunnel 44695 (got 2, expected 3)
xl2tpd[2063]: control_finish: Connection closed to 85.21.0.251, port 1701 (No application/session timer expired), Local: 851,


router:/var/log# ping tp.corbina.net
PING tp.corbina.net (85.21.0.253) 56(84) bytes of data.
64 bytes from vpn253-l0.msk.corbina.net (85.21.0.253): icmp_req=2 ttl=250 time=0.683 ms
64 bytes from vpn253-l0.msk.corbina.net (85.21.0.253): icmp_req=3 ttl=250 time=0.691 ms

mrouter:/var/log# netstat -r
Kernel IP routing table
Destination      Gateway            Genmask            Flags     MSS Window  irtt Iface
   default            10.57.32.1         0.0.0.0         UG        0 0          0 eth0
10.0.0.0              10.57.32.1         255.255.255.255 UGH       0 0          0 eth0
10.57.32.0               *                  255.255.248.0   U         0 0          0 eth0
85.21.52.254          10.57.32.1         255.255.255.254 UG        0 0          0 eth0
85.21.88.130          10.57.32.1         255.255.255.254 UG        0 0          0 eth0
hdns2.corbina.n    10.57.32.1      255.255.255.255 UGH       0 0          0 eth0
www.corbina.net    10.57.32.1      255.255.255.255 UGH       0 0          0 eth0
loopback                 *               255.0.0.0       U         0 0          0 lo
192.168.10.0             *               255.255.255.0   U         0 0          0 br0
wf.rol.ru             10.57.32.1      255.255.255.255 UGH       0 0          0 eth0
194.67.1.14           10.57.32.1      255.255.255.254 UG        0 0          0 eth0
gspdportal.rol.        10.57.32.1      255.255.255.255 UGH       0 0          0 eth0
194.67.1.130          10.57.32.1      255.255.255.254 UG        0 0          0 eth0
adv.aport.ru          10.57.32.1      255.255.255.255 UGH       0 0          0 eth0
194.67.18.72          10.57.32.1      255.255.255.248 UG        0 0          0 eth0
195.14.50.16          10.57.32.1      255.255.255.240 UG        0 0          0 eth0
earth.corbina.n       10.57.32.1      255.255.255.255 UGH       0 0          0 eth0
195.14.50.26          10.57.32.1      255.255.255.254 UG        0 0          0 eth0
sip.corbina.net       10.57.32.1      255.255.255.255 UGH       0 0          0 eth0
hdns1.corbina.n    10.57.32.1      255.255.255.255 UGH       0 0          0 eth0


patch

wr_pk-nolog-err11.patch

xl2tpd-1.2.8.cancel-ipparam.patch

xl2tpd-1.2.8.hang.patch

xl2tpd_1.1.12_gethostbyname.patch

l2tp-offsetpad-error.patch  
« Последнее редактирование: Сентябрь 14, 2011, 02:19:44 am от qwertyuser »
по вопросам размещения Ваших сайтов на этом сервере пишите info@qwertyuser.ru

Оффлайн qwertyuser

  • самый главный админ
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 563
  • Karma: +65535/-0
  • кармадрочер
    • Просмотр профиля
    • ufoserver.org
Re:xl2tpd в slackware
« Ответ #1 : Сентябрь 14, 2011, 02:17:52 am »
/etc/ppp/options.xl2tpd

asyncmap 0000
name логин для билайна
remotename L2TP
ipparam beeline
connect /bin/true
mru 1460
mtu 1460
nodeflate
nobsdcomp
persist
maxfail 0
nopcomp
noaccomp
noauth
novj
novjccomp
noipx
nomp
refuse-eap
refuse-pap
unit 0



xl2tpd.conf
[global]
access control = yes
auth file = /etc/ppp/chap-secrets

[lac beeline]
lns = tp.corbina.net
redial = yes
redial timeout = 20
require chap = yes
require authentication = no
name = логин для блайна
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
tunnel rws = 8
tx bps = 100000000
flow bit = no
по вопросам размещения Ваших сайтов на этом сервере пишите info@qwertyuser.ru

Оффлайн qwertyuser

  • самый главный админ
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 563
  • Karma: +65535/-0
  • кармадрочер
    • Просмотр профиля
    • ufoserver.org
Re:xl2tpd в slackware
« Ответ #2 : Сентябрь 14, 2011, 02:23:23 am »
помоему нехватает главного роутинга
10.0.0.0        10.57.32.1      255.0.0.0
« Последнее редактирование: Сентябрь 14, 2011, 11:16:54 am от qwertyuser »
по вопросам размещения Ваших сайтов на этом сервере пишите info@qwertyuser.ru

Оффлайн qwertyuser

  • самый главный админ
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 563
  • Karma: +65535/-0
  • кармадрочер
    • Просмотр профиля
    • ufoserver.org
Re:xl2tpd в slackware
« Ответ #3 : Ноябрь 02, 2011, 07:09:08 am »
вот тут все описано ARP 
pptp cannot determine ethernet address for proxy arp
cannot determine ethernet address for proxy arp


в билайне раздаваемые локальные адреса не в ходят в подсеть  ВПН серверов
от сюда и эта ошибка
можно скомпелировать ядро без ARP  опции
или в pppd конфиге попробывать добавить noproxyarp

>Cannot determine ethernet address for proxy ARP
Добавьте в конфиг pppd строчку noproxyarp


Proxy arp арп в настройке pppd означает, что pppd при поднятии интерфейса добавит в таблицу arp-запись для ip-адреса противоположного конца тунеля. Тоже самое можно делать командой:

"ip neight add proxy ИР-адрес dev eth0"

В результате с точки зрения arp-протокола в Ethernet сети появится еще один адрес. Это позволяет подключаемому по pppd компьютеру работать с остальными машинами из Ethernet сети без прописывания на них дополнительных машртутов...

Изложил я все это сумбурно, наверное вам лучше поискать более подробный ответ в Гугле. Главное, что в вашем случае эта опция не срабатывает, так как ip-адрес противоположного конца ppp тунеля и адреса на Ethernet'е оказываются из разных подсетей. А раз опция не срабатывает, то объяснить с ее помощью странности с прохождением icmp-пакетов нельзя.

>и как такое может быть, что везде связь работает без этой опции, а там с ней?

Просто в Ubuntu эта опция включена по умолчанию (включана всегда?). Ну и в принципе можно не искать, где эта опиция выключается...

Нужно разбираться сидя за этой машиной. Запустить tcpdump, для начала на ppp0 интерфейс, посмотреть, что кроме icmp-пакетов там ничего не идет, потом посмотреть eth0 с ip-адресом этой машины. Еще можно глянуть iptables, вдруг там поставили -m limit на icmp-пакеты...


©




Cannot determine ethernet address for proxy ARP

This is due to an issue with the pppd program, which attempts to find a hardware interface on the subnet to which the pppd client has been assigned. In this case its looking for a hardware interface on the 192.168.5.0 subnet. It will fail to find one, and will drop the proxyarp request.

The simplest way around this problem, and the one that is suggested in the pppd documentation, is to set the pppd client IP assignment to be on the local subnet. An example in this case might be 192.168.56.129. However, it may not be possible to do that. In the case of a fully loaded subnet, there may not be any addresses to spare. Or there may be some security issues with giving out local subnet addresses. What to do?

The place to look is in the arp table. If you run tcpdump on host (192.168.56.12) during the time when client is pinging, you will see unanswered arp requests from host attempting to find the hardware address for 192.168.5.12. You need to proxy the hardware address of the pptp_srvr for client in order for this request to be fulfilled. This is the job of proxyarp. However, proxyarp has let us down in this instance, and we need to find a workaround.

This can be done manually using the arp command on pptp_srvr. For example, if the hardware address of the ethernet card on pptp_srvr is 00:60:08:98:14:14, you could force the arp to proxy the client pptp address by saying

arp --set 192.168.5.12 00:60:08:98:14:13 pub

You should now be able to ping from client to host through the pptp connection.

This can be a problem, however, in a dynamic environment when clients are logging into and out of the pptp server on a continuous basis. One way around this problem is to write a script that will execute upon the initiation of each ppp connection.

The place to do this is in /etc/ppp/ip-up. This script is executed each time a new ppp connection is started. It gets some variables passed into it, one of which is the assigned IP address of the client. Note that RedHat systems use ip-up.local as the place for you to make the script. Don't forget to chmod +x !

#! /bin/bash

REMOTE_IP_ADDRESS=$5

date > /var/run/ppp.up
echo "REMOTE_IP_ADDRESS = " $REMOTE_IP_ADDRESS >> /var/run/ppp.up
arp --set $REMOTE_IP_ADDRESS 00:60:08:98:14:14 pub >> /var/run/ppp.up

exit 0

This should put you in business for accessing the remote subnet under this scenario. I am a little bit concerned, however, because I also built a script ip-down.local, that should remove the arp proxy when client disconnected. It doesn't seem to do anything, however, and if I try to delete the arp entry manually, it just spits out a cryptic error message. The arp entries remain persistent, as far as I can tell. If this is a problem or not, I don't know. The next few clients that log in are treated well, so I guess its OK.
--
« Последнее редактирование: Ноябрь 02, 2011, 07:21:24 am от qwertyuser »
по вопросам размещения Ваших сайтов на этом сервере пишите info@qwertyuser.ru

Оффлайн qwertyuser

  • самый главный админ
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 563
  • Karma: +65535/-0
  • кармадрочер
    • Просмотр профиля
    • ufoserver.org
Re:xl2tpd в slackware
« Ответ #4 : Декабрь 21, 2011, 06:41:17 pm »
slackware 13.0  и  выше
openl2tp 1,5 и выше

если openl2tp не собирается пакет из исходников
и ругается на libreadline


Цитировать
gcc -o l2tpconfig l2tp_config.o l2tp_rpc_client.o l2tp_rpc_xdr.o -Lcli -lcli -lreadline   -lc
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `PC'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `tgetflag'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `tgetent'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `UP'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `tputs'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `tgoto'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `tgetnum'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `BC'
/usr/lib64/gcc/x86_64-slackware-linux/4.5.2/../../../../lib64/libreadline.so: undefined reference to `tgetstr'

в маке файл, в разделе где указывается -lcli -lreadline
надо дописать -lncurses

взято отседова
по вопросам размещения Ваших сайтов на этом сервере пишите info@qwertyuser.ru