Openswan + xl2tpd + multiple clients behind nat
Форум — Admin
Добрый день. Недавно столкнулся с проблемой. необходимо поднять сервер удаленного доступа в корпоративную сеть. В качестве решения были выбрана связка 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"
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
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"'