LINUX.ORG.RU
ФорумAdmin

Openswan + xl2tpd + multiple clients behind nat

 , ,


1

1

Добрый день. Недавно столкнулся с проблемой. необходимо поднять сервер удаленного доступа в корпоративную сеть. В качестве решения были выбрана связка openswan + xl2tpd. Успешно настроена и работает авторизация как по ключу PSK так и по сертификатам. Так же работает доменная авторизация (AD на винде). Но небо безоблачным не бывает. Суть проблемы: Когда несколько клиентов сидящих за одним и тем же NAT'ом подключаются к серверу(к примеру с другого офиса), работать остается только последний подключившийся, остальных выбрасывает.

Кто настраивал сервера удаленного доступа, поделитесь пожалуйста секретным знанием =) Хочется чтобы клиенты могли работать с любой точки земного шара.

Исходные данные:

Linux 3.8.13-gentoo x86_64
net-misc/openswan-2.6.38  USE="extra-algorithms nocrypto-algorithms pam ssl weak-algorithms -caps -curl -ldap -ms-bad-proposal -nss"
net-dialup/xl2tpd-1.3.1-r2  USE="kernel -dnsretry" 
ipsec.conf
version	2.0

config setup
	plutostderrlog="/var/log/openswan.log"
	dumpdir=/var/run/pluto/
	nat_traversal=yes
	virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v6:fd00::/8,%v6:fe80::/10,%v4:!e.e.e.0/24
	oe=off
	protostack=auto
	
conn l2tp-X.509
	authby=rsasig
	pfs=no
	auto=start
	rekey=no
	dpddelay=10
	dpdtimeout=90
	dpdaction=clear
	ikelifetime=8h
	keylife=1h
	keyingtries=1
	type=tunnel
	left=x.x.x.x
	leftid=%defaultroute
	leftrsasigkey=%cert
	leftcert=/etc/ipsec.d/certs/strongswanCert.pem
	leftprotoport=17/1701
	leftnexthop=%defaultroute
	right=%any
	rightca=%same
	rightrsasigkey=%cert
	rightprotoport=17/%any
	rightsubnet=vhost:%priv,%no    
conn passthrough-for-non-l2tp
        type=passthrough
        left=x.x.x.x
        leftnexthop=y.y.y.y
        right=0.0.0.0
        rightsubnet=0.0.0.0/0
        auto=route
conn l2tp-psk-nat
        rightsubnet=vhost:%priv
        also=l2tp-psk-no-nat
conn l2tp-psk-no-nat
	authby=secret
        pfs=no
        auto=add
        keyingtries=3
	rekey=no
        dpddelay=10
        dpdtimeout=90
        dpdaction=clear
        ikelifetime=8h
        keylife=1h
        type=transport
        left=x.x.x.x
        leftprotoport=17/1701
        right=%any
        rightprotoport=17/%any

ipsec.secrets

: RSA strongswanKey.pem "pass1"
%any %any: PSK "pass2"

xl2tpd.conf

[global]
listen-addr = x.x.x.x
port = 1701	
[lns default]							
exclusive = no
ip range = e.e.e.25-e.e.e.27
local ip = e.e.e.241
length bit = yes
refuse pap = yes
refuse chap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes	
options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
require-mschap-v2
ms-dns e.e.e.3
ms-dns e.e.e.10
mtu 1280
mru 1280
nodefaultroute
debug
name l2tpd
lock
crtscts
logfile /var/log/xl2tpd.log
proxyarp
connect-delay 5000
auth
plugin winbind.so
ntlm_auth-helper '/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of="DOMAIN/VPN_USERS"'

ну тут похоже надо поковыряться в настройках политика шифрования на клиентах. предполагаю что src-address на клиентах прописан подсеткой, а не конкретным ip/32. да и по логике если за одним натом несколько клиентов подключается к одному и тому же серваку, то может проще ipsec поднять на самом нате?

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.