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

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение freeman_tnu » 2007-09-14 16:22:54

Предистория
В один "прекрасный" день появился у компании, где я работаю сисадмином, удаленный офис. Естественно встал вопрос о объединении двух офисов в одну локальную сеть посредством 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"
gif-интерфейс не создавал, почему опишу ниже.
Дальше правим /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
И смотрим на маршрутизаторе состояние подключения
Изображение
Как видим соединение установлено. Проверяем пинги и все остальное. Все работает. Каждая сеть видит друг-друга.

Теперь о том почему же я не создавал gif-интерфес
Как я уже писал выше у меня есть почтовик в дмз и соединен он со шлюзом посредством if_bridge, тоесть был создан сетевой интерфейс типа мост bridge0. Но вот когда создаю gif-интерфес, то bridge0 после перезагрузки не создается и в итоге к почтовику не добраться, а вот туннель работает без проблем. :( Как заставить шлюз создавать интерфейсы для одновременной работы и моста и туннеля?!
Последний раз редактировалось freeman_tnu 2007-09-16 20:02:30, всего редактировалось 4 раза.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35178
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2007-09-14 17:47:51

типа статья?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение freeman_tnu » 2007-09-14 18:17:37

Типа да. Но и ответ на вопрос хотелось бы услышать.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35178
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2007-09-14 18:19:44

ответ - не знаю.
статью, если не сложно - выложи сюда
Убей их всех! Бог потом рассортирует...

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение freeman_tnu » 2007-09-14 18:22:57

Ок. Будет время обязательно выложу...

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение freeman_tnu » 2007-09-16 18:00:56

freeman_tnu писал(а): Как заставить шлюз создавать интерфейсы для одновременной работы и моста и туннеля?!
И все-таки, кто-нибудь знает ответ на вопрос?

yolkov
рядовой
Сообщения: 37
Зарегистрирован: 2007-04-11 8:52:08

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

Непрочитанное сообщение yolkov » 2007-09-18 8:54:16

в rc.conf у тебя как gif интерфейсы создаються?
а, все заметил!!!
ifbridge не ставил, и с этими проблемами не сталкивался

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

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

Непрочитанное сообщение f0s » 2007-12-04 17:53:19

вот понадобилось тоже связать две сети. в одной сети фряха, в другой cisco pix501 :) тут описано без gif интрефейса, т.к. с if_bridge были проблемы... а вообще этот гиф если бы можно было создать, то чем бы он был хорош? какое его практическое применение? и почему-то в статье используется такая запись:

Код: Выделить всё

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;

а у Лиса такая в его связке двузз машин под фрибсд (http://www.lissyara.su/?id=1328):

Код: Выделить всё

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;

то есть тут еще зачем-то две строчки (я так понимаю что это для очистки старых правил):

Код: Выделить всё

flush;
spdflush;

они нужны? или это для подстраховки?

и у spdadd сначала внутренние адреса описаны, потом указано что тунель через внешние, а у Лиса только внешние.. и тут any, а у Лиса ipencap. Как в итоге правильнее? =)
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

sp1r1t
проходил мимо
Сообщения: 4
Зарегистрирован: 2007-12-24 15:00:32

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

Непрочитанное сообщение sp1r1t » 2007-12-24 15:43:42

1)Посмотри пожайлуста что здесь не так? Без gif0 интерфейса туннель не ставиться вообще! BSD 6.2 <===> Dlink DFL 800, Dlink DI804..
Но если создаю gif0 интерфейс, настраиваю его то с этими же настройками все работает!
2)обьясните пожайлуста насчет gif интерфейса. если у меня фря должна работать как VPN сервер, и есть много IPSec туннелей в филиалы - то для каждого туннеля нужно свой gif интерфейс создавать (т.е. gif0, gif1 и т.д)???

ipsec.conf

Код: Выделить всё

