Setup:inet:l2tpipsec:freebsd
Материал из campus.mephi.ru
Anikeev (Обсуждение | вклад) |
Anikeev (Обсуждение | вклад) |
||
Строка 73: | Строка 73: | ||
path certificate "/usr/local/etc/racoon/certs"; | path certificate "/usr/local/etc/racoon/certs"; | ||
- | + | remote anonymous { | |
- | + | exchange_mode main; | |
- | + | certificate_type x509 "useromg.crt" "useromg.key"; | |
- | + | verify_cert off; | |
- | + | nat_traversal on; | |
- | + | generate_policy on; | |
- | + | proposal { | |
- | + | encryption_algorithm blowfish; | |
- | + | hash_algorithm sha1; | |
- | + | authentication_method rsasig; | |
- | + | dh_group modp1024; | |
- | + | } | |
- | + | } | |
- | + | sainfo anonymous { | |
- | + | encryption_algorithm blowfish; | |
- | + | authentication_algorithm hmac_sha1; | |
- | + | compression_algorithm deflate; | |
- | + | } | |
- | + | ||
*Откройте файл /etc/*ipsec-tools.conf в текстовом редакторе и заполните его следующим содержимым: | *Откройте файл /etc/*ipsec-tools.conf в текстовом редакторе и заполните его следующим содержимым: |
Версия 09:40, 11 сентября 2012
Настройка L2TP (IPSec) -соединения
Настройка соединения
В данной пошаговой инструкции описан способ реализации защищенного VPN соединения по протоколу L2TP через IPSec. Перед началом настойки удостоверьтесь, что у вас есть рабочее соединение с интернетом по какому-либо другому протоколу для установки требуемых пакетов. Возможность автономной установки пакетов в данной инструкции не рассматривается. Сервер туннельного режима доступен по адресу l2tp.campus.mephi.ru (10.50.0.20 или 10.50.0.16).
- Проверьте наличие поддержки 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
- Откройте в Интернет-браузере http://gencert.campus.mephi.ru/. В поле "Login" вводим номер своей зачётной книжки (например, 112358), в поля "Password" вводим пароль для защиты сертификата (этот пароль не обязательно должен совпадать с паролем для доступа в Интернет) и нажимаем "Generate!". Сохраните сертификат в формате tar.
- Далее, необходимо извлечь сертификаты стандарта 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"; remote anonymous { exchange_mode main; certificate_type x509 "useromg.crt" "useromg.key"; verify_cert off; nat_traversal on; generate_policy on; proposal { encryption_algorithm blowfish; hash_algorithm sha1; authentication_method rsasig; dh_group modp1024; } } sainfo anonymous { encryption_algorithm blowfish; authentication_algorithm hmac_sha1; compression_algorithm deflate; }
- Откройте файл /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;
- Откройте в текстовом редакторе файл 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 следует указывать логин, вместо bar - пароль. Если файл ещё не существует, его следует создать. Будьте предельно внимательны с синтаксисом файла! Парсер чувствителен к пробелам, табуляции и порядку строк.
- Создайте сетевой интерфейс с натированием:
# 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 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEFAULT_GW=$(netstat -nr | awk '{if($1=="0.0.0.0" && $3=="0.0.0.0") print $2}' | head -1) route add -host l2tp.campus.mephi.ru gw "$DEFAULT_GW" route add -net 0.0.0.0/1 "$4" route add -net 128.0.0.0/1 "$4"
- Это скрипт, позволяющий автоматически настраивать таблицу маршрутизации для вашей системы при запуске mpd5. Аналогично, создайте файл
# touch /usr/local/etc/mpd5/down.sh
со следующим содержимым:
#!/bin/sh route del l2tp.campus.mephi.ru route del 0.0.0.0/1 route del 128.0.0.0/1
- Сделайте скрипты исполняемыми
# 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
- Проверьте доступность удалённого PtP хоста:
# ping `netstat -nr | awk '{if($3=="255.255.255.255" && $8=="ppp0") print $1}' | head -1` PING 10.7.2.16 (10.7.2.16) 56(84) bytes of data. 64 bytes from 10.7.2.16: icmp_req=1 ttl=63 time=0.745 ms 64 bytes from 10.7.2.16: icmp_req=2 ttl=63 time=0.617 ms 64 bytes from 10.7.2.16: icmp_req=3 ttl=63 time=0.650 ms 64 bytes from 10.7.2.16: icmp_req=4 ttl=63 time=0.606 ms --- 10.7.2.16 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 есть, а тем ни менее на сайты не заходит, значит, вполне возможно, что вы забыли отключить прокси в настройках вашего браузера