Setup:inet:l2tpipsec:freebsd

Материал из campus.mephi.ru

Перейти к: навигация, поиск

Настройка L2TP (IPSec) -соединения


Настройка соединения

  • Проверьте наличие поддержки IPSec в вашем ядре:
# firewall
options	IPFIREWALL
options	IPFIREWALL_VERBOSE
options	IPFIREWALL_VERBOSE_LIMIT=1000
options	IPFIREWALL_DEFAULT_TO_ACCEPT
options	IPFIREWALL_FORWARD
options	IPFIREWALL_NAT
options	IPDIVERT
options	LIBALIAS

# IPSEC
device		crypto
device		cryptodev
device		enc
options	IPSEC
options	IPSEC_DEBUG
options	IPSEC_FILTERTUNNEL
options	IPSEC_NAT_T

Конфигурационный файл ядра находится в usr/src/sys/<архитектура>/conf/<имя ядра> Если некоторые опции не поддерживаются, вам необходимо переконфигурировать ядро ОС.

  • Установите порт ipsec-tools:
# whereis ipsec-tools
ipsec-tools: /usr/ports/security/ipsec-tools
# cd /usr/ports/security/ipsec-tools
# make

Переконфигурировать порт не надо, просто выберите ОК в меню конфигурации.

# make install


  • Проверьте, установлен ли у вас демон mpd5:
# whereis mpd5
mpd5: /usr/local/sbin/mpd5 /usr/local/man/man8/mpd5.8.gz /usr/ports/net/mpd5

Если он не уставлен, скомпилируйте и установите его:

# whereis mpd5
mpd5: /usr/ports/net/mpd5
# cd /usr/ports/net/mpd5
# make
# make install
  • Откройте в интернет-браузере ресурс <a href='http://svpn.mephi.ru'>svpn.mephi.ru</a>, выберите произвольный логин/пароль и сохраните сертификат. Выберите формат tar. Пусть, пользователь имеет логин omg и пароль smb.
  • Далее, необходимо извлечь сертификаты стандарта X.509 из архива и переместить их в директорию /etc/racoon/certs
# tar -xvf omg.tar
# mkdir /usr/local/etc/racoon
# mkdir /usr/local/etc/racoon/certs
# mv certs/useromg.crt /usr/local/etc/racoon/certs
# mv keys/useromg.key /usr/local/etc/racoon/certs
  • Скопируйте файл /usr/local/etc/racoon/racoon.conf
# cp /usr/ports/security/ipsec-tools/work/ipsec-tools-0.8.0/src/racoon/samples/racoon.conf /usr/local/etc/racoon

и заполните его следующим содержимым:

log notify;
path pre_shared_key "/usr/local/etc/racoon/psk.txt";
path certificate "/usr/local/etc/racoon/certs";


default:
	load l2tp_client

l2tp_client:

	create bundle static B1
	set iface up-script /usr/local/etc/mpd5/up.sh
	set iface down-script /usr/local/etc/mpd5/down.sh
	create link static L1 l2tp
	set link action bundle B1
	set auth authname foo
	set auth password bar
	set link max-redial 5
	set link accept chap
	set link no pap eap
	set link mtu 1400
	set link keep-alive 20 75
	set l2tp peer svpn-ipsectunnel.mephi.ru
	open
  • Откройте файл /etc/*ipsec-tools.conf в текстовом редакторе и заполните его следующим содержимым (случай туннельного режима):
flush;
spdflush;

spdadd 0.0.0.0/0 194.67.76.11/32[1701] udp -P out ipsec
	esp/tunnel/192.168.57.1-194.67.76.11/require;
spdadd 194.67.76.11/32[1701] 0.0.0.0/0 udp -P in ipsec
	esp/tunnel/194.67.76.11-192.168.57.1/require;

Далее в тексте по умолчанию приведены примеры конфигурационных файлов и команд для туннельного режима. Для транспортного режима необходимо заменить адрес «svpn-ipsectunnel.mephi.ru» (194.67.76.11) на «svpn-ipsectransport.mephi.ru» (194.67.76.10).


  • Откройте в текстовом редакторе файл usr/local/etc/mpd5/mpd.conf и заполните его следующим содержимым:
default:
	load l2tp_client

l2tp_client:

    create bundle static B1
    set iface up-script /usr/local/etc/mpd5/up.sh
    set iface down-script /usr/local/etc/mpd5/down.sh
    create link static L1 l2tp
    set link action bundle B1
    set auth authname foo
    set auth password bar
    set link max-redial 5
    set link accept chap
    set link no pap eap
    set link mtu 1400
    set link keep-alive 20 75
    set l2tp peer l2tp.campus.mephi.ru
    open

Здесь и далее вместо foo следует указывать логин, вместо bat - пароль. Если файл ещё не существует, его следует создать. Будьте предельно внимательны с синтаксисом файла! Парсер чувствителен к пробелам, табуляции и порядку строк.

  • Создайте сетевой интерфейс с натированием:
# ifconfig lo0 alias 192.168.57.1
# ipfw add nat 123 ip from 192.168.57.1 to any out xmit re0
# ipfw add nat 123 ip from any to nay in recv re0
# ipfw nat 123 config if re0
  • Создайте файл
# touch /usr/local/etc/mpd5/up.sh

со следующим содержимым:

#!/bin/sh

route add -net 10.0.57.0/24 "$4"
  • Это скрипт, позволяющий автоматически настраивать таблицу маршрутизации для вашей системы при запуске mpd5. Аналогично, создайте файл
# touch /usr/local/etc/mpd5/down.sh

со следующим содержимым:

#!/bin/sh

route del 10.0.57.0
  • Сделайте скрипты исполняемыми
# chmod +x /usr/local/etc/mpd5/up.sh
# chmod +x /usr/local/etc/mpd5/down.sh
  • Запустите демоны:
# setkey -f /etc/ipsec-tools.conf
# racoon -F -dddd -vvvv
# mpd5
  • Проверьте доступность шлюза из vpn сети:
# ping vpn.mephi.ru
PING 10.0.57.1 (10.0.57.1) 56(84) bytes of data.
64 bytes from vpn.mephi.ru (10.0.57.1): icmp_req=1 ttl=63 time=0.745 ms
64 bytes from vpn.mephi.ru (10.0.57.1): icmp_req=2 ttl=63 time=0.617 ms
64 bytes from vpn.mephi.ru (10.0.57.1): icmp_req=3 ttl=63 time=0.650 ms
64 bytes from vpn.mephi.ru (10.0.57.1): icmp_req=4 ttl=63 time=0.606 ms
^C

--- 10.0.57.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.606/0.654/0.745/0.060 ms

Если сервер доступен, то настройка соединения прошла успешно.

Отладка

Proxy

Если в командной строке "ping 8.8.8.8" сообщает о том, что связь до 8.8.8.8 есть, а тем ни менее на сайты не заходит, значит, вполне возможно, что вы забыли отключить прокси в настройках вашего браузера