Проблема с VPN сервером (Первое подключение проходит нормально а второе нет)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

nomata
Сообщения: 29
ОС: Ubuntu

Проблема с VPN сервером

Сообщение nomata »

Не пойму в чем может быть проблема.

В домашней локалке поднял VPN-сервер на CentOS 5.3
- pptpd сервер установлен
- минимально сконфигурирован поумолчанию
- назначает IP-адреса из подсети локалки
- установлены логины и пароли для подключения

Подключаюсь снаружи - виндой с параметрами поумолчанию. Первое подключение проходит без проблем! (удаленно вижу локалку).
Затем отключаюсь и пробую подключиться снова - но подключение замирает на проверке логина и пароля с ошибкой 619: Не удается подключиться к удаленному компьютеру.

Если рестартануть /etc/init.d/pptpd restart-kill то подключение снова устанавливается - НО! однократно.
При повторном переподключении опять не пускает.

Уточню: VPN сервер стоит в локалке за NAT-ом - на котором проброшен портмапинг tcp/udp портов 1723 до сервера. На самом сервере тоже открыты эти порты.

Не пойму в чем может быть причина? Почему первое подключение проходит без проблем, а второе нет и приходится рестартить pptpd. Может кто сталкивался?
Спасибо сказали:
Аватара пользователя
user0zlt74
Сообщения: 102
ОС: Arch Linux - core Dump

Re: Проблема с VPN сервером

Сообщение user0zlt74 »

nomata писал(а):
20.05.2009 12:47
Не пойму в чем может быть причина? Почему первое подключение проходит без проблем, а второе нет и приходится рестартить pptpd. Может кто сталкивался?


После завершения первого соединения pppd умирает ? или так и болтаеться в процессах ?

Дайте вывод:
cat /etc/ppp/options
Спасибо сказали:
nomata
Сообщения: 29
ОС: Ubuntu

Re: Проблема с VPN сервером

Сообщение nomata »

Да, после первого коннекта pppd умирает. После завершения коннекта исчезает интерфейс ppp0 как и положено.

до коннекта

[root@server sysconfig]# ps -A | grep pp
26573 ? 00:00:00 pptpd

первый коннект удачный

[root@server sysconfig]# ps -A | grep pp
26573 ? 00:00:00 pptpd
26587 ? 00:00:00 pptpctrl
26588 ? 00:00:00 pppd

после завершения коннекта

[root@server sysconfig]# ps -A | grep pp
26573 ? 00:00:00 pptpd

дальше подконнектиться не удается



cat options

lock



cat options.pptpd

Код: Выделить всё

[size=1]############################################################################
###
# $Id: options.pptpd,v 1.11 2005/12/29 01:21:09 quozl Exp $
#
# Sample Poptop PPP options file /etc/ppp/options.pptpd
# Options used by PPP when a connection arrives from a client.
# This file is pointed to by /etc/pptpd.conf option keyword.
# Changes are effective on the next connection.  See "man pppd".
#
# You are expected to change this file to suit your system.  As
# packaged, it requires PPP 2.4.2 and the kernel MPPE module.
###############################################################################


# Authentication

# Name of the local system for authentication purposes
# (must match the second field in /etc/ppp/chap-secrets entries)
name pptpd

# Strip the domain prefix from the username before authentication.
# (applies if you use pppd with chapms-strip-domain patch)
#chapms-strip-domain


# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use.)


# BSD licensed ppp-2.4.2 upstream with MPPE only, kernel module ppp_mppe.o
# {{{
refuse-pap
refuse-chap
refuse-mschap
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
require-mppe-128
# }}}


# OpenSSL licensed ppp-2.4.1 fork with MPPE only, kernel module mppe.o
# {{{
#-chap
#-chapms
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
#+chapms-v2
# Require MPPE encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
#mppe-40        # enable either 40-bit or 128-bit, not both
#mppe-128
#mppe-stateless
# }}}


# Network and Routing

# If pppd is acting as a server for Microsoft Windows clients, this
# option allows pppd to supply one or two DNS (Domain Name Server)
# addresses to the clients.  The first instance of this option
# specifies the primary DNS address; the second instance (if given)
# specifies the secondary DNS address.
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2

# If pppd is acting as a server for Microsoft Windows or "Samba"
# clients, this option allows pppd to supply one or two WINS (Windows
# Internet Name Services) server addresses to the clients.  The first
# instance of this option specifies the primary WINS address; the
# second instance (if given) specifies the secondary WINS address.
#ms-wins 10.0.0.3
#ms-wins 10.0.0.4

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.  This will have the effect of making the peer appear to other
# systems to be on the local ethernet.
# (you do not need this if your PPTP server is responsible for routing
# packets to the clients -- James Cameron)
proxyarp

# Normally pptpd passes the IP address to pppd, but if pptpd has been
# given the delegate option in pptpd.conf or the --delegate command line
# option, then pppd will use chap-secrets or radius to allocate the
# client IP address.  The default local IP address used at the server
# end is often the same as the address of the server.  To override this,
# specify the local IP address here.
# (you must not use this unless you have used the delegate option)
#10.8.0.100


# Logging

# Enable connection debugging facilities.
# (see your syslog configuration for where pppd sends to)
#debug

