Страница 1 из 1
Ищу freebsd клиент для Windows-VPN (l2tp+ipsec)
Добавлено: 2021-12-26 1:24:19
walik55
Привет всем!
Нужно подключиться из-под Freebsd 13 к виндовой l2tp+ipsec vpn, причем, комп за NAT'ом.
Решение для Linux через strongswan + xl2tpd нашлось практически сразу, и заработало на Linux'e "с пол-пинка".
Для Freebsd же по этой проблеме в сети информации очень немного.
Находил вариант через strongswan + mpd5, но заставить работать эту связку не удалось.
Попадались варианты через racoon и mpd5, но они достаточно древние.
Удалось ли кому-нибудь найти решиение для Freebsd?
Ищу freebsd клиент для Windows-VPN (l2tp+ipsec)
Добавлено: 2022-01-04 18:09:56
walik55
Всех с Новым годом!
В общем, удалось запустить связку strongswan + mpd5. Вся проблема оказалась конфиге mpd5. Итак, если кому интересно.
FreeBSD 13.0, ядро GENERIC. strongswan-5.9.4 и mpd5-5.9_4 из пакетов. Клиентский комп во внутренней сети за NATом.
WinVPN_IP - наружный (белый) адрес сервера VPN.
Код: Выделить всё
# cat /usr/local/etc/ipsec.conf
config setup
# strictcrlpolicy=yes
# uniqueids = no
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev1
authby=secret
esp=aes128-sha1!
ike=3des-sha1-modp1024!
conn l2tp
keyexchange=ikev1
left=%defaultroute
auto=add
authby=secret
type=transport
leftprotoport=17/%any
rightprotoport=17/1701
rightid = %any
right = WinVPN_IP
auto = start
Код: Выделить всё
# cat /usr/local/etc/ipsec.secrets
# ipsec.secrets - strongSwan IPsec secrets file
: PSK "Pre-SharedKey"
Код: Выделить всё
# cat /usr/local/etc/mpd5/mpd.conf
startup:
# configure mpd users
set user foo bar admin
set user foo1 bar1
# configure the console
set console self 127.0.0.1 5005
set console open
# configure the web server
set web self 0.0.0.0 5006
set web open
# log +ALL +EVENTS -FRAME -ECHO
default:
load l2tp
l2tp:
create bundle static L2TP
set iface mtu 1480
set iface idle 0
set iface up-script /usr/local/etc/mpd5/up.sh
set iface down-script /usr/local/etc/mpd5/down.sh
create link static L2 l2tp
set link action bundle L2TP
set link latency 0
set link max-redial 1
set link disable incoming acfcomp protocomp magicnum check-magic shortseq
set link deny chap-msv1 eap acfcomp protocomp shortseq
set link accept pap
set link keep-alive 10 75
set l2tp peer WinVPN_IP
set auth authname "user"
set auth password "Password"
open
В скриптах up.sh и down.sh добавляется и удаляется маршрут к внутренней сети WinVPN.
Адрес рутера внутренней сети WinVPN можно "подсмотреть" в параметрах поднявшегося туннеля ng командой ifconfig.
В конфиг IPFW добавлено правило:
Код: Выделить всё
${fwcmd} add pass udp from WinVPN_IP to me in frag
Запуск клиента:
Код: Выделить всё
# /usr/local/etc/rc.d/strongswan onestart
# /usr/local/etc/rc.d/mpd5 onestart
Для комфорта в /etc/resolv.conf после установления соединения можно добавить адрес внутреннего DNS сети WinVPN.
Вот, собственно, и все.