Приветствую, господа!Есть сеть 192.168.1.0/24 с сервером на FreeBSD(1) 6.1 (192.168.1.1) и он же имеет внешний интерфейс 19x.x.x.9 (он подключен к коммутатору 2-ого уровня, ну типа к моей же WAN сети 19x.x.x.0/25). На другом конце моей же сети 19x.x.x.192/26 через схему:
Интернет
^
|
FreeBSD(1)->Switch->Cisco3640--------Cisco1760->Switch->FreeBSD(2)->ЛВСнаходится Freebsd 5.2.1 с интерфейсом в ЛВС 192.168.3.1 и сеть 192.168.3.0/24
второй интерфейс (смотрящий в Switch с cisco1760) НЕ ИМЕЕТ ip-адреса так как cisco1760 работает как PPPoE сервер адресом в в сторону 192.168.2.100. Сеть которую организует cisco1760 к клиентам к сети Интернет через switch - 19x.x.x.192/26. Между cisco"ами настроены интерфейсы serial с IP unnumbered: cisco3640 ip unnumbered Faste0/0 (тот который смотрит в сеть с FreeBSD(1)), cisco1760 ip unnumbered Loopback0 (Loopback0 имеет ip-адрес 19x.x.x.193/26). Интерфейс cisco1760 Faste0/0 смотрящий в switch имеет адрес 192.168.2.100.Значит, FreeBSD(2) успешно подключается и получает адрес через PPPoE 19x.x.x.209 (почему сделан PPPoE - для клиентов сети). Пинги ходят, инет летает проблем нет. Роутинг и все остальное настроено как надо на обеих cisco.
Теперь я создаю gre туннели (для подключения сетей 192.168.1.0/24 и 192.168.3.0/24)на обоих Серверах Freebsd (ядро скомпилированно как надо для gre на обоих) как написано в man gre, т.е. на FreeBSD(1):
ifconfig gre0 create
ifconfig tunnel 19x.x.x.9 19x.x.x.209
ifconfig 192.168.1.1 192.168.3.1 netmask 255.255.255.0 link1
route add -net 192.168.3 -netmask 255.255.255.0 192.168.3.1а, на на FreeBSD(2):
ifconfig gre0 create
ifconfig tunnel 19x.x.x.209 19x.x.x.9
ifconfig 192.168.3.1 192.168.1.1 netmask 255.255.255.0 link1
route add -net 192.168.1 -netmask 255.255.255.0 192.168.1.1далее на всякий случай делаю ifconfig gre0 up на обоих серверах.
проверка:
пингую с FreeBSD(1) - 192.168.3.1 все прекрасно ходит, работает, потерь нет, все ок.
пингую с FreeBSD(2) - 192.168.1.1 ничего не ходит, даже trafshow на FreeBSD(1) показывает что ничего не приходит.
Проверел все, таблицы маршрутизации, канал, роутинг на цисках - ну все ок. на обоих серверах все как бы "зеркально" одинкаво - но, Вопрос почему не идут пакеты от FreeBSD(2) в сторону FreeBSD(1) по туннелю. Кстати, пинг и traceroute и с 19x.x.x.209 на 19x.x.x.9 ходят и наоборот. Уже голову сломал что не так. ipfw делаю временно permit ip from any to anyДумаю что косяк связан из-за PPPoE (т.е. туннеля GRE поверх туннеля PPPoE) и соответственно какой то маршрут нужно дописать....
Подскажите плз, где я мыслю не верно... или что не доделал...
>Приветствую, господа!
>
>Есть сеть 192.168.1.0/24 с сервером на FreeBSD(1) 6.1 (192.168.1.1) и он же
>имеет внешний интерфейс 19x.x.x.9 (он подключен к коммутатору 2-ого уровня, ну
>типа к моей же WAN сети 19x.x.x.0/25). На другом конце моей
>же сети 19x.x.x.192/26 через схему:
>
>
> Интернет
>
> ^
>
> |
>FreeBSD(1)->Switch->Cisco3640--------Cisco1760->Switch->FreeBSD(2)->ЛВС
>
>находится Freebsd 5.2.1 с интерфейсом в ЛВС 192.168.3.1 и сеть 192.168.3.0/24
>второй интерфейс (смотрящий в Switch с cisco1760) НЕ ИМЕЕТ ip-адреса так как
>cisco1760 работает как PPPoE сервер адресом в в сторону 192.168.2.100. Сеть
>которую организует cisco1760 к клиентам к сети Интернет через switch -
>19x.x.x.192/26. Между cisco"ами настроены интерфейсы serial с IP unnumbered: cisco3640 ip
>unnumbered Faste0/0 (тот который смотрит в сеть с FreeBSD(1)), cisco1760 ip
>unnumbered Loopback0 (Loopback0 имеет ip-адрес 19x.x.x.193/26). Интерфейс cisco1760 Faste0/0 смотрящий в
>switch имеет адрес 192.168.2.100.
>
>Значит, FreeBSD(2) успешно подключается и получает адрес через PPPoE 19x.x.x.209 (почему сделан
>PPPoE - для клиентов сети). Пинги ходят, инет летает проблем нет.
>Роутинг и все остальное настроено как надо на обеих cisco.
>
>Теперь я создаю gre туннели (для подключения сетей 192.168.1.0/24 и 192.168.3.0/24)на
>обоих Серверах Freebsd (ядро скомпилированно как надо для gre на обоих)
>как написано в man gre, т.е. на FreeBSD(1):
>
>ifconfig gre0 create
>ifconfig tunnel 19x.x.x.9 19x.x.x.209
>ifconfig 192.168.1.1 192.168.3.1 netmask 255.255.255.0 link1
>route add -net 192.168.3 -netmask 255.255.255.0 192.168.3.1
>
>а, на на FreeBSD(2):
>ifconfig gre0 create
>ifconfig tunnel 19x.x.x.209 19x.x.x.9
>ifconfig 192.168.3.1 192.168.1.1 netmask 255.255.255.0 link1
>route add -net 192.168.1 -netmask 255.255.255.0 192.168.1.1
>
>далее на всякий случай делаю ifconfig gre0 up на обоих серверах.
>
>проверка:
>пингую с FreeBSD(1) - 192.168.3.1 все прекрасно ходит, работает, потерь нет, все
>ок.
>пингую с FreeBSD(2) - 192.168.1.1 ничего не ходит, даже trafshow на FreeBSD(1)
>показывает что ничего не приходит.
>Проверел все, таблицы маршрутизации, канал, роутинг на цисках - ну все ок.
>на обоих серверах все как бы "зеркально" одинкаво - но, Вопрос
>почему не идут пакеты от FreeBSD(2) в сторону FreeBSD(1) по туннелю.
>Кстати, пинг и traceroute и с 19x.x.x.209 на 19x.x.x.9 ходят и
>наоборот. Уже голову сломал что не так. ipfw делаю временно permit
>ip from any to any
>
>Думаю что косяк связан из-за PPPoE (т.е. туннеля GRE поверх туннеля PPPoE)
>и соответственно какой то маршрут нужно дописать....
>Подскажите плз, где я мыслю не верно... или что не доделал...Все! Поборол. Оказалось что FreeBSD(2) с версией 5.2.1 имеет какой-то bug, проявляющийся в том, что туннель GRE поднимается, но при прохождении пакетов, в том числе и ping происходит их потеря на сервере, именно таким странным образом что удаленный сервер FreeBSD пингует и посылает пакеты нормально, а вот локальный с FreeBSD 5.2.1 глючит. Вина в ошибке в IPFW. Решается обновлением ядра до 5.3 а лучше сразу перейти на 6-ую ветку
Ввот ссылка на статью:
GRE tunnel problem om FreeBSD 5.2.1
http://lists.freebsd.org/pipermail/freebsd-questions/2004-Oc...