VPN: L2TP IPSEC сервер CentOS 6 на базе пакета OpenSwan (разбираемся)
L2TP СЕРВЕР УЖЕ НАСТРОЕН.
ДОБАВЛЯЮ ШИФРОВАНИЕ.
Инсталляция необходимого ПО
# yum install -y openswan lsof
# chkconfig --level 345 ipsec on
Команда lsof необходима для выполнения скрипта ipsec verify.
Резервное копирование конфигурационных файлов
# cp /etc/ipsec.conf /etc/ipsec.conf.orig; \
cp /etc/ipsec.secrets /etc/ipsec.secrets.orig; \
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.orig; \
cp /etc/sysctl.conf /etc/sysctl.conf.orig;
Настройка конфигурационных файлов
# vi /etc/sysctl.conf
-- заменяю на
net.ipv4.ip_forward = 1 # Разрешаем форвардинг пакетов
-- добавляю
#################################
# Отключаем ICMP send redirects
net.ipv4.conf.default.send_redirects = 0
# Отключаем ICMP accept redirects
net.ipv4.conf.default.accept_redirects = 0
#################################
-- Применить
# sysctl -p
# vi /etc/ipsec.conf
version 2.0
config setup
protostack=netkey
nat_traversal=yes
virtual_private=%v4:192.168.1.0/24
oe=off
plutodebug=none
plutostderrlog=/var/log/pluto.log
interfaces=%defaultroute
klipsdebug=none
conn L2TP-PSK
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
type=transport
forceencaps=yes
right=%any
rightsubnet=vhost:%any,%priv
rightprotoport=17/0
left=%defaultroute
leftprotoport=17/1701
dpddelay=10
dpdtimeout=90
dpdaction=clear
В нашей конфигурации мы будем использовать PSK (Pre-Shared Key) аутентификацию.
Отредактируем конфигурационный файл /etc/ipsec.secrets
# vi /etc/ipsec.secrets
#include /etc/ipsec.d/*.secrets
192.168.1.11 %any: PSK "Your_PSK_Here"
Теперь необходимо сконфигурировать xl2tpd
# vi /etc/xl2tpd/xl2tpd.conf
[global]
listen-addr = 192.168.1.11
[lns default]
ip range = 10.0.0.10-10.0.0.20
local ip = 10.0.0.1
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
Запуск сервисов
# service xl2tpd restart
# service ipsec restart
Протестируем настройки IPSec
# ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path [OK]
Linux Openswan U2.6.32/K2.6.32-431.3.1.el6.x86_64 (netkey)
Checking for IPsec support in kernel [OK]
SAref kernel support [N/A]
NETKEY: Testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for NAT-T on udp 4500 [OK]
Two or more interfaces found, checking IP forwarding [OK]
Checking NAT and MASQUERADEing [OK]
Checking for 'ip' command [OK]
Checking /bin/sh is not /bin/dash [OK]
Checking for 'iptables' command [OK]
Opportunistic Encryption Support [DISABLED]
# ipsec version
Linux Openswan U2.6.32/K2.6.32-431.3.1.el6.x86_64 (netkey)
See `ipsec --copyright' for copyright information.
Тунель поднялся. Ноя хз как проверить, используется ipsec, не изспользуется.
Подскажите админы добрые. Сами мы в этом деле совсем глупые. И 30 минут гугления нам не помогли совсем.
Настрока iptables
Теперь необходимо настроить iptables. Добавим следующие строки в таблицу *filter в файле /etc/sysconfig/iptables:
#IPSec L2TP OpenSwan
-A INPUT -d 192.168.1.11 -p udp -m state --state NEW -m udp --dport 1701 -m comment --comment "L2TP" -j ACCEPT
-A INPUT -d 192.168.1.11 -p udp -m state --state NEW -m udp --dport 500 -m comment --comment "IKEv2" -j ACCEPT
-A INPUT -d 192.168.1.11 -p udp -m state --state NEW -m udp --dport 4500 -m comment --comment "IKEv2" -j ACCEPT
Перезагрузим конфигурацию iptables:
# service iptables restart
http://www.shkurenkov.pro/articles/centos6.4-l2tp-ipsec.html