Tomsk Sysadmins Forum

Unix => Администрирование => Topic started by: empty on January 06, 2008, 22:42:23

Title: VPN до TOMTEL на FreBSD 6.2
Post by: empty on January 06, 2008, 22:42:23
система FreeBSD 6.2
проваайдер Томтел. пытаюсь настроить ВПН соединение до ТОМТЕЛа с помощью mpd4.
====== mpd.conf ======
default:
        load pptp-client

pptp-client:
        new pptp-cl pptp-cl
        set iface route default
        set bundle no noretry
        set auth authname VPN_LOGIN
        set auth password VPN_PASS
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 20 75
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0
        open

======= mpd.links ==========
pptp-cl:
        set link type pptp
        set pptp peer 62.68.140.14 #vpn.ivanco.net
        set pptp enable originate
        set pptp disable incoming windowing

ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 79.136.134.212 netmask 0xffffff00 broadcast 79.136.134.255
        ether 00:02:44:3e:07:a3
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1460
        inet 78.139.218.180 --> 77.106.95.210 netmask 0xffffffff

я так понимаю тунель устанавливается, адрес получается...
но пинги попрежнему не уходят до ya.ru
Title: VPN до TOMTEL на FreBSD 6.2
Post by: bintree on January 07, 2008, 00:53:45
mpd.conf
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']default:
    load vpn
   
vpn:
    new -i ng2 pptp1 pptp1
    set iface disable on-demand
    set bundle disable multilink
    set bundle authname "user"
    set bundle password "passwd"
    set link yes acfcomp protocomp
    set link keep-alive 10 60
    set ipcp ranges 0/0
    open
    set iface route default


mpd.links
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']pptp1:
    set link type pptp
    set pptp peer 77.106.109.26
    set pptp enable originate incoming outcall
    set pptp disable windowing


mpd.secret
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']user       "passwd" 77.106.109.26
Title: VPN до TOMTEL на FreBSD 6.2
Post by: empty on January 07, 2008, 11:16:00
судя по логам, проблема с маршрутом
[pptp-cl] IFACE: Add route 0.0.0.0/0 77.106.95.210 failed: File exists

netstat -nr (до соединения)
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            79.136.134.129     UGS         0    14164    rl0
79.136.134/24      link#1             UC          0        0    rl0
79.136.134.129     00:16:9d:1b:d3:e3  UHLW        2        0    rl0   1069
127.0.0.1          127.0.0.1          UH          0        0    lo0

netstat -nr (после соединения)
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            79.136.134.129     UGS         0    14115    rl0
77.106.95.210      78.139.218.176     UH          0        0    ng2
79.136.134/24      link#1             UC          0        0    rl0
79.136.134.129     00:16:9d:1b:d3:e3  UHLW        2        0    rl0   1090
127.0.0.1          127.0.0.1          UH          0        0    lo0
Title: VPN до TOMTEL на FreBSD 6.2
Post by: boombastic on January 07, 2008, 11:39:20
судя по netstat, default route у тебя не поменялся.
Title: VPN до TOMTEL на FreBSD 6.2
Post by: empty on January 07, 2008, 12:03:29
да... в этом-то и проблема...
вообще мпд я запускал, но вот так...
перед запуском:

route delete default

затем скрипт прописывающий маршруты до томских сетей через основной шлюз
затем стартую мпд.
тогда он ставит себя деволтовым шлюзом.
в результате томск идет на прямую, а внеха через впн...

просто хотелось нормально запустить
Title: VPN до TOMTEL на FreBSD 6.2
Post by: nuclight on January 09, 2008, 19:37:18
В конфиг добавить:

Code: [Select]
        set iface up-script /root/bin/vpn-up.sh
        set iface down-script /root/bin/vpn-down.sh

В скриптах делать чего надо. Например кусок скрипта поднятия (выкинут почти весь файрвол и NAT) интерфейса:

Code: [Select]
#!/bin/sh

# PPTP VPN up-script - called after connect by mpd like this:
#
#    script interface inet local-ip remote-ip authname [ dns1 server-ip ] [ dns2 server-ip ]

ps_iface=$1
our_ip=$3
peer_ip=$4
fwa="/sbin/ipfw -q add"
sn="set 1"      # set number for mass delete in down-script

if [ "x" = "x$ps_iface" -o "xinet" != "x$2" -o "x" = "x$our_ip" -o "x" = "x$peer_ip" ]; then
        echo Error - must be called from mpd.
        exit 1
fi

### configure netgraph TCP MSS Fix node ###
ngctl mkpeer ipfw: tcpmss 160 qqq
ngctl name ipfw:160 vpn_tcpmss
ngctl msg vpn_tcpmss: config '{ inHook="qqq" outHook="qqq" maxMSS=1400 }'

### add ipfw rules ###
$fwa 160 $sn netgraph 160 tcp from any to any tcpflags syn via $ps_iface

# ... остальная часть скрипта пропущена ...

### at last, start routing
/sbin/route delete default
/sbin/route add default $peer_ip

И большая часть down-скрипта:
Code: [Select]
#!/bin/sh

# PPTP VPN down-script - called after connect by mpd like this:
#
#    script interface inet authname

ps_iface=$1
# set $defaultrouter from rc.conf
eval `grep defaultrouter /etc/rc.conf`

if [ "x" = "x$ps_iface" -o "xinet" != "x$2" ]; then
        echo Error - must be called from mpd.
        exit 1
fi

# ... остальная часть скрипта пропущена ...

### delete ipfw rules ###
/sbin/ipfw delete set 1

### shutdown TCP MSS Fix netgraph node ###
ngctl shutdown vpn_tcpmss:

### stop routing ###
/sbin/route delete default
/sbin/route add default $defaultrouter

У меня mpd3, в нем собственный tcpmssfix поломан, поэтому использован внешний в скриптах. В mpd4 должен нормально включаться в конфиге. Ну и он вообще не нужен, если машина не выпускает через себя другие.
Title: VPN до TOMTEL на FreBSD 6.2
Post by: empty on January 12, 2008, 02:39:30
ок... спасибо большое  попробую