есть 2 машины (FreeBSD 6.0). Нужно создать gif туннель между ними. Детали:1) Первая машина - А
Гейтвей, за которым сидит локалка.
на внешнем интерфейсе ip A.B.C.D, на внутреннем 192.168.0.12) Вторая машина - B
Удаленный сервер с ip W.X.Y.Z на внешнем интерфейсе и алиасом 192.168.2.1 на lo0Нужно проложить туннель от A до В, по которому будет бегать IPSEC, причем с А В должна быть видна как 192.168.2.1
что я делаю:
а) на А
ifconfig gif0 create
ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
ifconfig gif0 inet 192.168.0.1 192.168.2.1 netmask 0xffffffff
ipfw add 1 allow ip from any to any via gif0б) на В
ifconfig gif0 create
ifconfig gif0 tunnel W.X.Y.Z A.B.C.D
ifconfig gif0 inet 192.168.2.1 192.168.0.1 netmask 0xffffffff
ipfw add 1 allow ip from any to any via gif0само собой, трафик A->В и В->А везде разрешен.
После этого на А говорю
ping 192.168.2.1
и... ничего не происходитпри этом
На А:
============
маршрут есть:
# netstat -nr | grep 192.168.2.1
192.168.2.1 192.168.0.1 UH 0 161 gif0через gif трафик идет:
#tcpdump -i gifo
IP 192.168.0.1 > 192.168.2.1: ICMP echo request, id 7686, seq 15, length 64
....
IP 192.168.0.1 > 192.168.2.1.router: RIPv1, Response, length: 124А вот через внешний интерфейс А на В ничего не уходит.
В чем может быть дело? В какую сторону смотреть?
и все же есть у кого-нибудь мысли в эту сторону?
на второй тачке маршрут есть? чото не понятно из поста..
>на второй тачке маршрут есть? чото не понятно из поста..
да, есть:
# netstat -nr
......
192.168.0.1 192.168.2.1 UH 0 0 gif0
так ты что тунелю назначил адреса внутреннего интерфейса?
>так ты что тунелю назначил адреса внутреннего интерфейса?
там, гду у меня написано
ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
A.B.C.D и W.X.Y.Z -- внешние адреса на внешних интерфейсах
>на внешнем интерфейсе ip A.B.C.D, на внутреннем 192.168.0.1>Удаленный сервер с ip W.X.Y.Z на внешнем интерфейсе и алиасом 192.168.2.1 на
>ifconfig gif0 inet 192.168.0.1 192.168.2.1 netmask 0xffffffff
>ifconfig gif0 inet 192.168.2.1 192.168.0.1 netmask 0xffffffff
>внутреннем 192.168.0.1 != gif0 inet 192.168.0.1
у тунеля свои адреса должны быть
A ifconfig gif0 inet 10.0.0.1 10.0.0.2
B ifconfig gif0 inet 10.0.0.2 10.0.0.1A route add -host 192.168.2.1 10.0.0.2
B route add -host 192.168.0.1 10.0.0.1
>у тунеля свои адреса должны быть
в итоге получилось вот что:
А:
# ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet A.B.C.D --> W.X.Y.Z
inet 192.168.3.1 --> 192.168.3.2 netmask 0xffffffff
# netstat -nr | grep gif
192.168.3.2 192.168.3.1 UH 0 75 gif0
B:
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet W.X.Y.Z --> A.B.C.D
inet 192.168.3.2 --> 192.168.3.1 netmask 0xffffffff
# netstat -nr | grep gif
192.168.3.1 192.168.3.2 UH 0 0 gif0
===
192.168.3.1 и 192.168.3.2 -- специально выделенные для туннеля "свои адреса"и в итоге с А 192.168.3.2 все равно не пингуется...
># netstat -nr | grep gif
>192.168.3.1 192.168.3.2а ты внимательно посмотри что я тебе написал
>># netstat -nr | grep gif
>>192.168.3.1 192.168.3.2
>
>а ты внимательно посмотри что я тебе написал
скажи уж тогда, что не так :)
route add -host 192.168.0.1 192.168.3.2
route add -host 192.168.2.1 192.168.3.1
>route add -host 192.168.0.1 192.168.3.2
>route add -host 192.168.2.1 192.168.3.1
А
ifconfig gif0 create
ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
ifconfig gif0 inet 192.168.3.1 192.168.3.2
route add -host 192.168.2.1 192.168.3.1В
ifconfig gif0 create
ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
ifconfig gif0 inet 192.168.3.2 192.168.3.1
route add -host 192.168.0.1 192.168.3.2не прокатило. симптомы те же -- с а не видать ни 192.168.3.2, ни 192.168.2.1
>>route add -host 192.168.0.1 192.168.3.2
>>route add -host 192.168.2.1 192.168.3.1
>А
>ifconfig gif0 create
>ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
>ifconfig gif0 inet 192.168.3.1 192.168.3.2
>route add -host 192.168.2.1 192.168.3.1
>
>В
>ifconfig gif0 create
>ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
>ifconfig gif0 inet 192.168.3.2 192.168.3.1
>route add -host 192.168.0.1 192.168.3.2
>
>не прокатило. симптомы те же -- с а не видать ни 192.168.3.2,
>ни 192.168.2.1смотрю понимания нет.
первое роуты: ifconfig gif0 inet 192.168.3.1 и через него же роут пишешь.
роут задаеться на некст хоп роутер.второе: после построения тунеля, оба конца должны пингаться без вспомогательных движений.
если нет - проверяй доступность дестинейшен. потот фаир.треть: +я приводил в примере серую сеть 10.x.x.x
ты поставил 192. где вероятность того что она у тебя не завернута криво или еще что.
в твоем слечае надежней использовать третью сеть.
пинги на соседей без раута пойдут (можешь на время снять шоп не мешал)
маску поставь там и сям 255.255.255.0
будет щасте :)
>
>А вот через внешний интерфейс А на В ничего не уходит.
>В чем может быть дело? В какую сторону смотреть?А может быть пакеты в ipsec не заворачиваются? Что прописано в /etc/ipsec.conf?