Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  немного о безопасности
  VPN (PoPToP)
  PortSentry
  sysctl
  vtund
  ipfwcount
  FreeBSD & DSA
  mpd – легко и просто!
  mpd + freeradius + mysql
  Бронированный FreeBSD
  sshit
  DSL-G804V и FreeBSD 6.2
  portaudit
  OpenVPN
  Bluetooth proximity monitor
  ESET NOD32
  GEOM-ELI
  stunnel для pop3,smtp
  NOD32 mirror
  mpd5 + ipfw-nat
  Openvpn 2 офиса
  Hotspot
  OpenVPN+авторизация
  termlog
  mpd5 + сжатие и шифрование
  ipsec_vpnc
  TOR Сервер
  Snort на FreeBSD
  Arpwatch
  Установка и настройка OpenVPN
  NOD32_mirror_v2
  Fail2ban
  IPSec
  Перенос OpenVPN сервера
  Wpa/WPA2-Radius+EAP-TLS/EAP-PEAP
  nod32 mirror script
  MAC + apache
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Security —> DSL-G804V и FreeBSD 6.2

VPN-туннель между D-Link DSL-G804V и FreeBSD 6.2

Автор: freeman_tnu.


Предистория
В один "прекрасный" день появился у компании, где я работаю сисадмином, удаленный офис. Естественно встал вопрос о объединении двух офисов в одну локальную сеть посредством  VPN-туннеля. За что я и взялся...

Что имеем
Главный офис - локальная сеть 192.168.100.0/24 на основе Win2003 Active Directory, выход в инет через шлюз FreeBSD 6.2 + почтовый сервер FreeBSD 6.2, находящийся в DMZ шлюза (реализовано через if_bridge не без помощи статьи http://www.lissyara.su/?id=1305)
IP шлюза 192.168.100.2 и внешний 62.134.22.121
Удаленный офис - локальная wi-fi сеть 192.168.1.0/24,  выход в инет через беспроводной ADSL-маршрутизатор D-Link DSL-G804V (имеет возможность поднятия VPN трех видов: PPTP, IPSec, L2TP)
IP маршрутизатора 192.168.1.1 и внешний 81.84.224.15

Как реализуем
Решил строить VPN на основе IPSec и сразу же пошел читать соответствующую статью http://www.lissyara.su/?id=1328
На шлюзе, после пересборки ядра для поддержки IPSec и после установки ipsec-tools-0.6.7, полез править конфиг /etc/rc.conf
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"

Дальше правим /etc/ipsec.conf, если его нету нужно создать
flush;
spdflush;
spdadd 192.168.100.0/24 192.168.1.0/24 any -P out ipsec
       esp/tunnel/62.134.22.121-81.84.224.15/require;
spdadd 192.168.1.0/24 192.168.100.0/24 any -P in ipsec
       esp/tunnel/81.84.224.15-62.134.22.121/require;

Настраиваем /usr/local/etc/racoon/racoon.conf

padding
{
        maximum_length 20;      # maximum padding length.
        randomize off;          # enable randomize length.
        strict_check off;       # enable strict check.
        exclusive_tail off;     # extract last one octet.
}

listen
{
        isakmp 62.134.22.121 [500];
}

timer
{
        # These value can be changed per remote node.
        counter 5;              # maximum trying count to send.
        interval 10 sec;        # maximum interval to resend.
        persend 1;              # the number of packets per send.

        # maximum time to wait for completing each phase.
        phase1 30 sec;
        phase2 15 sec;
}

remote anonymous
{
        exchange_mode main,aggressive;
        doi ipsec_doi;
        situation identity_only;
        my_identifier user_fqdn "free_m@domain.com.ua";
        peers_identifier user_fqdn "free_m@domain.com.ua";

        nonce_size 16;
        lifetime time 480 min; # sec,min,hour
        initial_contact on;
        support_proxy on;
        proposal_check obey;    # obey, strict, or claim

        proposal {
                encryption_algorithm 3des;
                hash_algorithm sha1;
# Аунтификация только по ключу, т.к. у маршрутизатора
# DSL-G804V нет возможности использования сертификатов в IPSec VPN-сервере
                authentication_method pre_shared_key;
                dh_group 1;
        }
}

sainfo anonymous
{
        pfs_group 1;
        lifetime time 60 min;
        encryption_algorithm 3des;
        authentication_algorithm hmac_md5;
        compression_algorithm deflate;
}

Настраиваем файл ключей /usr/local/etc/racoon/psk.txt
# cat /usr/local/etc/racoon/psk.txt
81.84.224.15 blabla_@1G

chmod 0600 /usr/local/etc/racoon/psk.txt

В firewall добавляем следующие правила:
allow udp from 81.84.224.15 to me dst-port 500
allow esp from me to 81.84.224.15
allow esp from 81.84.224.15 to me

На стороне FreeBSD шлюза все. Теперь переходим к настройке маршрутизатора.
Идем в закладку Advanced дальше в дереве слева выбираем VPN и в появившемся окне кликаем на IPSec, куда и вносим наши данные:


Также не забываем пойти по ссылке Advanced Options и добавить окончательные настройки тунеля:


Применяем все изменения Apply, чтобы активировать сразу же тунель необходимо выбрать параметр Enable after 'Apply' в позицию "Yes" и снова сохранить все настройки.
Чтобы маршрутизатор видел сеть за фрей добавляем роутинг - идем в закладку Advanced дальше в дереве слева выбираем Routing:


Ну вот и все. Чтобы все изменения вступили в силу делаем LogOut и сохраняем настройки.
На фре запускаем racoon
/usr/local/sbin/racoon -F -v -f /usr/local/etc/racoon/racoon.conf

И также добавляем роутинг на сеть за маршрутизатором
route add 192.168.1.0/24 81.84.224.15

И смотрим на маршрутизаторе состояние подключения


Как видим соединение установлено. Проверяем пинги и все остальное. Все работает. Каждая сеть видит друг-друга.



размещено: 2007-09-14,
последнее обновление: 2007-09-16,
автор: freeman_tnu

оценить статью:

yolkov, 2007-09-15 в 18:11:04

здорово, просто супер!!! то что надо

Alex, 2007-09-15 в 22:09:40

Молодец, постарался сам и поделился с другими ! :)

