URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 3948
[ Назад ]

Исходное сообщение
"Проблема с ipsec туннелем между dlink di-804hv и freebsd-7.0"

Отправлено iceman_krs , 30-Авг-08 15:49 
Доброго все времени суток!
Копаюсь с ipsec не так давно и вот возникла проблема с настройкой туннеля ipsec междк dlink di-804hv и freebsd-7.0, собственные варианты пока что кончились...
Суть проблемы: у меня получилось поднять ipsec между двумя оффисами нашей конторы,в центральном стоит шлюз на freebsd-7.0 а на удаленке dlink di-804hv.
У обоих адреса серые,находятся в сети одного провайдера:для фрюхи внешний 192.168.47.1 маска 255.255.248.0+на ней есть pppoe-туннель для соединения с инетом, внутренний 192.168.0.1 маска 255.255.255.0.
для длинка внешний 192.168.51.44 маска 255.255.248.0,внутренний 192.168.1.1.
В манах в том числе на оффициальном сайте длинка ничего не говорится про необходимость поднятия интерфейса gif,если делать как они советуют то пакеты идущие с фрюхи в сеть за длинком роутятся на адрес 192.168.51.44, с линка в сеть за фрей идут на 192.168.47.1.
Проверено,не работает,фря не знает как обраться до 192.168.1.1,пришлось поднять gif с адресами концов туннеля 192.168.47.1 и 192.168.51.44 и внутреними адресами 192.168.0.1 и 192.168.1.1 и вроде фря и длинк друг друга видят.
Дальше начинается то что пока для меня неясно: прописал роутинг на сети за шлюзами через внтренние ардеса фри и длинка, на длинке на 192.168.0.0/24 через 192.168.0.1 а на фре на 192.168.1.0/24 через 192.168.1.1.
с своего ноутбука находящегося в сети за длинком(адрес ноута 192.168.1.180) я могу пропинговать фрюху по адресу 192.168.0.1 но не могу пингануть машину 192.168.0.200 находящуюся за фрей,а вот с машины 192.168.0.200 из сети за фрей я не вижу даже внтреннего адреса длинка 192.168.1.1,не говоря уж о ноуте 192.168.1.180 за ним. :-(
Пытался выснить что-то tcpdum -i gif0 host 192.168.1.1 а сами в это время с машины 192.168.0.200 запустил ping 192.168.1.1 предварительно прописав на ней маршрут на 192.168.1.0/24 через 192.168.0.1,но через интерфейс gif0 через который должны бегать пинги туда и обратно идут только ответы,через чо идут запросы выяснить не удалось:

> sudo tcpdump -i gif0 host 192.168.1.180

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
19:46:12.981643 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 125, length 64
19:46:14.016642 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 126, length 64
19:46:15.050589 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 127, length 64

когда слушаю остальные интерфейсы там ничего нет,а где ICMP echo request? :-(
с самой фри я длинк и машину за длинком 192.168.1.180 пингую.


Содержание

Сообщения в этом обсуждении
"Проблема с ipsec туннелем между dlink di-804hv и freebsd-7.0"
Отправлено DenSha , 02-Сен-08 16:58 
Доброго дня.

1.
...
>пакеты идущие с фрюхи в сеть за длинком роутятся на адрес 192.168.51.44,
>с линка в сеть за фрей идут на 192.168.47.1.
>Проверено,не работает,

...
Вроде и не должно
>для фрюхи внешний 192.168.47.1 маска 255.255.248.0
>для длинка внешний 192.168.51.44 маска 255.255.248.0

47 и 51 в маску 248 не укладываются.

Я бы попробовал на 0.200 поставить 0.1 шлюзом по умолчанию и посмотреть (на ней win?) tracert 192.168.1.180.
И перепроверил выводы netstat -ra на фре и 0.200


>> sudo tcpdump -i gif0 host 192.168.1.180
>
>tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
>
>listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
>19:46:12.981643 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 125, length 64
>19:46:14.016642 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 126, length 64
>19:46:15.050589 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 127, length 64
>

а не sudo tcpdump -i gif0 _DST_ host 192.168.1.180?



"Проблема с ipsec туннелем между dlink di-804hv и freebsd-7.0"
Отправлено Глебов Константин , 05-Сен-08 17:40 
>[оверквотинг удален]
>>
>>tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
>>
>>listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
>>19:46:12.981643 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 125, length 64
>>19:46:14.016642 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 126, length 64
>>19:46:15.050589 IP 192.168.1.180 > gate0: ICMP echo reply, id 13321, seq 127, length 64
>>
>
>а не sudo tcpdump -i gif0 _DST_ host 192.168.1.180?

Доброго времени суток :-)
Одну проблему решил,локалки объединил.А были мои косяка:
1)не было маршрутизации до сети 192.168.1.0.24 на машине 192.168.0.200 в сети за фрей
2)косяк в файрволе,был закрыт обмен между сетями.
Попробовал это строчку: sudo tcpdump -i gif0 _DST_ host 192.168.1.180
фря ругается на лишний символ подчерка.
Работает правда не совсем так как я ожидал :-)
Например я добавил в ipfw такие строчки:
allow ip from 192.168.1.0/24 to 192.168.0.0/24 in via gif0
allow ip from 192.168.0.0/24 to 192.168.1.0/24 out gif0
Я считал что должно подняться,нифига,помогли только строчки наугад,пришлось убрать даже in, out тк с ними тоже не работало:
allow ip from 192.168.1.0/24 to 192.168.0.0/24
allow ip from 192.168.0.0/24 to 192.168.1.0/24
Также все сработало когда убрал гиф интерфейс,токо прописал роутинг на машине за фрей 192.168.0.200 и с нее пошел пинг.Что в этой ситуации(когда нет гифа) неясно,так это то что когда я пишу на фре ping 192.168.1.1 она ругаетася:
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: Invalid argument
ping: sendto: Invalid argument
а 192.168.0.200 с виндой пингует:
C:\Program Files\Support Tools>ping 192.168.1.1 -t

Обмен пакетами с 192.168.1.1 по 32 байт:

Ответ от 192.168.1.1: число байт=32 время=8мс TTL=63
Ответ от 192.168.1.1: число байт=32 время=1мс TTL=633

Выходит я чего-то недогоняю :-(
Может кто-нить объяснить как етот зверь работает?..


"Проблема с ipsec туннелем между dlink di-804hv и freebsd-7.0"
Отправлено iceman_krs , 05-Сен-08 17:45 
>[оверквотинг удален]
>а 192.168.0.200 с виндой пингует:
>C:\Program Files\Support Tools>ping 192.168.1.1 -t
>
>Обмен пакетами с 192.168.1.1 по 32 байт:
>
>Ответ от 192.168.1.1: число байт=32 время=8мс TTL=63
>Ответ от 192.168.1.1: число байт=32 время=1мс TTL=633
>
>Выходит я чего-то недогоняю :-(
>Может кто-нить объяснить как етот зверь работает?..

И еще,в /var/log/messages когда я пингую 192.168.1.1 и фря ругается на неверный аргумент вот чо лезет:
Sep  5 21:42:51 gate0 kernel: arplookup 192.168.51.44 failed: host is not on local network
Sep  5 21:42:51 gate0 kernel: arpresolve: can't allocate route for 192.168.51.44
Sep  5 21:42:53 gate0 kernel: arplookup 192.168.51.44 failed: host is not on local network
Sep  5 21:42:53 gate0 kernel: arpresolve: can't allocate route for 192.168.51.44