flushl;
spdflush;
spdadd 192.168.50.0/24 192.168.0.0/24 any -P out ipsec esp/tunnel/111.111.111.111-222.222.222.222/require;
spdadd 192.168.0.0/24 192.168.50.0/24 any -P in ipsec esp/tunnel/222.222.222.222-111.111.111.111/require;
racoon.conf

Код: Выделить всё

path include "/usr/local/etc/racoon";
path pre_shared_key "/usr/local/etc/racoon/psk.txt";
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 ::1 [7000];
        isakmp 111.111.111.111 [500];
        #admin [7002];          # administrative port for racoonctl.
        #strict_address;        # requires that all addresses must be bound.
}

# Specify various default timers.
timer
{
        # These value can be changed per remote node.
        counter 5;              # maximum trying count to send.
        interval 20 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;
        lifetime time 2800 sec;
        #my_identifier asn1dn;
        #certificate_type x509 "my.cert.pem" "my.key.pem";

        #nonce_size 16;
        initial_contact on;
        proposal_check obey;    # obey, strict, or claim

        proposal {
                encryption_algorithm 3des;
                hash_algorithm md5;
                authentication_method pre_shared_key;
                dh_group 2;
        }
}
sainfo anonymous
{
        #pfs_group 2;
        lifetime time 3600 sec;
        encryption_algorithm 3des;
        authentication_algorithm hmac_md5;
        compression_algorithm deflate;
}
ipsec.conf

Код: Выделить всё

ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
роутинг

Код: Выделить всё

route add 192.168.0.0/24 222.222.222.222

sp1r1t
проходил мимо
Сообщения: 4
Зарегистрирован: 2007-12-24 15:00:32

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

Непрочитанное сообщение sp1r1t » 2007-12-24 20:42:21

Предыдущий пост больше не актуален. Сам разобрался. :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35178
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2007-12-24 21:19:40

ну и что было?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
freeman_tnu
мл. сержант
Сообщения: 104
Зарегистрирован: 2007-09-13 12:17:00
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение freeman_tnu » 2007-12-26 15:07:04

ага, интересно... поделись
для каждого впн-а естественно нужен свой гиф.

ms1980
рядовой
Сообщения: 11
Зарегистрирован: 2007-10-03 20:06:43

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

Непрочитанное сообщение ms1980 » 2008-04-04 7:37:33

Проблема с туннелем имеется
из сети за FreeBSD не проходят пакеты больше 1500 бит
Из сети за D-Link все нормально, MTU на D-Link 1420
Пинги с большим размером пакета проходят нормально в обе стороны
Пробовал понижать MTU до 1420 на lan интерфейсе во FreeBSD, толку нет
Кто нибудь сталкивался ?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35178
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2008-04-04 9:03:00

фрагметация пекетов разрешена?
Убей их всех! Бог потом рассортирует...

ms1980
рядовой
Сообщения: 11
Зарегистрирован: 2007-10-03 20:06:43

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

Непрочитанное сообщение ms1980 » 2008-04-04 10:09:08

lissyara писал(а):фрагметация пекетов разрешена?
Похоже перемудрил с правилами файрвола
При выключенном pf все OK :-)

Аватара пользователя
Dog
лейтенант
Сообщения: 723
Зарегистрирован: 2006-09-21 10:34:36
Откуда: Kharkiv, Ukraine
Контактная информация:

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

Непрочитанное сообщение Dog » 2008-04-04 17:42:07

Конфиг файрвола глянуть можно?
Oh my God, they killed init! Bastards!

ms1980
рядовой
Сообщения: 11
Зарегистрирован: 2007-10-03 20:06:43

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

Непрочитанное сообщение ms1980 » 2008-04-06 13:20:14

Dog писал(а):Конфиг файрвола глянуть можно?
Да хосту были запрешены icmp сообщения, вот сообщения о необхдимости уменьшить размер пакета не проходили :-)
И не получилось использовать keep state в правилах pf на LAN интерфейсе для для соединенний, идущих через ipsec
То есть такие правила работают

