Tomsk Sysadmins Forum
Unix => Администрирование => Topic started 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
-
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
-
судя по логам, проблема с маршрутом
[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
-
судя по netstat, default route у тебя не поменялся.
-
да... в этом-то и проблема...
вообще мпд я запускал, но вот так...
перед запуском:
route delete default
затем скрипт прописывающий маршруты до томских сетей через основной шлюз
затем стартую мпд.
тогда он ставит себя деволтовым шлюзом.
в результате томск идет на прямую, а внеха через впн...
просто хотелось нормально запустить
-
В конфиг добавить:
set iface up-script /root/bin/vpn-up.sh
set iface down-script /root/bin/vpn-down.sh
В скриптах делать чего надо. Например кусок скрипта поднятия (выкинут почти весь файрвол и NAT) интерфейса:
#!/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-скрипта:
#!/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 должен нормально включаться в конфиге. Ну и он вообще не нужен, если машина не выпускает через себя другие.
-
ок... спасибо большое попробую