# Print out all the option values which have been set.
# (often requested by mailing list to verify options)
#dump


# Miscellaneous

# Create a UUCP-style lock file for the pseudo-tty to ensure exclusive
# access.
lock

# Disable BSD-Compress compression
nobsdcomp

# Disable Van Jacobson compression
# (needed on some networks with Windows 9x/ME/XP clients, see posting to
# poptop-server on 14th April 2005 by Pawel Pokrywka and followups,
# [url="http://marc.theaimsgroup.com/?t=111343175400006&r=1&w=2"]http://marc.theaimsgroup.com/?t=1113431754...amp;r=1&w=2[/url] )
novj
novjccomp

# turn off logging to stderr, since this may be redirected to pptpd,
# which may trigger a loopback
nologfd

# put plugins here
# (putting them higher up may cause them to sent messages to the pty)[/size]

================================================================

cat pptpd.conf

Код: Выделить всё

[size=1]
###############################################################################
# $Id: pptpd.conf,v 1.10 2006/09/04 23:30:57 quozl Exp $
#
# Sample Poptop configuration file /etc/pptpd.conf
#
# Changes are effective when pptpd is restarted.
###############################################################################

# TAG: ppp
#       Path to the pppd program, default '/usr/sbin/pppd' on Linux
#
#ppp /usr/sbin/pppd

# TAG: option
#       Specifies the location of the PPP options file.
#       By default PPP looks in '/etc/ppp/options'
#
option /etc/ppp/options.pptpd

# TAG: debug
#       Turns on (more) debugging to syslog
#
#debug

# TAG: stimeout
#       Specifies timeout (in seconds) on starting ctrl connection
#
# stimeout 10

# TAG: noipparam
#       Suppress the passing of the client's IP address to PPP, which is
#       done by default otherwise.
#
#noipparam

# TAG: logwtmp
#       Use wtmp(5) to record client connections and disconnections.
#
logwtmp

# TAG: bcrelay <if>
#       Turns on broadcast relay to clients from interface <if>
#
#bcrelay eth1

# TAG: delegate
#       Delegates the allocation of client IP addresses to pppd.
#
#       Without this option, which is the default, pptpd manages the list of
#       IP addresses for clients and passes the next free address to pppd.
#       With this option, pptpd does not pass an address, and so pppd may use
#       radius or chap-secrets to allocate an address.
#
#delegate

# TAG: connections
#       Limits the number of client connections that may be accepted.
#
#       If pptpd is allocating IP addresses (e.g. delegate is not
#       used) then the number of connections is also limited by the
#       remoteip option.  The default is 100.
#connections 100

# TAG: localip
# TAG: remoteip
#       Specifies the local and remote IP address ranges.
#
#       These options are ignored if delegate option is set.
#
#       Any addresses work as long as the local machine takes care of the
#       routing.  But if you want to use MS-Windows networking, you should
#       use IP addresses out of the LAN address space and use the proxyarp
#       option in the pppd options file, or run bcrelay.
#
#       You can specify single IP addresses seperated by commas or you can
#       specify ranges, or both. For example:
#
#               192.168.0.234,192.168.0.245-249,192.168.0.254
#
#       IMPORTANT RESTRICTIONS:
#
#       1. No spaces are permitted between commas or within addresses.
#
#       2. If you give more IP addresses than the value of connections,
#          it will start at the beginning of the list and go until it
#          gets connections IPs.  Others will be ignored.
#
#       3. No shortcuts in ranges! ie. 234-8 does not mean 234 to 238,
#          you must type 234-238 if you mean this.
#
#       4. If you give a single localIP, that's ok - all local IPs will
#          be set to the given one. You MUST still give at least one remote
#          IP for each simultaneous client.
#
# (Recommended)

localip 192.168.1.120
remoteip 192.168.1.200-220

# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245

[/size]


cat /etc/sysconfig/iptables


# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Спасибо сказали:
Аватара пользователя
user0zlt74
Сообщения: 102
ОС: Arch Linux - core Dump

Re: Проблема с VPN сервером

Сообщение user0zlt74 »

Так..а как организваонно прохождение протокола GRE ? Хотя тут это наверное не причем.
Что я могу сказать, смотреть в сторону /var/log/...
особенно в :
/var/log/messages.log
/var/log/daemon.log
/var/log/errors.log
Сходу ничего не могу придумать :)
Поднимал на работе pptpd но не за NAT'Ом :) - все работало, таких ошибок не было.
Вопрос ребром - нужен имменно pptp ? openvpn не подходит ? :)
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Проблема с VPN сервером

Сообщение butch »

нужно однозначно смотреть логи. грепните их по имени сервиса (pptp наверное. или ppp)
и выложите сюда. и пожалуйста, пользуйтесь тегами code!!!
Спасибо сказали:
nomata
Сообщения: 29
ОС: Ubuntu

Re: Проблема с VPN сервером

Сообщение nomata »

Спасибо user0zlt74, butch за помощь!
Проблема оказалась в аппаратном NAT-е за которым собственно и стоял VPN сервер.
Помимо порт-мапинга 1723-го порта там надо было еще поставить галку на опции PPTP passthrough, которой я сначало не заматил.
Удивительно что первый коннект проходил, а последующие нет )))
но сейчас проходят все.
Спасибо!
Спасибо сказали: