Уважаемые товарисчи!
Сегодня столкнулся с пренеприятнейшей вещью.
У дочернего офиса поднят ВПН на pptpd...
Проблема заключается в том, что с моей сети одновременно может подключиться к дочернему впн-у только одна машина, что не есть хорошо (сидим за натом).
Определено методом научного тыка с разными логинами и разными провайдерами.
Когда одно соединение установлено, то клиенту дается отлуп с ошибкой 619, а в логах pptpd такие записи:
Dec 2 16:57:16 mail pppd[1853]: Connect: ppp3 <--> /dev/pts/8
Dec 2 16:57:18 mail pppd[1844]: LCP: timeout sending Config-RequestsDec 2 16:57:18 mail pptpd[1843]: GRE: read(fd=8,buffer=8059680,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpect
ed termination of pppd, check option syntax and pppd logs
Dec 2 16:57:18 mail pptpd[1843]: CTRL: PTY read or GRE write failed (pty,gre)=(8,9)Вопрос: это действительно такое ограничение и можно-ли как-то с этим справится?
>Вопрос: это действительно такое ограничение и можно-ли как-то с этим справится?# modprobe ip_nat_pptp
# modprobe ip_conntrack_pptp
>>Вопрос: это действительно такое ограничение и можно-ли как-то с этим справится?
>
># modprobe ip_nat_pptp
># modprobe ip_conntrack_pptpне помогло :(
>>>Вопрос: это действительно такое ограничение и можно-ли как-то с этим справится?
>>
>># modprobe ip_nat_pptp
>># modprobe ip_conntrack_pptp
>
>не помогло :(Кажется еще нужен
# modprobe ip_gre
>Кажется еще нужен
>
># modprobe ip_greК сожалению симптомы те же...
>>Кажется еще нужен
>>
>># modprobe ip_gre
>
>К сожалению симптомы те же...а так?
iptables -A POSTROUTING -o eth0 -j MASQUERADE
>а так?
>iptables -A POSTROUTING -o eth0 -j MASQUERADEмаскарадинг стоит на весь исходящий траффик...
>>а так?
>>iptables -A POSTROUTING -o eth0 -j MASQUERADE
>
>маскарадинг стоит на весь исходящий траффик...на внутреннем разрешить только то, что необходимо выпускать. протокол gre+порт 1723.
нет?
>>Кажется еще нужен
>>
>># modprobe ip_gre
>
>К сожалению симптомы те же...Ну тогда показывай настройки iptables
>Ну тогда показывай настройки iptablesс iptables все в порядке...
принимает соединения на порт 1723 и форвардит GRE...
по-моемй проблема лежит в pptpd...
http://gcolpart.evolix.net/blog21/pptp-vpn-gateway-with-debian/собственно вот нагуглил
>http://gcolpart.evolix.net/blog21/pptp-vpn-gateway-with-debian/
>
>собственно вот нагуглила я вот такое нагуглил:
The issue is generally at the Client end router, not the server.The issue is that the NAT Engine has to associate the GRE stream with each individual connection, but this is quite difficult as GRE doesn't have simple tags to identify the connection like TCP. The NAT engine doesn't know which client to send the GRE packet to.
Unfortunately, this problem occurs in the NAT engine at the client end. If this doesn't support Multiple Session VPN Passthrough there is no simple fix. The solutions I have used for this are:
- Replace Client router with one that supports multiple session VPN passthrough
- Setup a site-site VPN from router-router so everyone shares same VPN connection
- Arrange server end to allow VPN connection to a range of IP addresses and get each client to connect to a separate Ip Address.
- Use a pool of IP addresses at the client end so that each client VPN connection appears to come from a separate IP address.
- Give up and make sure only one person use VPN at a time.
и вот еще такая весчь:multiple pptp connections from one single ip to another single ip won't work because the underlying gre protocol doesnt use port numbers - so theres no way to create multiple gre streams and differentiate between them.
(tcp is IP protocol 6, gre is IP protocol 47. pptp uses TCP protocol/port 1723. important difference.)
either set up one site to site vpn, consider ipsec which is udp based (but unsure if it still suffers these problems - havent tried), or consider multiple public ip's and associated routing.
>[оверквотинг удален]
>work because the underlying gre protocol doesnt use port numbers -
>so theres no way to create multiple gre streams and differentiate
>between them.
>
>(tcp is IP protocol 6, gre is IP protocol 47. pptp uses
>TCP protocol/port 1723. important difference.)
>
>either set up one site to site vpn, consider ipsec which is
>udp based (but unsure if it still suffers these problems -
>havent tried), or consider multiple public ip's and associated routing.Вот здесь не подскажу, у меня ситуация, когда клиенты с разных ip подключаются на один vpn сервер. И наоборот, множество клиентов выходят через один ip на множество vpn серверов.
>Вот здесь не подскажу, у меня ситуация, когда клиенты с разных ip
>подключаются на один vpn сервер. И наоборот, множество клиентов выходят через
>один ip на множество vpn серверов.мдааа...
а у меня как раз наоборот... с одного айпи несколько клиентов на один впн-сервер...
видимо накрылась идея эта медным тазом...
Добрый день. Может я чего не понимаю, а не проще связку между серверами сделать?
И сидите себе довольные за натом.
>Добрый день. Может я чего не понимаю, а не проще связку между
>серверами сделать?
>И сидите себе довольные за натом.дык уже так и сделал...
хотелось как лучше, а получилось - как всегда...