Построение IPSec VPN туннеля средствами Linux

IPSec VPN туннель в Linux

Мы уже писали о настройке шифрованных VPN-туннелей на различном сетевом оборудовании. На этот раз рассмотрим построение бюджетного варианта туннеля средствами каналообразующего оборудования на базе Linux.

Операционная система: Ubuntu Server 10.10, информация о туннеле:
Public_IP – внешний IP туннеля с другой стороны
Our_Public_IP – наш внешний IP
Phase1: sha1, 3des, dh-group2, lifetime 28800 sec
Phase2: sha1, 3des, lifetime 3600, без PFS
PSK – preshared key.
LAN_IP_Range – наша подсеть
Dest_LAN_IP_Range – подесть назначения


Устанавливаем программное обеспечение, которое будет строить IPSEC VPN  и заворачивать трафик в туннель:
apt-get install openswan

Следующим этапом настроим собственно конфигурационный файл для IPSEC VPN
Vi /etc/ipsec.conf
config setup
        plutoopts="--perpeerlog" ## -- logging
        protostack=netkey     ##-- policy based VPN
        oe=off
conn State-Secrets
        type=tunnel
        authby=secret
        auto=start ##--run tunnel when service up
        pfs=no
        ike=3des-sha1;modp1024
        phase2alg=3des-sha1;modp1024
        aggrmode=no
        right=Public_IP
        left=OUR_Public_IP
        leftnexthop=92.241.97.137
        leftsubnet=LAN_IP_Range
        rightsubnet=Dest_IP_LAN_Range
В файле /etc/ipsec.secrets указываем наш PSK в следующем формате:
 OUR_Public_IP Public_IP : PSK "Your_PSK"
Запускаем сервис:
/etc/init.d/ipsec start
Особенностью такого туннеля является то, что в системе вы не увидите туннельного интерфейса или маршрута на подсеть. Policy based tunnel базируется на маршрутизации  в ядре. Важным моментом также является firewall. Поскольку неправильные настройки сетевого экрана могут нарушить работы туннеля. Важно отменить NAT в туннель, т.е. указать:
IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -s $LAN_IP_Range -d $Dest_LAN_IP_Range -j ACCEPT
Разрешить форвардинг (и не забывайте sysctl):
IPTABLES -A FORWARD -s $DEst_LAN_IP_Range -d $LAN_IP_RANGE -j ACCEPT
Также откройте на вход протокол esp и 500 udp.Маршрутизаторы между собой пинговаться не будут - только из одной подсети в другую.

Денис Григорьев
http://efsol.ru/solutions/data-protection.html

Комментариев нет:

Отправить комментарий