freeman_tnu, 2007-09-16 в 18:58:32

Данный метод рабочий, но в моем случае с точки зрения монниторинга тунеля он не эффективен. Подробности на форуме

F'K, 2007-09-17 в 13:30:11

А вот вопрос. Инет (аська, почта, http, ftp и т.п.) при этом в удаленном офисе как идет - через туннель в головной или маршрутизатор сам отделяет этот траф и кидает его на шлюз ISP ?

freeman_tnu, 2007-09-17 в 13:40:58

to F'K
Не понял вопроса. Локальные подсети в офисах разные, у каждого инет через свой шлюз. Да и с вопросами на форум плиз.

dvg_lab, 2007-09-17 в 14:19:33

afaik ipsec не очень хорошо относится к падению канала или потерям пакетов. Наколько устойчивый канал получился?

freeman_tnu, 2007-09-17 в 14:29:45

dvg_lab со стороны freebsd racoon постоянно ломится на удаленный хост без проблем, на стороне маршрутизатора в настройках впн есть опция ping for keepalive. Тоесть при падении канала на любой стороне туннель сам подымается. Канал получился стабильный, пакеты не теряются, проверял. За две недели работы было падение канала на стороне маршрутизатора и туннель восстановился в течении 10 секунд после появления канала.

Mihail, 2008-04-03 в 11:07:30

А MTU на интерфейсах надо какие проставлять ?
А то пинги размером более 1500 бит не проходят

freeman_tnu, 2008-04-03 в 15:13:07

Ниче не трогал, даже gif явно не создавал. Но сейчас юзаю другую связку - BBOX v1 (OpenBSD 4.0, OpenVPN) + FreeBSD 6.2 (OpenVPN)

Bani, 2008-08-11 в 8:03:14

в новых прошивках ненадо прописывать роут на подсеть со стороны фрии, работать не будет!!!

Sergeyk, 2009-02-12 в 18:24:06

А как быть с ipsec в случае, когда удаленный офис имеет динамический IP-адрес (провайдер статику на ADSL не дает)?

freeman_tnu, 2009-02-12 в 18:30:45

Sergeyk http://www.dyndns.com/  ??

Sergeyk, 2009-02-13 в 10:54:34

2freeman_tnu
И что это дает? Да, зарегали на dyndns.org. ОК. А в ipsec.conf вместо IP-адреса шлюза прописывать его FQDN? Разве так можно? %-/

freeman_tnu, 2009-02-13 в 11:02:11

Sergeyk Ну зачем же писать в конфиг FQDN, тут нужно помозговать, аля скриптец наваять, чтоли...

KampuH, 2009-03-20 в 8:49:08

А что делать, если в удаленном оффисе внутренние IP такие же как и в головном, т.е. 192.168.1.0/24 (смена IP не возможна по причине отсутствия специалиста)?

Lazy caT, 2009-04-28 в 17:27:25

Есть D-Link DI-808HV и Фря 7я...
У 808'го настройки схожие проблем с настройкой особо не возникло, racoon на фре взлетел туннель поднялся на "ура"...
Пакеты из сети с фрёй в сеть с D-Link'ом идут... хосты пингуются всё нормально, а вот в обратную сторону ни в какую... даже с самого D-Link'а пингуется только лишь Фря... На D-Link'e маршрут указан...
Что тут может быть?...
(При необходимости могу выложить конфиги)

freeman_tnu, 2009-04-28 в 22:17:24

видимо таки неправильно указан на д-линке маршрут... с подобными вопросами в форум пожалуйста!

avter, 2010-04-15 в 19:22:05

Статейка помогла. Спасибо.

Может кому нить поможет - при коннекте D-Link 804HV и CentOS.5.4 пришлось править скрипт ifup-ipsec, чтобы фаза 2 проходила без этих строк:

xxx racoon: ERROR: not matched
xxx racoon: ERROR: no suitable policy found.
xxx racoon: ERROR: failed to pre-process packet.


/etc/sysconfig/network-scripts/ifup-ipsec
remote $DST
{
       exchange_mode main, aggressive;
       generate_policy on;
       passive on;
       proposal_check obey;
EOF

2011, 2011-03-15 в 8:52:09

Товарищщи! Это поля для ввода комментариев к статье, а не для вопросов. Сюда пишите найденные баги, или какие-то фичи :)
Для вопросов есть форум!

zidi, 2013-08-09 в 18:25:16

а в /usr/local/etc/racoon/psk.txt пароли хранятся в открытом виде?

Lazy caT, 2013-08-09 в 22:56:33

2zidi
Написано же "chmod 0600 /usr/local/etc/racoon/psk.txt"
ну и, соответственно, chown root:wheel /usr/local/etc/racoon/psk.txt
При другом режиме и других правах, racoon не запускается, вываливая в логи ошибку о правах на psk.txt

zidi, 2013-08-09 в 22:59:02

Lazy caT, вопрос то не в этом был. Не про разрешения на файлик, а про сам пароль в файле psk.txt. Он там не захэширован должен быть?

Lazy caT, 2013-08-10 в 12:21:46

2zidi
>Он там не захэширован должен быть?
Неа, в открытом виде...
всё можно посмотреть тут: /usr/local/share/examples/ipsec-tools
включая примеры psk.txt и файлы конфигураций...

zidi, 2013-08-10 в 17:48:42

Спасибо за чёткий и понятный ответ и за примеры конфигов.


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 15 чел.
За последние 30 мин было: 50 человек
За сегодня было
1074 показов,
179 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0501 секунд
Из них PHP: 28%; SQL: 72%; Число SQL-запросов: 81 шт.
Исходный размер: 132898; Сжатая: 23692