поднятие туннеля PPTP через NAT на Debian

Добрый день.

Столкнулся с такой проблемой и не получается понять в чем дело. На Debian 7 работало поднятие туннеля VPN (PPTP) через сервер за NAT а уже на Debian 9 не работает.

Возможно кто то еще сталкивался с этой проблемой, нашел ее решение и может подсказать что надо сделать что бы устранить эту проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что в логах , какую ошибку возвращает ? 

 

P.S. проверьте файервол

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
21 час назад, orlik сказал:

что в логах , какую ошибку возвращает ? 

 

P.S. проверьте файервол

под windows

 

просто зависает при попытке подключиться без какой либо ошибки

 

под linux

 

Sep  8 14:02:40 vixen pppd[503]: pppd 2.4.7 started by izolda, uid 0
Sep  8 14:02:40 vixen kernel: [10656.181181] PPP generic driver version 2.4.2
Sep  8 14:02:40 vixen pppd[503]: Using interface ppp0
Sep  8 14:02:40 vixen pppd[503]: Connect: ppp0 <--> /dev/pts/1
Sep  8 14:02:43 vixen pppd[503]: Modem hangup
Sep  8 14:02:43 vixen pppd[503]: Connection terminated.
Sep  8 14:02:43 vixen pppd[503]: Exit.

 

в фаерволе только это

 

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 10.0.0.0/8 -o eth0 -j SNAT --to-source 213.24.76.23

 

при tcpdump proto 47 при подключении повторяющийся в цикле

 

11:40:54.557068 IP 192.168.0.2 > host-213.24.75.18: GREv1, call 67, seq 0, length 37: LCP, Conf-Request (0x01), id 0, length 23

...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
21 час назад, orlik сказал:

что в логах , какую ошибку возвращает ?

root@vixen:/# pon test debug dump logfd 2 updetach

using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedd3663a> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedd3663a> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedd3663a> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedd3663a> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedd3663a> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedd3663a> <pcomp> <accomp>]
^CTerminating on signal 2
Child process pptp 213.24.75.18 --nolaunchpppd (pid 455) terminated with signal 2
Modem hangup
Connection terminated.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в ppp.options добавьте debug тогда будет видно на чем именно валится

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На Debian попробуйте подгрузить

modprobe ip_gre
modprobe ip_nat_pptp
modprobe ip_conntrack_pptp
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 08.09.2017 в 16:02, orlik сказал:

в ppp.options добавьте debug тогда будет видно на чем именно валится

добавил и вывод такой же в логах

 

 

 

В 08.09.2017 в 17:35, Avad0n сказал:

На Debian попробуйте подгрузить

modprobe ip_gre
modprobe ip_nat_pptp
modprobe ip_conntrack_pptp
 

 

вот что загружено в системе и поднятие vpn не работает

 

lsmod | grep -P "gre|pptp"
nf_nat_pptp            16384  0
nf_nat_proto_gre       16384  1 nf_nat_pptp
nf_conntrack_pptp      16384  1 nf_nat_pptp
nf_conntrack_proto_gre    16384  1 nf_conntrack_pptp
nf_nat                 28672  2 nf_nat_pptp,nf_nat_proto_gre
nf_conntrack          114688  4 nf_nat_pptp,nf_conntrack_pptp,nf_conntrack_proto_gre,nf_nat
ip_gre                 24576  0
ip_tunnel              28672  1 ip_gre
gre                    16384  1 ip_gre

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dmesg что кажет?. Вот только я из самой проблемы не понял. Нужен pptp+nat или всё же pptp over nat? Снова вопрос - nat чем создается? Если nat создан другим pptp, то pptp over pptp достаточно геморройная штука и будет работать только в том случае, если первый pptp натится на реальный IP, а не на серый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 13.09.2017 в 13:19, default_vlan сказал:

dmesg что кажет?. Вот только я из самой проблемы не понял. Нужен pptp+nat или всё же pptp over nat? Снова вопрос - nat чем создается? Если nat создан другим pptp, то pptp over pptp достаточно геморройная штука и будет работать только в том случае, если первый pptp натится на реальный IP, а не на серый.

есть сервер один

есть сервер два

 

за первым сервером есть компьютера

за вторым сервером есть компьютеры

 

за первым сервером компьютеры сидят по технологии NAT и второй сервер их видит через сетевой адрес самого сервера

 

на самом первом сервере правило NAT

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 10.0.0.0/8 -o eth0 -j SNAT --to-source $REAL_IP

 

при таком варианте не работает поднятие VPN с компьютера за первым сервером на компьютер на котором VPN-server и компьютер находиться за вторым сервером

 

если использовать на первом сервере правило NAT

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d $SERVER2_NETWORK -o eth0 -j SNAT --to-source $REAL_IP

и сделать маршрут видимости абонентов второго сервера без NAT

 

то тогда работает поднятие VPN с компьютера за первым сервером на компьютер на котором VPN-server и компьютер находиться за вторым сервером

но проблема в том что такой вариант правила NAT мы использовать не можем и пока не нашли способа как сделать правило с исключением NAT для двух подсетей ! -d {$NETWORK1 $NETWORK2} - в таком варианте не работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для двух и более сетей есть, как минимум, ipset.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 13.09.2017 в 15:19, default_vlan сказал:

dmesg что кажет?. Вот только я из самой проблемы не понял. Нужен pptp+nat или всё же pptp over nat? Снова вопрос - nat чем создается? Если nat создан другим pptp, то pptp over pptp достаточно геморройная штука и будет работать только в том случае, если первый pptp натится на реальный IP, а не на серый.

pptp over nat не работает. без nf_nat_pptp он он ругается на

conntrack: generic helper won't handle protocol 47. Please consider loading the specific helper module.

с nf_nat_pptp просто тишина и ничего не работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нихрена из описания непонятно, где какой НАТ, рисуйте схему, но на всякий случай скажу сразу, если pptp-сервак сидит за НАТ'ом, то помимо ната ip протокола, надо ещё натить и 47-й.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

pptp_client<--->(локалка)<--->linux_server<--->(inet)<--->pptp_server

 

т.е. клиент сидит на NAT, сервер в public.

 

модули: nf_nat_pptp со всей обвзякой и ip_gre загружены

 

в sysctl: net.netfilter.nf_conntrack_helper=1

 

в iptables: -A PREROUTING -p tcp -m tcp --dport 1723 -j CT --helper pptp

 

сам nat обычный snat: -A POSTROUTING -s 10.xxx.xxx.0/24 -o eth0 -j SNAT --to-source yy.yy.yy.yy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На Debian 8  все работало  с подгруженными модулями

modprobe nf_conntrack_pptp
modprobe nf_conntrack
modprobe ip_gre
modprobe ip_nat_pptp

на Debian 9   не работало до тех пор пока не добавил

sysctl -w net.netfilter.nf_conntrack_helper=1

и все заработало!
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, tugik сказал:

На Debian 8  все работало  с подгруженными модулями

modprobe nf_conntrack_pptp
modprobe nf_conntrack
modprobe ip_gre
modprobe ip_nat_pptp

на Debian 9   не работало до тех пор пока не добавил

sysctl -w net.netfilter.nf_conntrack_helper=1

и все заработало!
 

Оно уже есть. GRE все так же падает в UNREPLIED

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Резюмирую.

В общем случае в 9 debian'е достаточно:

modprobe nf_nat_pptp
sysctl -w net.netfilter.nf_conntrack_helper=1

В моём кейсе это не помогло, потому что я напоролся вот на такое дерьмо

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2061834

 

В итоге проблема решилась заменой E1000 на VMXNET3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про виртуалки речи нигде не было ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти