Страница 1 из 1

Проблема с повторным подключение VPN.

Добавлено: Вт апр 22, 2008 8:50 am
Alex_K
Короче проблемка такая после того как один раз зацепился на сервер то второй раз уже не пускает. Пишет "Подключение было закрыто удаленным компьютером". Вот что пишет в логах "ppp"

Warning: iface add: ioctl(SIOCAIFADDR, xx.xx.xx.xx -> 10.10.10.237): File exists
Apr 22 08:47:05 atp ppp[1013]: tun0: Error: ipcp_InterfaceUp: unable to set ip address
Apr 22 08:47:05 atp ppp[1013]: tun0: IPCP: deflink: LayerDown: 85.159.25.114
Apr 22 08:47:05 atp ppp[1013]: tun0: Command: MYADDR: !bg /usr/local/abills/libexec/linkupdown down INTERFACE USER HISADDR
Apr 22 08:47:05 atp ppp[1013]: tun0: IPCP: deflink: SendTerminateReq(3) state = Opened
Apr 22 08:47:05 atp ppp[1013]: tun0: IPCP: deflink: State change Opened --> Closing
Apr 22 08:47:05 atp ppp[1013]: tun0: LCP: deflink: SendIdent(9) state = Opened
Apr 22 08:47:05 atp ppp[1013]: tun0: LCP: MAGICNUM 13a6d16f
Apr 22 08:47:05 atp ppp[1013]: tun0: LCP: TEXT user-ppp 3.1 (built Apr 22 2008)
Apr 22 08:47:06 atp ppp[1013]: tun0: Warning: ipv4_Input: IPCP not open - packet dropped
Apr 22 08:47:08 atp ppp[1013]: tun0: IPCP: deflink: SendTerminateReq(3) state = Closing
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: deflink: read (0): Got zero bytes
Apr 22 08:47:09 atp ppp[1013]: tun0: CCP: deflink: State change Req-Sent --> Starting
Apr 22 08:47:09 atp ppp[1013]: tun0: CCP: deflink: LayerFinish.
Apr 22 08:47:09 atp ppp[1013]: tun0: CCP: deflink: State change Starting --> Initial
Apr 22 08:47:09 atp ppp[1013]: tun0: LCP: deflink: LayerDown
Apr 22 08:47:09 atp ppp[1013]: tun0: LCP: deflink: State change Opened --> Starting
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: deflink: open -> lcp
Apr 22 08:47:09 atp ppp[1013]: tun0: IPCP: deflink: LayerFinish.
Apr 22 08:47:09 atp ppp[1013]: tun0: IPCP: Connect time: 14 secs: 0 octets in, 0 octets out, Local: 0 0
Apr 22 08:47:09 atp ppp[1013]: tun0: IPCP: 0 packets in, 0 packets out
Apr 22 08:47:09 atp ppp[1013]: tun0: IPCP: total 0 bytes/sec, peak 0 bytes/sec on Tue Apr 22 08:46:55 2008
Apr 22 08:47:09 atp ppp[1013]: tun0: IPCP: deflink: State change Closing --> Initial
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: bundle: Terminate
Apr 22 08:47:09 atp ppp[1013]: tun0: LCP: deflink: LayerFinish
Apr 22 08:47:09 atp ppp[1013]: tun0: LCP: deflink: State change Starting --> Initial
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: deflink: Disconnected!
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: deflink: Connect time: 21 secs: 885 octets in, 1384 octets out, Local: 0 0
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: deflink: 16 packets in, 35 packets out
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: total 108 bytes/sec, peak 207 bytes/sec on Tue Apr 22 08:46:56 2008
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: deflink: lcp -> closed
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: bundle: Dead
Apr 22 08:47:09 atp ppp[1013]: tun0: Phase: PPP Terminated (normal).

Добавлено: Чт май 29, 2008 8:38 am
reaper
решение есть? такая хрень на FreeBSD 7.0

Добавлено: Чт май 29, 2008 10:29 am
~AsmodeuS~
Два раза выдаёт тотже адрес

Добавлено: Чт май 29, 2008 10:33 am
reaper
проблема в том, что остается маршрут на ип пользователя при отключении, поборол пока так
в ppp.linkup

Код: Выделить всё

MYADDR:
  !bg route delete HISADDR
  !bg route add HISADDR -iface INTERFACE
в ppp.linkdown

Код: Выделить всё

MYADDR:
  !bg route delete HISADDR

Добавлено: Пн июн 09, 2008 12:10 pm
antony
Сейчас наблюдается такой вот странный глюк:

Код: Выделить всё

netstat -anr
 
11.100.1.194       11.100.1.5         UGH         0        0   tun0
11.100.1.238       11.100.1.5         UGH         0       18   tun0
ppp добавляет два разных маршрута которые идут на один интерфейст tun0

Код: Выделить всё

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1458
        inet 11.100.1.5 --> 11.100.1.238 netmask 0xffffff00
        Opened by PID 5004
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1458
        inet 11.100.1.5 --> 11.100.1.194 netmask 0xffffff00
        Opened by PID 5013
Но поднято два интерфейса tun0 и tun1. В логах все шеколадно. Кто первый законектился тот и работает. Пытался в ручную дописать в ppp.linkup не выходит.
Я так понимаю сама строчка
!bg /usr/abills/libexec/linkupdown up INTERFACE USER HISADDR
маршруты не прописывает.

Как же заставить ppp добавлять маршрут вида

route add 11.100.1.194 11.100.1.5 через tun1

Кстати пробовал с консоли такое сделать не выходит

route add 11.100.1.194 11.100.1.5 -iface tun1
пишет route: bad address: tun1


FreeBSD abills 7.0-RELEASE-p1 FreeBSD 7.0-RELEASE-p1

Добавлено: Пн июн 09, 2008 12:51 pm
reaper
antony писал(а):route add 11.100.1.194 11.100.1.5 через tun1

Кстати пробовал с консоли такое сделать не выходит

route add 11.100.1.194 11.100.1.5 -iface tun1
пишет route: bad address: tun1
man route

route add 11.100.1.5 -iface tun1

Добавлено: Пн июн 09, 2008 5:36 pm
antony
reaper писал(а):
antony писал(а):route add 11.100.1.194 11.100.1.5 через tun1

Кстати пробовал с консоли такое сделать не выходит

route add 11.100.1.194 11.100.1.5 -iface tun1
пишет route: bad address: tun1
man route

route add 11.100.1.5 -iface tun1
11.100.1.5 это шлюз.

А мне нужно
route add -host 11.100.1.194 на 11.100.1.5 через tun0
route add -host 11.100.1.195 на 11.100.1.5 через tun1

Только вот непонятно, почему ppp подымает сам маршрут (2 штуки) только на tun0, хоть должен на tun0 для одного, на tun1 для другого.


Код: Выделить всё

pptp:
  set ifaddr 11.100.1.5 11.100.1.10-249 255.255.255.0
  set mtu 1460
  set mru 1460
  allow mode direct
  enable lqr
  set timeout 6000
  disable acfcomp protocomp
  deny acfcomp
  enable MSChapV2
  accept dns
  enable dns
  set server 3000 passwd
  set radius /etc/radius.conf
  set rad_service_type 11
  set rad_alive 30
  set accmap ffffffff
  connections 1000


Добавлено: Вт июн 10, 2008 5:43 am
antony
Сделал так в линкап

Код: Выделить всё

    !bg sh -c "route delete HISADDR"
    !bg sh -c "route add -host HISADDR 11.100.1.5 -ifp INTERFACE"
    !bg /usr/abills/libexec/linkupdown up INTERFACE USER HISADDR
Работает, но не уверен все правильности данного метода. Понять бы почему сам ppp неверно указывает маршрут на первый tun0 для всех остальных тунелей.

Добавлено: Вт июн 17, 2008 11:54 am
antony
Проблема иногда выскакивает, непонятно почему такое получается.

Добавлено: Вт мар 24, 2009 12:45 pm
antony
Ниукого большей такой проблемы не было?
У меня все чаше появляется. Траблы с маршрутизацией через тунели.

Добавлено: Чт мар 26, 2009 1:56 pm
antony
Налабал скриптец, запуск каждую минуту, основная часть с billd

Проверяет ifconfig и netstat -anr, если у клиента оказывается несоответсвие с ifconfig, удаляем маршурт и прописываем заново c нужным тунелем.


Написал за 10 минут, так что не пинайте за кривизну :))

Код: Выделить всё

#!/usr/bin/perl -w


 open (IFC, "/sbin/ifconfig |") || die "Can't open file  $!";
    while (my $l = <IFC>) {
      $ifconfig .= $l;
     }
  close(IFC);

  while($ifconfig =~ /tun(\d+): (.+\n\s.+[\n\s.]+[\n\sa-zA-Z0-9]+\n)/gi) {
    my $tunnum = $1;
    my $res    = $2;

    my $pid    = 0;
    my $addr   = '0.0.0.0';

    my @ifs = split(/\n/, $res);

    foreach my $line (@ifs) {
      if ($line =~ /^(\d+)/) {
         $tunnum=$1;
        }
      elsif ($line =~ m/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3} --> (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})/g) {
         $addr = $1;
        }
      elsif ($line =~ /PID (\d+)/gi) {
         $pid = $1;
       }
     }

    if ($addr eq '0.0.0.0') {
      next;
     }
    else {
#    print "$addr $pid tun$tunnum -> ";
    $addr_=`netstat -anr | grep 11.100.1.5 | grep UGHS |grep $addr | awk '{print(\$1,\$6)}'`;
    ($net_ip,$net_tun)=split(" ",$addr_);
    $tun="tun$tunnum";
    print "if $addr -> route $net_ip, $tun = $net_tun ?! \n";
    if($tun ne $net_tun)
    {

    $a= "To: мыло-куда-отпраить-увидомление\@блабла.ру\n";
    $a.="From: abills\n";
    $a.="Subject: SHIT! if $addr -> route $net_ip, $tun = $net_tun ?! \n";
    $a.="

    ";
    $a.="if $addr -> route $net_ip, $tun = $net_tun ?! \n";
    $a.="route delete $addr; route add -host $addr 11.100.1.5 -ifp $tun \n";
    $a.=`route delete $addr; route add -host $addr 11.100.1.5 -ifp $tun`;
    open(MAIL, "|/usr/sbin/sendmail -t");
    print MAIL $a ;
    }

    }
   }


Добавлено: Сб апр 11, 2009 7:02 pm
SamJan
Все один в один тоже самое творится у меня...
А почему молчит Асмодеус.

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

Не знаю даже где копать

Re: Проблема с повторным подключение VPN.

Добавлено: Вт дек 01, 2009 6:21 pm
antony
где-то читал что это проблема 7-ки.
на днях планируют поднять серв с новым релизом, посмотрю как там с этим делом.