Setup:inet:l2tpipsec:freebsd
Материал из campus.mephi.ru
Anikeev (Обсуждение | вклад) м (Защищена страница «Setup:inet:l2tpipsec:freebsd» ([edit=sysop] (бессрочно) [move=sysop] (бессрочно))) |
Anikeev (Обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
=Настройка соединения= | =Настройка соединения= | ||
+ | |||
+ | *Проверьте наличие поддержки 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== | ==Proxy== | ||
Если в командной строке "ping 8.8.8.8" сообщает о том, что связь до 8.8.8.8 есть, а тем ни менее на сайты не заходит, значит, вполне возможно, что вы забыли отключить прокси в настройках вашего браузера | Если в командной строке "ping 8.8.8.8" сообщает о том, что связь до 8.8.8.8 есть, а тем ни менее на сайты не заходит, значит, вполне возможно, что вы забыли отключить прокси в настройках вашего браузера |
Версия 12:42, 10 сентября 2012
Настройка 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 есть, а тем ни менее на сайты не заходит, значит, вполне возможно, что вы забыли отключить прокси в настройках вашего браузера