@daniks
Ничего особенного

Почему работает маршрутизация PPTP?

Доброго времени суток, столкнулся с проблемой PPTP
Поднял PPTP-сервер, и пытаюсь подключится с Win, всё отлично, интернет работает, и так же могу зайти на выделенный IP по RDP, не глючит ничего.
Как только настраиваю клиент PPTP на Linux, то всё, беда.
Мои настройки клиента:
persist
maxfail 0
debug
lock
require-chap
noauth
nobsdcomp
nodeflate
nodetach
noproxyarp
mtu 1400
name testvpn
#nodefaultroute
defaultroute
replacedefaultroute
remotename PPTP
pty "pptp 104.104.104.1 --nolaunchpppd"

С параметром replacedefaultroute теряется доступ к прямому IP, и на выделенный IP можно попасть с трудом. Если выключить программные маршрутизации, pptp поднимается, но нужно сделать чтобы клиент ходил в интернет через PPTP, и так же удалённо могли подключатся к выделенному IP.

Вот поднятый pptp
root@vps302805:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default old.zk-1.sbg.sp 0.0.0.0 UG 0 0 0 eth0
10.84.1.1 * 255.255.255.255 UH 0 0 0 ppp0
old.zk-1.sbg.sp * 255.255.255.255 UH 0 0 0 eth0
104.104.104.1 old.zk-1.sbg.sp 255.255.255.255 UGH 0 0 0 eth0

Такие махинации ни к чему не приводят, только глючит всё:
ip route del default
ip route add default ppp0

Подскажите пожалуйста в чём может быть проблема?
  • Вопрос задан
  • 596 просмотров
Пригласить эксперта
Ответы на вопрос 1
SLIDERWEB
@SLIDERWEB
ИТ-Куроводитель
Прроблема в маршрутизации, если сервер настроен верно и нет проблем с шифрованием.
При поднятии PPTP необходимо прописать необходимые маршруты на клиенте.
PPTP не инжектит маршруты клиентам.
Как там Windows работает с VPN - мало осведомлен, так как уж очень много там "магии", однако в никсах все решается добавлением нужного маршрута.

я делаю так (до известного BT-трэкера)
#!/bin/sh
# обозначаем возможные переменные для проверок
ifname=$1        # имя интерфейса pppd (e.g. ppp0)
ttyname=$2       # Имя tty-устройства 
speed=$3         # скорость tty-устройства
localip=$4       # локальный IP интерфейса
remoteip=$5      # IP-адрес удаленного "конца" туннеля
ipparam=$6       # текущий IP address до подключения к VPN

#192.168.0.1 - адрес Вашего VPN-шлюза

case "$remoteip" in
    192.168.0.1)
        /sbin/route add -net 195.82.146.0/23 -interface $ifname
        ;;
esac
exit 0;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы