Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||
www.lissyara.su
—> главная
|
|
Пока собирается ядро, обновляем порты такой командой:
|
После обновления ставим racoon, из коллекции ipsec-tools:
|
Лезет такое окошко:
|
Опции, которые я выбрал - указаны. После инсталляции, идём создавать директории (странно, но хотя стартовые скрипты инсталлялся, директории которые требуются - не создаются, хотя в этих самых скриптах они указаны), заодно копируем дефолтовый конфиг, который тоже не инсталлится куда положено:
|
До рихтовки конфига, надо нагенерить сертификатов. Честно говоря с OpenSSL особо не разбирался, сама операция откуда-то чесно дёрнута, и подрихтована под свои нужды, посему даю как есть:
|
Для второй машины тоже генерим ключи, и копируем с одной на другую файлики *.public. В принципе, имена ключей неважны, можно называть и по IP, с соответствующими расширениями.
Далее, рисуем конфиги, для обоих одинаковые, тока меняются местами все IP и ключи:
/etc/rc.conf
|
/etc/ipsec.conf
|
/usr/local/etc/racoon/racoon.conf
|
Думается, к этому моменту ядро уже пересобралось, и проинсталлилось. Можно перезагружатья. После перезагрузки смотрим:
|
Всё нормально, все интерфейсы создались, racoon запущен. Надо заметить, что пока в фаерволле не прокрутили дырки для протоколов и портов, по которым пашет туннель, по нему ничё не пойдёт. Также учтите, что ядро собранное с вышеуказанными (которые про firewall, а не про ipsec) опциями, включает файроволл при загрузке, в режиме запрета всего. Поэтому до перезагрузки лучше настроить файрволл, или иметь физический доступ к машине.
Крутим дырки:
|
Ну и пробуем попинговаться:
|
Первые 4 пакета потерялись, при поднятии туннеля (чё-то всё же стало кривей - на 4.11 терялся всего один пакет, хотя сетевая дистанция была куда больше), затем всё забегало.
В случае проблем, смотрим логи (/var/log/security). У меня там (/var/log/messages) нашлась интересная строка:
Mar 16 10:51:31 epia kernel: WARNING: pseudo-random number generator used for IPsec processing |
Рыскания по инету ни к чему не привели - вроде как реально чё-то стало кривей... В рассылке lists.freebsd.org рекомендуют ставить железный генератор случайных чисел :).
P.S. Рекомендую ознакомиться со старой версией статьи для понимания происходящего.
размещено: 2007-03-16,
последнее обновление: 2008-09-25,
автор: lissyara
alex, 2007-03-16 в 11:29:22
Неплохо бы добавить сюда еще использование NAT-T.
yolkov, 2007-03-16 в 16:41:42
# Вначале хотел вообще без этой секции,
# но неподнялось, с такой руганью в логах:
# racoon: ERROR: failed to get sainfo.
sainfo anonymous
...
потому что это описание второй фазы, первая фаза - remote ...
^rage^, 2007-03-17 в 0:10:33
неплохо бы юзать IPSEC_FAST и device crypto. чтобы задействовать апаратную реализацию AES в via c5-c7
lissyara, 2007-03-17 в 0:49:52
Как девайс-то сменить?
Что у via есть аппаратный генератор в маме - я тоже в рассылке нашёл. Не нашёл как устройство указать...
^rage^, 2007-03-17 в 10:23:17
Где-то в районе handbook было, что FAST_IPSEC задействует подсистему crypto и по возможности поддерживаемые ей аппаратные шифровалки =)
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/ipsec.html
^rage^, 2007-03-17 в 10:24:27
И кстати, там не только hw rng, но, как я уже и говорил, hw aes.
yolkov, 2007-03-17 в 15:01:03
а что для 6.1 сертификаты по другому генерить надо? в логах такие ошибки:
ERROR: failed to get my CERT.
ERROR: failed to get own CERT.
ERROR: failed get my ID
ERROR: failed to begin ipsec sa negotication.
Хотя на 6.2 без проблем подхватывает сертификаты
yolkov, 2007-03-17 в 16:35:27
извините ошибка в конфиге была, можно удалить этот и предыдущий пост
Maestro, 2007-05-07 в 14:44:05
На 6.1 почему-то не работает. Странно. Все на сто раз перепроверил. В логах ошибок нет. А пинг не идет, даже когда IPFW в OPEN. Ничего не понимаю. Странно все это. В логах пишется что тунель established - а пинг не идет. Кто нить сталкивался???
zik, 2007-05-24 в 22:12:40
spdadd 217.15.62.49/32 217.15.62.200/32 ipencap -P out ipsec
esp/tunnel/217.15.62.49-217.15.62.200/require;
spdadd 217.15.62.200/32 217.15.62.49/32 ipencap -P in ipsec
esp/tunnel/217.15.62.200-217.15.62.49/require;
Вот этом конфиге пока в spadd не указал удреса сетей нихуа не зароботало, вот по какому принципу заработало:
spdadd 192.168.160.0/24 192.168.170.0/24 ipencap -P out ipsec
esp/tunnel/217.15.62.49-217.15.62.200/require;
spdadd 192.168.170.0/24 192.168.160.0/24 ipencap -P in ipsec
esp/tunnel/217.15.62.200-217.15.62.49/require;
Я незнаю - это баг или я просто плохо понял ...
lissyara, 2007-05-24 в 22:51:38
у меня в двух местах работает как описано...
hopeful, 2007-10-03 в 13:43:43
Промаялся день с парой хардварных роутеров NetGear FVS114 и D-link 824VUP+, согласуя их по IPSEC с FreBSD, чтобы дойти до очевидного. Туннели устанавливались, но пакеты не ходили. Пришлось подправить правила:
spdadd 192.168.160.0/24 192.168.170.0/24 any -P out ipsec
esp/tunnel/217.15.62.49-217.15.62.200/require;
spdadd 192.168.170.0/24 192.168.160.0/24 any -P in ipsec
esp/tunnel/217.15.62.200-217.15.62.49/require;
freeman_tnu, 2007-10-03 в 14:13:08
почитал бы тут http://www.lissyara.su/?id=1503 не маялся б
Sadok, 2007-10-22 в 7:18:41
Хм. Я правильно понял, что следуя указанным рекомендациям, сертификаты создаются со сроком действия 1 месяц? Во всяком случае, у меня именно так :)
Спасибо за статью, все взлетело за 5 минут.
lissyara, 2007-10-22 в 9:23:50
Не знаю, но месяца четыре уже работает в одном месте...
Sadok, 2007-10-26 в 13:14:12
Ну, посмотрим, что там со сроками действия. ИМХО, должно отвалиться соединение. Просто по аналогии, что браузеры возмущаются на просроченные сертификаты...
И еще один момент. В debug.log я не вижу сообщений о смене ключей (в конфиге log debug2;). Не связано ли это с отсутствием lifetime time ХХ min; в секции описания удаленного хоста?
DimERR, 2007-11-19 в 13:57:02
Доброе время суток, столкнулся с такой проблемой: туннель работает, но переодически слетает (раз в три дня примерно)в логах только одна ошибка... kernel: IPv4 ESP input: no key association found for spi. Стоит FreeBSD 6.1, конфиги перепроверил вроде все ок. Может кто сталкивался? Заранее, спасибо )
sidor-r, 2007-11-19 в 21:23:42
Было такое на 6.1
Обновил ipsec-tools и всё заработало как надо!!!
freesco, 2008-01-29 в 13:26:56
Зачем gif туннель если IPSEC использует tunnel mode, а не transport? Неувязка получается, зачем 2 туннеля? На мой взгляд одного, реализованного средствами IPSEC хватило бы, gif интерфейс лишний
unkn0wn, 2008-01-30 в 10:46:20
В данном случае шифруется не весь трафик, выходящий с внешнего интерфейса, а только трафик, который инкапсулирует пакеты локальной сети, то бишь выходящий с gif-туннеля, потому никакой неувязки нет. Подробнее описано тут: http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/ipsec.html
Хендбук - сила )
Кстати, на FreeBSD 5.4 демон racoon падает в корку после первого принятого пакета IPSec, причину такого поведения так и не понял. Порты свежие.
krilya, 2008-04-24 в 4:55:23
у меня racoon прекрасно работает и без gif
FreeBSD 4.11 и 6.2
fenrir, 2008-05-05 в 14:34:57
хотелось бы добавить то что в ситуации с 7 веткой фри в ядро нужно добавлять не
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
а
options IPSEC
device crypto
Touch, 2008-10-05 в 15:43:40
2 Sadok:
Насчёт срока действия сертификатов - по-идее ничего не отвалится т.к. нет CA кот. должен "отвалить"
Насчёт срока смены ключей - сам делал по хэндбуку, у Лиса взял авторизацию по сертификатам, так вот в хэндбуке действительно lifetime стоит в обоих секциях, собсно у себя сделал также и в debug-логах всё expire'ится как положено.
Touch, 2008-10-05 в 18:51:52
2 lissyara:
Cпасибо за идею шифровать ipencap, благодаря этому можно замечательно мониторить gif-тунели, что если делать по хэндбуку не получается ;) может допишешь в хэндбук ?
Touch, 2008-10-05 в 19:04:02
Ха! А в русской версии как раз шифруется ipencap вот жеж!
lissyara, 2008-10-05 в 19:22:55
Насколько я помню, первая версия делалась именно по русской версии.
Maestro, 2008-10-08 в 19:41:40
Фича следующего характера, настроил на 6.2 ipces с psk - идут потери пакетов...
sainfo anonymous
{
pfs_group 5;
!!! lifetime time 60 min; !!!
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1;
compression_algorithm deflate ;
}
В выделеном фрагменте стоит 2 минуты - думаю в этом дело... Хотя не уверен. А у народа все без потерь?
Maestro, 2008-10-08 в 19:45:41
И еще. Совершенно непонятно зачем в rc.conf пихать cloned_interfaces="gif0" - без этого все замечательно работает
Basil, 2008-12-08 в 15:18:50
Воспользовался некотрыми настройками из данной статьи и вот к чему пришел.
Настраивал IPSEC под систему FreeBSD 7.0:
Ядро конфигурировал с опциями:
options IPSEC
device crypto
И настроил racoon.
После чего начал играться настроиками:
- удалин один сертификат с одного сервера - все работает...
- удалил все сертефикаты с одного сервера - все равно работает!!!
- удалил файл /usr/local/etc/racoon/racoon.conf - ракон не запустился, но все работает!
Для чего оно тогда?
И что-то не проходят пакеты больше 128 кбит...пока пытаюсь разобраться в проблеме...
Sadok, 2008-12-08 в 17:15:34
Это говорит о том, что туннеля не было и нет :)
Basil, 2008-12-09 в 10:29:46
Как нет? Разве пинги(как с сервера, так из самой сети) и трасроут из одной подсети в другую ничего не означают?
Команда запущена с сервера 192.168.0.254 на одну из машин удаленного офиса:
# traceroute 192.168.1.154
traceroute to 192.168.1.154 (192.168.1.154), 64 hops max, 40 byte packets
1 192.168.1.254 (192.168.1.254) 18.377 ms 18.736 ms 17.719 ms
2 192.168.1.154 (192.168.1.154) 17.595 ms 18.052 ms 18.948 ms
Sadok, 2008-12-09 в 12:37:31
Базиль, покажите вывод setkey -D, когда Вы думаете, что туннель есть. А то похоже, что просто маршрутизация настроена или вообще NAT.
Basil, 2008-12-24 в 10:04:24
Я в отпуске был, а тут все сново попытался сделать, но не вышло. setkey пустой... буду очень благодарен, если кто из знающих поможет мне, т.к. чувствую, что чего-то очевидного не замечаю ):
Моя аська 6544693.
Также можете по этой же аське за помощью ко мне обращаться, когда я разберусь (;
Sadok, 2008-12-24 в 10:23:46
Basil, если setkey -D говорит, что No SAD entries, то "не глядя" помочь трудно...
Показывайте ifconfig, /etc/rc.conf для начала. Следом файлы конфигов, которые по статье делали.
Basil, 2008-12-24 в 10:38:14
Sadok, я не думаю, что это место для длинных конфигов... если есть желание и время чтобы помочь разобраться, то стукни в асю (6544693).
Sadok, 2008-12-24 в 10:52:35
Не пользуюсь :) Выложи тогда всё в топик по теме
Basil, 2008-12-24 в 12:51:33
Выложил...тогда если у кого есть какие соображения, то лучше туда писать.
Basil, 2008-12-24 в 12:52:01
Выложил...тогда если у кого есть какие соображения, то лучше туда писать.
Sergeyk, 2009-02-12 в 18:24:48
А как быть с ipsec в случае, когда удаленный офис имеет динамический IP-адрес (провайдер статику на ADSL не дает)?
Sadok, 2009-02-12 в 19:21:35
2 Sergeyk
ИМХО, никак. В этом случае поднимать VPN (mpd, OpenVPN и т.п.)
mak_v_, 2009-02-13 в 10:49:58
либо курить скрипты с dyndns в связке, либо впн (клиент-сервер), как вариант - согласен с Sadok
Sadok, 2009-02-13 в 11:23:12
2 mak_v_ А dyndns тут не поможет, имхо. В /etc/ipsec.conf указываются ip-адреса, а не FQDN, имхо опять же.
mak_v_, 2009-02-13 в 12:16:30
awk + grep - вытягиваем айпи из динднс, подставляем в конф, рестартуем айписег, не прокатит? (понимаю что "изящно")
Sadok, 2009-02-13 в 13:24:52
ifconfig |grep достаточно :) прокатит, наверное, но мне в голову такое не приходило :)
LiNer, 2009-05-29 в 11:27:19
Небольшое замечание по pf
Для того чтоб пахало, у меня в конфиге:
## вместо isakmp можно писать 500
pass in on $ext_if proto udp from $remote_server to \
$ext_if port isakmp keep state
## ещё правило для пакетов установки соединения
pass in on $ext_if proto esp from $remote_server to \ $ext_if keep state
ну и не забываем разрешать исходящий трафик :)
levantuev, 2009-11-30 в 20:50:19
Собрал ядро на удаленной тачке с поддержкой
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
Теперь достучаться не могу, никто не подскажет из-за чего может быть? Раньше нормально перезагружалось...
antik, 2010-01-05 в 15:02:42
Аффтар - эпический мудак.
С OpenSSL он особо не разбирался. Описание SA он хотел выбросить. Вместо сгенерить CA, сертификаты самоподписывает. Увидел жалобу на отсутствие хардверного генератора ключей - и сразу "реально чё-то стало кривей...". А если бы не увидел?
Короче, всё методом "тычка" да "на авось".
Ну и. Дружище, если бы вы у меня взялись настраивать security-related сервис, не удосужившись даже поинтересоваться, как он называется - к вечеру трудовая была бы у вас на руках. Ракон, мля...
Рыжий человек, что с него взять...
lissyara, 2010-01-05 в 15:52:34
я к хохлам на работу в жисть не пойду.
так что сиди дальше, вазелин готовь - за газ расплачиваться =)
;), 2010-01-05 в 16:12:19
Газмяс )))
Wic, 2010-01-05 в 23:19:45
2 Sergeyk
врубаешь впн, а по нему кидаешь тунель и криптуешь его
guest, 2010-06-12 в 22:18:01
а как быть если на 1 сервере нужно поднять 3 туннеля?
продублировать в rc.conf
Код: Выделить всё • Развернуть
gif_interfaces="gif0"
gif_interfaces="gif1"
gif_interfaces="gif2"
и т.д.
а так же в ipsec.conf 6 строк, по 2 на каждый и racoon.conf прописать к каждому блок "remote"
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [51 шт.]