Код: Выделить всё

pass in quick on {$intif} from {$intnet} to 10.11.0.0/16
pass out quick on {$intif} from 10.11.0.0/16 to {$intnet}
А такие нет - один пакет проходит и все

Код: Выделить всё

pass in quick on {$intif} from {$intnet} to 10.11.0.0/16 keep state
pass out quick on {$intif} from 10.11.0.0/16 to {$intnet} keep state
У кого нибудь keep state работает ?

FreeManGH
проходил мимо

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

Непрочитанное сообщение FreeManGH » 2008-11-27 18:24:18

При связке FreeBSD 7.1-PRERELEASE + D-Link DI-824VUP (Firmware Version: v2.00, Tue, Jun 10 2008) у меня возникла такая вот проблемка :

Код: Выделить всё

# racoon -F -v -f /usr/local/etc/racoon/racoon.conf
Foreground mode.
2008-11-27 17:10:38: INFO: @(#)ipsec-tools 0.7.1 (http://ipsec-tools.sourceforge.net)
2008-11-27 17:10:38: INFO: @(#)This product linked OpenSSL 0.9.8e 23 Feb 2007 (http://www.openssl.org/)
2008-11-27 17:10:38: INFO: Reading configuration from "/usr/local/etc/racoon/racoon.conf"
2008-11-27 17:10:38: INFO: X.X.X.X[500] used as isakmp port (fd=5)
2008-11-27 17:10:46: INFO: respond new phase 1 negotiation: X.X.X.X[500]<=>Z.Z.Z.Z[500]
2008-11-27 17:10:46: INFO: begin Aggressive mode.
2008-11-27 17:10:46: WARNING: SPI size isn't zero, but IKE proposal.
2008-11-27 17:10:46: ERROR: failed to open pre_share_key file (null)
2008-11-27 17:10:46: NOTIFY: couldn't find the proper pskey, try to get one by the peer's address.
2008-11-27 17:10:46: ERROR: failed to open pre_share_key file (null)
2008-11-27 17:10:46: ERROR: couldn't find the pskey for Z.Z.Z.Z.
2008-11-27 17:10:46: ERROR: failed to process packet.
2008-11-27 17:10:46: ERROR: phase1 negotiation failed.
2008-11-27 17:10:51: INFO: respond new phase 1 negotiation: X.X.X.X[500]<=>Z.Z.Z.Z[500]
2008-11-27 17:10:51: INFO: begin Aggressive mode.
2008-11-27 17:10:51: WARNING: SPI size isn't zero, but IKE proposal.
2008-11-27 17:10:51: ERROR: failed to open pre_share_key file (null)
2008-11-27 17:10:51: NOTIFY: couldn't find the proper pskey, try to get one by the peer's address.
2008-11-27 17:10:51: ERROR: failed to open pre_share_key file (null)
2008-11-27 17:10:51: ERROR: couldn't find the pskey for Z.Z.Z.Z.
2008-11-27 17:10:51: ERROR: failed to process packet.
2008-11-27 17:10:51: ERROR: phase1 negotiation failed.
2008-11-27 17:10:56: INFO: respond new phase 1 negotiation: X.X.X.X[500]<=>Z.Z.Z.Z[500]
2008-11-27 17:10:56: INFO: begin Aggressive mode.
При том что

Код: Выделить всё

# cat /usr/local/etc/racoon/psk.txt
Z.Z.Z.Z qqqwww123
Куда смотреть?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

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

Непрочитанное сообщение paradox » 2008-11-27 18:26:09

2008-11-27 17:10:46: ERROR: failed to open pre_share_key file (null)
вроде файла какого то нет
точнее он пустой
итд
по тексту

FreeManGH
проходил мимо

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

Непрочитанное сообщение FreeManGH » 2008-11-28 10:17:49

paradox писал(а):
2008-11-27 17:10:46: ERROR: failed to open pre_share_key file (null)
вроде файла какого то нет
точнее он пустой
итд
по тексту
но он есть!

Код: Выделить всё

# ll -h /usr/local/etc/racoon/

Код: Выделить всё

total 12
drwxr-xr-x  2 root  wheel   512B Nov 24 16:05 cert
-rwxr-xr-x  1 root  wheel    43B Nov 27 12:12 psk.txt
-rw-r--r--  1 root  wheel    22B Nov 24 17:35 psk.txt.1
-rw-r--r--  1 root  wheel   1.4K Nov 27 17:07 racoon.conf
-rw-r--r--  1 root  wheel   2.2K Nov 27 15:35 racoon.conf.1

Код: Выделить всё

# cat /usr/local/etc/racoon/psk.txt

Код: Выделить всё

z.z.z.z zzzqqq123

ms1980
рядовой
Сообщения: 11
Зарегистрирован: 2007-10-03 20:06:43

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

Непрочитанное сообщение ms1980 » 2008-12-07 8:58:56

FreeManGH писал(а):
paradox писал(а):
2008-11-27 17:10:46: ERROR: failed to open pre_share_key file (null)
вроде файла какого то нет
точнее он пустой
итд
по тексту
А запости сюда racoon.conf
Путь прописан к preshared keys ? Должна быть строка вида

Код: Выделить всё

path pre_shared_key "/usr/local/etc/racoon/psk.txt";
И права на /usr/local/etc/racoon/psk.txt сделай 600
Последний раз редактировалось ms1980 2009-01-24 10:15:28, всего редактировалось 1 раз.

Аватара пользователя
damir_madaga
старшина
Сообщения: 447
Зарегистрирован: 2007-10-01 8:13:38
Откуда: Красноярск
Контактная информация:

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

Непрочитанное сообщение damir_madaga » 2009-01-22 14:59:18

А обязательно два белых адреса? Просто и у Лиса в статье белые и тут меня что то это с толку сбило!
Женщины и софт - должны быть бесплатными!

Basilio
рядовой
Сообщения: 31
Зарегистрирован: 2009-01-29 13:01:20

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

Непрочитанное сообщение Basilio » 2009-01-29 15:47:49

Добрый день.

Необходимо подключить по IPSec FreeBSD 7.1 (xxx.xxx.xxx.xxx) и D-link DI-824VUP+ (yyy.yyy.yyy.yyy), прошивка последняя, v2.10, Dec 29 2008

На обоих устройствах Firewall открыт "все-всем".

Прочитал статью
http://www.lissyara.su/?id=1503

В ядре

Код: Выделить всё

opnion IPSEC
device crypto

Поставил ipsec-tools из портов

Сделал конфиги по доке

Код: Выделить всё

flush;
spdflush;
spdadd 192.168.уу.уу/24 172.16.xx.xx/23 any -P out ipsec esp/tunnel/yyy.yyy.yyy.yyy-xxx.xxx.xxx.xxx/require;
spdadd 172.16.xx.xx/23 192.168.yy.yy/24 any -P in ipsec esp/tunnel/xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy/require;

Код: Выделить всё

path include "/usr/local/etc/racoon" ;
path pre_shared_key "/usr/local/etc/racoon/psk.txt" ;

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 ххх.ххх.ххх.ххх [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 {
        support_proxy on;
        proposal_check obey;    # obey, strict, or claim

        proposal {
                encryption_algorithm 3des;
                hash_algorithm sha1;
                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;
}


Файл с фразой, права 600, все ОК,
на д-линке

Код: Выделить всё

ike1 - group1 - 3DES - SHA1 - 28800
ipsec1 - group1 - ESP - 3DES - MD5 - 3600
После соединения лог на FreeBSD

Код: Выделить всё

/usr/local/etc/racoon > /usr/local/sbin/racoon -F -v -f /usr/local/etc/racoon/ra
coon.conf
Foreground mode.
2009-01-29 16:55:52: INFO: @(#)ipsec-tools 0.7.1 (http://ipsec-tools.sourceforge.net)
2009-01-29 16:55:52: INFO: @(#)This product linked OpenSSL 0.9.8e 23 Feb 2007 (http://www.openssl.org/)
2009-01-29 16:55:52: INFO: Reading configuration from "/usr/local/etc/racoon/racoon.conf"
2009-01-29 16:55:52: INFO: xxx.xxx.xxx.xxx[500] used as isakmp port (fd=5)
2009-01-29 16:55:57: INFO: respond new phase 1 negotiation: xxx.xxx.xxx.xxx[500]<=>yyy.yyy.yyy.yyy[500]
2009-01-29 16:55:57: INFO: begin Identity Protection mode.
2009-01-29 16:55:57: WARNING: SPI size isn't zero, but IKE proposal.
2009-01-29 16:55:57: WARNING: No ID match.
2009-01-29 16:55:57: INFO: ISAKMP-SA established xxx.xxx.xxx.xxx[500]-yyy.yyy.yyy.yyy[500] spi:xxxxxxxxxxxxxxxxxxxxx
2009-01-29 16:56:03: NOTIFY: the packet is retransmitted by yyy.yyy.yyy.yyy[500].
2009-01-29 16:56:09: NOTIFY: the packet is retransmitted by yyy.yyy.yyy.yyy[500].
2009-01-29 16:56:19: NOTIFY: the packet is retransmitted by yyy.yyy.yyy.yyy[500].
2009-01-29 16:56:29: NOTIFY: the packet is retransmitted by yyy.yyy.yyy.yyy[500].
2009-01-29 16:56:50: NOTIFY: the packet is retransmitted by yyy.yyy.yyy.yyy[500].
2009-01-29 16:56:51: ERROR: ignore information because the message is too short - 84 byte(s).
2009-01-29 16:56:51: INFO: respond new phase 1 negotiation: xxx.xxx.xxx.xxx[500]<=>yyy.yyy.yyy.yyy[500]
2009-01-29 16:56:51: INFO: begin Identity Protection mode.
2009-01-29 16:56:51: WARNING: SPI size isn't zero, but IKE proposal.
2009-01-29 16:56:51: WARNING: No ID match.
На Д-линке лог:

Код: Выделить всё

Sunday March 15, 2009 16:48:13 IKED re-TX : INIT to xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:48:23 IKED re-TX : INIT to xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:48:23 Receive IKE M2(RESP) : xxx.xxx.xxx.xxx --> yyy.yyy.yyy.yyy
Sunday March 15, 2009 16:48:23 Try to match with ENC:3DES AUTH:PSK HASH:SHA1 Group:Group1
Sunday March 15, 2009 16:48:24 Send IKE M3(KEYINIT) : yyy.yyy.yyy.yyy --> xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:48:24 Receive IKE M4(KEYRESP) : xxx.xxx.xxx.xxx --> yyy.yyy.yyy.yyy
Sunday March 15, 2009 16:48:24 Send IKE M5(IDINIT) : yyy.yyy.yyy.yyy --> xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:48:24 Receive IKE M6(IDRESP) : xxx.xxx.xxx.xxx --> yyy.yyy.yyy.yyy
Sunday March 15, 2009 16:48:24 ID type error
Sunday March 15, 2009 16:48:24 Receive IKE INFO : xxx.xxx.xxx.xxx --> yyy.yyy.yyy.yyy
Sunday March 15, 2009 16:48:29 IKED re-TX : IDINIT to xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:48:29 Receive IKE M6(IDRESP) : xxx.xxx.xxx.xxx --> yyy.yyy.yyy.yyy
Sunday March 15, 2009 16:48:29 ID type error
Sunday March 15, 2009 16:48:34 IKED re-TX : IDINIT to xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:48:34 Receive IKE M6(IDRESP) : xxx.xxx.xxx.xxx --> yyy.yyy.yyy.yyy
Sunday March 15, 2009 16:48:34 ID type error
Sunday March 15, 2009 16:48:44 IKED re-TX : IDINIT to xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:48:54 IKED re-TX : IDINIT to xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:49:14 IKED re-TX : IDINIT to xxx.xxx.xxx.xxx
Sunday March 15, 2009 16:49:14 Receive IKE M6(IDRESP) : xxx.xxx.xxx.xxx --> yyy.yyy.yyy.yyy
Подскажите в какую сторону крутить? :(

Аватара пользователя
buryanov
ст. сержант
Сообщения: 311
Зарегистрирован: 2008-04-29 13:41:48
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение buryanov » 2009-03-16 22:16:22

Всем привет
Решил собрать на столе ipsec между правильной осью и zywall. В логах racoon получаю следующее

Код: Выделить всё

2009-03-16 21:18:07: DEBUG: anonymous configuration selected for 10.4.250.3.
2009-03-16 21:18:07: DEBUG: getsainfo params: loc='10.10.10.0/24', rmt='10.10.20.0/24', peer='10.4.250.3', id=0
2009-03-16 21:18:07: DEBUG: getsainfo pass #1
2009-03-16 21:18:07: DEBUG: evaluating sainfo: loc='ANONYMOUS', rmt='ANONYMOUS', peer='ANY', id=0
2009-03-16 21:18:07: DEBUG: getsainfo pass #2
2009-03-16 21:18:07: DEBUG: evaluating sainfo: loc='ANONYMOUS', rmt='ANONYMOUS', peer='ANY', id=0
2009-03-16 21:18:07: DEBUG: selected sainfo: loc='ANONYMOUS', rmt='ANONYMOUS', peer='ANY', id=0
2009-03-16 21:18:07: DEBUG: get a src address from ID payload 10.10.20.0[0] prefixlen=24 ul_proto=255
2009-03-16 21:18:07: DEBUG: get dst address from ID payload 10.10.10.0[0] prefixlen=24 ul_proto=255
2009-03-16 21:18:07: DEBUG: sub:0xbfbfe3f4: 10.10.20.0/24[0] 10.10.10.0/24[0] proto=any dir=in
2009-03-16 21:18:07: DEBUG: db: 0x2843d118: 10.4.250.3/32[0] 10.4.250.2/32[0] proto=any dir=in
2009-03-16 21:18:07: DEBUG: 0xbfbfe3f4 masked with /32: 10.10.20.0[0]
2009-03-16 21:18:07: DEBUG: 0x2843d118 masked with /32: 10.4.250.3[0]
2009-03-16 21:18:07: DEBUG: sub:0xbfbfe3f4: 10.10.20.0/24[0] 10.10.10.0/24[0] proto=any dir=in
2009-03-16 21:18:07: DEBUG: db: 0x2843d248: 10.4.250.2/32[0] 10.4.250.3/32[0] proto=any dir=out
2009-03-16 21:18:07: ERROR: no policy found: 10.10.20.0/24[0] 10.10.10.0/24[0] proto=any dir=in
2009-03-16 21:18:07: ERROR: failed to get proposal for responder.
2009-03-16 21:18:07: ERROR: failed to pre-process packet.
2009-03-16 21:18:07: DEBUG: IV freed
как я понимаю, всё начинается со строчки

Код: Выделить всё

2009-03-16 21:18:07: ERROR: no policy found: 10.10.20.0/24[0] 10.10.10.0/24[0] proto=any dir=in
где искать, низнаю пока, в поисках
Дмитрий.
buryanov*ukr.net
icq# 118639660; skype: buryanov

ski
старшина
Сообщения: 408
Зарегистрирован: 2008-08-25 18:10:44
Откуда: СССР, РФ, Сталинградская область, село Безродное
Контактная информация:

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

Непрочитанное сообщение ski » 2009-03-16 22:42:08

люди, объясните, чем ipsec вообще предпочтительней для подобных решений, чем mpd/pptp с шифрованием?