Racoon не устанавливается туннель

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
VITYA
рядовой
Сообщения: 16
Зарегистрирован: 2011-11-05 21:18:51
Откуда: Санкт-Петербург
Контактная информация:

Racoon не устанавливается туннель

Непрочитанное сообщение VITYA » 2013-05-26 21:18:54

Приветствую, хочу объединить сети 2х офисов, настраивал по этой статье: http://how-it.ru/public/root/409-nastro ... d_key.html

На одном(5.5.5.5) валятся ошибки:

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

2013-05-27 05:38:22: INFO: Reading configuration from "/usr/local/etc/racoon/racoon.conf"
2013-05-27 05:46:55: INFO: IPsec-SA request for 2.2.2.2 queued due to no phase1 found.
2013-05-27 05:46:55: INFO: initiate new phase 1 negotiation: 5.5.5.5[500]<=>2.2.2.2[500]
2013-05-27 05:46:55: INFO: begin Identity Protection mode.
2013-05-27 05:46:55: ERROR: phase1 negotiation failed due to send error. 38166c3ce73d5f39:0000000000000000
2013-05-27 05:46:55: ERROR: failed to begin ipsec sa negotication.
На втором(2.2.2.2) такое:

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

2013-05-26 21:14:48: INFO: Reading configuration from "/usr/local/etc/racoon/racoon.conf"
2013-05-26 21:14:48: WARNING: setsockopt(UDP_ENCAP_ESPINUDP_NON_IKE): UDP_ENCAP Invalid argument
2013-05-26 21:14:48: INFO: 2.2.2.2[500] used as isakmp port (fd=5)
2013-05-26 21:36:44: INFO: caught signal 15
2013-05-26 21:36:44: INFO: racoon process 1897 shutdown
2013-05-26 21:37:43: INFO: @(#)ipsec-tools 0.8.0 (http://ipsec-tools.sourceforge.net)
2013-05-26 21:37:43: INFO: @(#)This product linked OpenSSL 0.9.8x 10 May 2012 (http://www.openssl.org/)
2013-05-26 21:37:43: INFO: Reading configuration from "/usr/local/etc/racoon/racoon.conf"
2013-05-26 21:37:43: [b]]WARNING: setsockopt(UDP_ENCAP_ESPINUDP_NON_IKE): UDP_ENCAP Invalid argument[/b
2013-05-26 21:37:43: INFO: 2.2.2.2[500] used as isakmp port (fd=5)
На обоих такой вывод setkey:

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

setkey -DP                      
192.168.55.0/24[any] 192.168.10.0/24[any] any
        in ipsec
        esp/tunnel/5.5.5.5-2.2.2.2/unique#16386
        spid=2 seq=1 pid=1977
        refcnt=1
192.168.10.0/24[any] 192.168.55.0/24[any] any
        out ipsec
        esp/tunnel/2.2.2.2-5.5.5.5/unique#16385
        spid=1 seq=0 pid=1977
        refcnt=1
ipsec.conf

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

flush;
spdflush;
spdadd 192.168.10.0/24 192.168.55.0/24 any -P out ipsec esp/tunnel/2.2.2.2-5.5.5.5/unique;
spdadd 192.168.55.0/24 192.168.10.0/24 any -P in ipsec esp/tunnel/5.5.5.5-2.2.2.2/unique;
Очень прошу помочь!

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 2.2.2.2 [500]; # внешний ip данного роутера
}

# Specify various default timers.
timer
{
    counter 5; # maximum trying count to send.
    interval 20 sec; # maximum interval to resend.
    persend 1; # the number of packets per send.
    phase1 30 sec;
    phase2 15 sec;
}



###############
# REMOTE NET 1
###############

remote 5.5.5.5
{
    exchange_mode main,base;
    lifetime time 28800 sec;
    generate_policy on;
    proposal_check strict;
    proposal {
        encryption_algorithm 3des;
        hash_algorithm sha1;
        authentication_method pre_shared_key;
        dh_group 2;
    }
}

sainfo subnet 192.168.10.0/24 any address 192.168.55.0/24 any
{
    lifetime time 28800 sec;
    encryption_algorithm aes128, 3des, cast128, blowfish 448, des, rijndael;
    authentication_algorithm hmac_md5, hmac_sha1;
    compression_algorithm deflate;
}

Хостинговая компания 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/

Аватара пользователя
VITYA
рядовой
Сообщения: 16
Зарегистрирован: 2011-11-05 21:18:51
Откуда: Санкт-Петербург
Контактная информация:

Re: Racoon не устанавливается туннель

Непрочитанное сообщение VITYA » 2013-05-27 10:10:56

Похоже, что дело не в провайдере, может файрвол не пропускает? оЧЕНЬ НУЖНА ПОМОЩЬ.

Вот такие настройки файрвола(на другом конце так же):

cat /etc/pf.conf

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

if_ext="em0"
if_int="em1"
net_int="192.168.55.0/24"
set block-policy drop
set state-policy if-bound
scrub in all
nat pass on $if_ext from $net_int -> ($if_ext) static-port
#table persist
#block quick on $if_ext from to any
pass quick on lo all

pass all

pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state
pass out quick on $if_ext inet proto { udp, icmp } from ($if_ext) to any keep state
pass out quick on $if_int from ($if_int) to $net_int
pass in quick on $if_int from $net_int to any keep state
ifconfig

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

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
        ether 00:22:4d:a1:1c:f4
        inet 10.189.151.82 netmask 0xfffffc00 broadcast 10.189.151.255
        inet6 fe80::222:4dff:fea1:1cf4%em0 prefixlen 64 scopeid 0x1 
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
        ether 00:22:4d:a1:32:d1
        inet 192.168.55.10 netmask 0xffffff00 broadcast 192.168.55.255
        inet6 fe80::222:4dff:fea1:32d1%em1 prefixlen 64 scopeid 0x2 
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
pflog0: flags=0<> metric 0 mtu 33200
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
pfsync0: flags=0<> metric 0 mtu 1500
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        syncpeer: 0.0.0.0 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128 
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0xb 
        inet 127.0.0.1 netmask 0xff000000 
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
enc0: flags=0<> metric 0 mtu 1536
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

snorlov
подполковник
Сообщения: 3828
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Racoon не устанавливается туннель

Непрочитанное сообщение snorlov » 2013-05-27 15:09:53

Вы для начала отключите шифрование, настройте простой тоннель(настройте инкапсуляцию), добейтесь его надежной работы работы, в файере сеть 2-го офиса тоже должна фигурировать и лишь затем врубайте шифрование, кстати его можно врубить и на маршруте 2.2.2.2<->5.5.5.5, т.е. шифровать весь трафик между этими 2-мя компами

Аватара пользователя
VITYA
рядовой
Сообщения: 16
Зарегистрирован: 2011-11-05 21:18:51
Откуда: Санкт-Петербург
Контактная информация:

Re: Racoon не устанавливается туннель

Непрочитанное сообщение VITYA » 2013-05-27 20:22:30

Спасибо за подсказку, snorlov!
Я убрал шифрование и оставил в rc.conf только:

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

gif_interfaces="gif0"
gifconfig_gif0="217.197.234.242 5.19.243.188"
ifconfig_gif0="inet  192.168.10.10 192.168.55.10 netmask 255.255.255.0"
static_routes="remote"
route_remote="192.168.55.0/24 -interface gif0"
на втором соответственно тоже.

добавил маршрут

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

route add 192.168.55.1 192.168.10.1
получилось:

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

netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.189.148.1       UGS         1    43083    em0
10.189.148.0/22    link#1             U           0        0    em0
10.189.151.82      link#1             UHS         0        0    lo0
127.0.0.1          link#11            UH          0        2    lo0
192.168.10.0/24    gif0               US          0       12   gif0
192.168.10.10      link#13            UH          0        9   gif0
192.168.55.0/24    link#2             U           0    53109    em1
192.168.55.1       192.168.10.1       UGHS        0        0   gif0
192.168.55.10      link#2             UHS         1        2    lo0
в ifconfig стало:

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

gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
        tunnel inet 5.5.5.5 --> 2.2.2.2
        inet6 fe80::222:4dff:fea1:1cf4%gif0 prefixlen 64 tentative scopeid 0xd
        inet 192.168.55.10 --> 192.168.10.10 netmask 0xffffff00
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        options=1<ACCEPT_REV_ETHIP_VER>
на всякий случай привожу конфиг файрвола:

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

if_ext="em0"
if_int="em1"
office1="2.2.2.2"
net_int="192.168.55.0/24"
set block-policy drop
set state-policy if-bound
scrub in all
nat pass on $if_ext from $net_int -> ($if_ext) static-port
pass quick on lo all

pass on gif0  #разрешаем все на интерфейсе gif0
pass out quick on $if_ext  inet proto udp from $if_ext port isakmp to $office1 port isakmp
pass out quick on $if_ext proto esp from $if_ext to $office1
pass out quick on $if_ext proto ipencap from $if_ext to $office1
pass in quick on $if_ext  inet proto udp from $office1 port isakmp to $if_ext port isakmp
pass in quick on $if_ext proto esp from $office1 to $if_ext
pass in quick on $if_ext proto ipencap from $office1 to $if_ext

pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state
pass out quick on $if_ext inet proto { udp, icmp } from ($if_ext) to any keep state
pass out quick on $if_int from ($if_int) to $net_int
pass in quick on $if_int from $net_int to any keep state

Но при этом не пингуется другой шлюз ((( что можете ещё посоветовать? tcpdump?

snorlov
подполковник
Сообщения: 3828
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Racoon не устанавливается туннель

Непрочитанное сообщение snorlov » 2013-05-27 22:44:14

Зачем маршрут-то добавлять, там автоматом должно все добавиться после

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

static_routes="remote"
route_remote="192.168.55.0/24 -interface gif0"
я в ipfw до ната говорил ходить всем пакетам обеих локалок на внутреннем интерфейсе...

Аватара пользователя
VITYA
рядовой
Сообщения: 16
Зарегистрирован: 2011-11-05 21:18:51
Откуда: Санкт-Петербург
Контактная информация:

Re: Racoon не устанавливается туннель

Непрочитанное сообщение VITYA » 2013-05-27 23:51:36

Если маршрут руками не добавить , то картина такая:

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

netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            2.2.2.2    UGS         0    13537    em0
127.0.0.1          link#11            UH          0        8    lo0
192.168.10.0/24    link#2             U           0    10527    em1
192.168.10.10      link#2             UHS         1        0    lo0
192.168.55.0/24    gif0               US          0        0   gif0
192.168.55.10      link#13            UH          0        0   gif0
2.2.2.0/24   link#1             U           0        0    em0
2.2.2.2    link#1             UHS         0        0    lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::/96                             ::1                           UGRS        lo0
::1                               link#11                       UH          lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%em0/64                     link#1                        U           em0
fe80::222:4dff:fea1:3440%em0      link#1                        UHS         lo0
fe80::%em1/64                     link#2                        U           em1
fe80::222:4dff:fea1:3444%em1      link#2                        UHS         lo0
fe80::%lo0/64                     link#11                       U           lo0
fe80::1%lo0                       link#11                       UHS         lo0
fe80::%gif0/64                    link#13                       U          gif0
fe80::222:4dff:fea1:3440%gif0     link#13                       UHS         lo0
ff01::%em0/32                     fe80::222:4dff:fea1:3440%em0  U           em0
ff01::%em1/32                     fe80::222:4dff:fea1:3444%em1  U           em1
ff01::%lo0/32                     ::1                           U           lo0
ff01::%gif0/32                    fe80::222:4dff:fea1:3440%gif0 U          gif0
ff02::/16                         ::1                           UGRS        lo0
ff02::%em0/32                     fe80::222:4dff:fea1:3440%em0  U           em0
ff02::%em1/32                     fe80::222:4dff:fea1:3444%em1  U           em1
ff02::%lo0/32                     ::1                           U           lo0
ff02::%gif0/32                    fe80::222:4dff:fea1:3440%gif0 U          gif0
я в ipfw до ната говорил ходить всем пакетам обеих локалок на внутреннем интерфейсе...
то есть средствами ipfw загонял пакеты в туннель? я такого не встречал.

Аватара пользователя
VITYA
рядовой
Сообщения: 16
Зарегистрирован: 2011-11-05 21:18:51
Откуда: Санкт-Петербург
Контактная информация:

Re: Racoon не устанавливается туннель

Непрочитанное сообщение VITYA » 2013-05-28 0:13:41

ошибся адресами, прошу прощения. действительно маршрут добавляется сам.

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

route add 192.168.10.10 192.168.55.10
route: writing to routing socket: File exists
add host 192.168.10.10: gateway 192.168.55.10: [b]route already in table[/b]
тогда чего же пинг не проходит?

Аватара пользователя
VITYA
рядовой
Сообщения: 16
Зарегистрирован: 2011-11-05 21:18:51
Откуда: Санкт-Петербург
Контактная информация:

Re: Racoon не устанавливается туннель

Непрочитанное сообщение VITYA » 2013-05-28 0:34:00

сейчас попробовал на другом сервере, тоже с белым адресом, настроить туннель с 2.2.2.2 - получилось, пинги проходят.

проблема с машинкой, где пров выдал для присвоения интерфейсу серый адрес 10.10.10.10, а белый 5.5.5.5 предлагается использовать для туннеля. но так не работает.

snorlov
подполковник
Сообщения: 3828
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Racoon не устанавливается туннель

Непрочитанное сообщение snorlov » 2013-05-28 9:34:50

VITYA писал(а):
я в ipfw до ната говорил ходить всем пакетам обеих локалок на внутреннем интерфейсе...
то есть средствами ipfw загонял пакеты в туннель? я такого не встречал.
Да нет же, просто при инкапсуляции пакетов в тоннеле, восстанавливается пакет пришедший из другого офиса, если он не разрешен на внутреннем интерфейсе, то он дропается...

snorlov
подполковник
Сообщения: 3828
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Racoon не устанавливается туннель

Непрочитанное сообщение snorlov » 2013-05-28 9:37:43

VITYA писал(а):сейчас попробовал на другом сервере, тоже с белым адресом, настроить туннель с 2.2.2.2 - получилось, пинги проходят.
проблема с машинкой, где пров выдал для присвоения интерфейсу серый адрес 10.10.10.10, а белый 5.5.5.5 предлагается использовать для туннеля. но так не работает.
не совсем понял о чем речь... ты выходишь в мир через типа pppoe или алиас прописываешь на карте...

Аватара пользователя
VITYA
рядовой
Сообщения: 16
Зарегистрирован: 2011-11-05 21:18:51
Откуда: Санкт-Петербург
Контактная информация:

Re: Racoon не устанавливается туннель

Непрочитанное сообщение VITYA » 2013-05-28 10:48:54

Проблема решена! Нужно было прописать серый ip 10.10.10.10 вместо белого 5.5.5.5, а с противоположной стороны наоборот 5.5.5.5
это связано с тем, что пров(интерзет) не дает непосредственно присвоить интерфейсу белый ip, по белому можно только обращаться извне.
не совсем понял о чем речь... ты выходишь в мир через типа pppoe или алиас прописываешь на карте...
нет там pppoe, просто белый служит как бы дополнительным гетвеем, а пользоваться заставляют их локальным(10.10.10.10). извиняюсь за сумбурное описание.
Да нет же, просто при инкапсуляции пакетов в тоннеле, восстанавливается пакет пришедший из другого офиса, если он не разрешен на внутреннем интерфейсе, то он дропается...
я понял, это правильно, у меня тоже сейчас добавлено подобное:

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

#разрешаем себя изнутри
pass out on $if_int from $if_int to any keep state
#разрешаем внутренней сети инициализировать любые подключения
pass out on $if_int from $net_int to any keep state
#даем себе право инициировать любые соединения на внешку.
pass out on $if_ext from $if_ext to any keep state
Большое спасибо тебе, snorlov!

Гость
проходил мимо

Re: Racoon не устанавливается туннель

Непрочитанное сообщение Гость » 2013-08-09 17:31:08

VITYA писал(а):Проблема решена! Нужно было прописать серый ip 10.10.10.10 вместо белого 5.5.5.5, а с противоположной стороны наоборот 5.5.5.5
это связано с тем, что пров(интерзет) не дает непосредственно присвоить интерфейсу белый ip, по белому можно только обращаться извне.
не совсем понял о чем речь... ты выходишь в мир через типа pppoe или алиас прописываешь на карте...
нет там pppoe, просто белый служит как бы дополнительным гетвеем, а пользоваться заставляют их локальным(10.10.10.10). извиняюсь за сумбурное описание.
Да нет же, просто при инкапсуляции пакетов в тоннеле, восстанавливается пакет пришедший из другого офиса, если он не разрешен на внутреннем интерфейсе, то он дропается...
я понял, это правильно, у меня тоже сейчас добавлено подобное:

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

#разрешаем себя изнутри
pass out on $if_int from $if_int to any keep state
#разрешаем внутренней сети инициализировать любые подключения
pass out on $if_int from $net_int to any keep state
#даем себе право инициировать любые соединения на внешку.
pass out on $if_ext from $if_ext to any keep state
Большое спасибо тебе, snorlov!
"Нужно было прописать серый ip 10.10.10.10 вместо белого 5.5.5.5"
где ? В каком файле?

snorlov
подполковник
Сообщения: 3828
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Racoon не устанавливается туннель

Непрочитанное сообщение snorlov » 2013-08-09 20:26:43

Гость писал(а): "Нужно было прописать серый ip 10.10.10.10 вместо белого 5.5.5.5"
где ? В каком файле?
У автора темы пров выдавал ему адрес 10.10.10.10, который собственными средствами прокидывал в инет на 5.5.5.5, поэтому у него тоннель с одной стороны был 10.10.10.10 -> x.x.x.x, а в другом офисе он был x.x.x.x -> 5.5.5.5 ...