создание gre туннеля Linux <-> FreeBSD

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Zak_
Сообщения: 46
ОС: FreeBSD 6.1

создание gre туннеля Linux <-> FreeBSD

Сообщение Zak_ »

Вообщем есть машина с linux 2.4, есть машина с FreeBSD 6.1 для краткости буду называть их freebsd и linux.
Причем:
freebsd имеет адрес 10.100.50.10/24
linux имеет адрес 192.168.1.150/24 - и алиас 172.16.4.16/16.
freebsd может обращаться к linux по ип адресу 192.168.1.1 через шлюз 10.100.50.1 . т.е freebsd находится за НАТом.
а linux не видит freebsd

нужно поднять между linux и freebsd туннель, по протоколу gre. чтобы freebsd видел подсеть 172.16.0.0/16 - реально ли это?

если да - то можно хотябы в 2х словах - как? :)
Gentoo 2006.0 2.6.15-gentoo-r7 from Stage1 with NPTL on Athlon XP 1700+/256/GF4 MX440
Спасибо сказали:
Аватара пользователя
rolano
Сообщения: 845
Статус: еще один юзер FreeBSD
ОС: какая-то

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение rolano »

Поднять ВПН до Линуха (на Линухе это скорее всего poptop, на Фре - можно pptp или mpd), прописать маршрут для подсети на туннель и обратно до Фряхи. Вроде бы так.
Я знаю только то, что ничего не знаю ... потому и обречен вечно учиться.
Спасибо сказали:
Аватара пользователя
Zak_
Сообщения: 46
ОС: FreeBSD 6.1

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение Zak_ »

нет, интересует имено по протоколу gre, штатными средсвами, без установки доп. ПО на linux машине. на freebsd машине можно ставить хоть что :)
Gentoo 2006.0 2.6.15-gentoo-r7 from Stage1 with NPTL on Athlon XP 1700+/256/GF4 MX440
Спасибо сказали:
Аватара пользователя
rolano
Сообщения: 845
Статус: еще один юзер FreeBSD
ОС: какая-то

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение rolano »

Ну а зачем тогда ГРЕ? Лучше тогда IP в IP - куда уж штатней?
Я знаю только то, что ничего не знаю ... потому и обречен вечно учиться.
Спасибо сказали:
Igor B.
Сообщения: 324

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение Igor B. »

Со стороны линукса gre-туннель организуется пакетом iproute2 (штатный пакет). Чем со стороны фри - не знаю.
Спасибо сказали:
Аватара пользователя
Zak_
Сообщения: 46
ОС: FreeBSD 6.1

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение Zak_ »

ipip не поддерживается в системе. =)
только gre, + еще такую штуку нашел: ip_nat_proto_gre.o
скажу тогда сразу - linux машина - adsl модем 500T =) с неофициальной прошивкой =) pptp client есть там только, pptp сервера нету, есть pppd, iproute2 там тоже есть.
...
вот нужно обязательно зделать туннель между модемом и серваком на фре.
на крайняк - если при такой конфигурации не получится - буду пыттася зделать так, чтобы из модема был виден серв на фре...
Gentoo 2006.0 2.6.15-gentoo-r7 from Stage1 with NPTL on Athlon XP 1700+/256/GF4 MX440
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение sash-kan »

(Zak_ @ Aug 11 2006, в 15:22) писал(а):а linux не видит freebsd

боюсь, что gre-туннель не поднимется. нужна видимость. системе нужно знать — куда именно надо слать пакеты.
в частности — в самой команде создания туннеля необходимо явно указать ip-адрес второй стороны.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Zak_
Сообщения: 46
ОС: FreeBSD 6.1

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение Zak_ »

вот
теперь linux и freebsd видит друг друга...
попробовал огранизовать туннель - не получается чето :(

повторюсь с задачей:

linux машина видит подсеть 172.16.0.0/16.
адрес linux машины в этой подсети 172.16.4.16.
linux машина имеет также внешний адрес 192.168.1.1.
freebsd машина имеет только внешний адрес 10.100.50.10.

freebsd и linux видят друг друга по внешним адресам.

нужно:
чтобы freebsd увидела подсеть 172.16.0.0/16. и чтобы из этой подсети видели freebsd машину. т.е нужно чтобы freebsd получила адрес из этой подсети. или нет? такое возможно? либо можно еще при обрашении к адресу 172.16.4.16 видели freebsd машину.

я делал вот что: (модуль ip_gre загружен)
из linux:
#ip tunnel add gre0 mode gre local 192.168.1.1 remote 10.100.50.10 ttl 255
#ip link set gre0 up
#ip addr add 172.16.4.16 dev gre0

потом из freebsd: (поддержка if_gre встроена в ядро )
#ifconfig gre0 create
#ifconfig gre0 tunnel 10.100.50.10 192.168.1.1
#ifconfig gre0 inet 172.16.4.17 172.16.4.16 netmask 255.255.0.0

по идее freebsd должна иметь ип адрес 172.16.4.17 ... или я неправ?
как вообще проверить что туннель работает?
Gentoo 2006.0 2.6.15-gentoo-r7 from Stage1 with NPTL on Athlon XP 1700+/256/GF4 MX440
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение sash-kan »

(Zak_ @ Aug 12 2006, в 17:53) писал(а):#ip addr add 172.16.4.16 dev gre0

неправильно! внутри туннеля должна быть своя сеть.
все равно какая. естественно, из частного диапазона.
ну, например (вместо твоей команды ip a a 172.16.4.16 dev gre0):

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

ip a a 10.10.10.1/30 dev gre0
соответственно на другой стороне должен быть адрес 10.10.10.2/30. как оно правильно должно звучать в bsd — не подскажу.
про форвардинг пакетов речь вроде не заходила? так вот — на linux-машине он должен быть включен.
дальше просто настраиваешь правильную маршрутизацию.
на bsd — сеть 172.16.0.0/16 через 10.10.10.1
на клиентах из сети 172.16.0.0/16 (но только если у них дефолтный шлюз не 172.16.4.16) — маршрут к 10.100.50.10 через 172.16.4.16.
еще, возможно, проходящие сквозь туннель пакеты на выходе придется snat-ить. ведь не всем компьютерам в сети 172.16.0.0/16 могут понравиться пакеты, имеющие обратный адрес 10.10.10.2:

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

iptables -t nat -A POSTROUTING -s 10.10.10.0/30 -o <интерфейс с адресом 172.16.4.16> -j SNAT --to-source 172.16.4.16
bsd, кстати, тоже могут не понравиться пакеты с обратным адресом из диапазона 172.16.0.0/16. ну, надеюсь, догадаешься — как это обойти (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
Zak_
Сообщения: 46
ОС: FreeBSD 6.1

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение Zak_ »

спасибо, зделал уже! работает! =)
зделал часную сеть между туннелями, присвоил роутеру доп. ип и потом SNAT и DNAT на тунель =)
чтобы в обе стороны
Gentoo 2006.0 2.6.15-gentoo-r7 from Stage1 with NPTL on Athlon XP 1700+/256/GF4 MX440
Спасибо сказали:
pingvix
Сообщения: 1
ОС: Debian 5.0.5

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение pingvix »

Добрый день
Может вы и мне подскажете?
Ситуация такая. Есть туннель между двумя Фрями. Построен через гиф интерфейсы. Обе фри раздают интернет в своих офисах и имеют статический айпишнички.
В моем офисе Фря имеет адрес 100,100,100,100 а в сети видна как щлюз 192,168,2,1
На другом конце Фря имеет адрес 200,200,200,200 и видна как шлюз в сети 192,168,0,3

Возникла необходимость один офис перевести на дебиан (5)
Начал настраивать туннель gre

На дебиане делаю следующее
# ip tunnel add tun0 mode gre remote 200,200,200,200 local 100,100,100,100 ttl 255
# ip link set tun0 up
# ip addr add 192.168.0.3 dev tun0
# ip route add 192.168.0.0/24 dev tun0
с iptables ничего не делал, кроме включения ната и полного открытия файрвола. Все правила на Ацепт.
После этого начинает идти пинг по внутреннему адресу. Но больше ничего. Не видно сетки. Не подключается по ссш (хотя ключик добавился)
На второй фре я туннель не менял. Может в этом проблема. Если нужно на второй фре поменять настройку туннеля - то на какую именно? Со второй фри пинг не идет по внутреннему адресу вовсе, хотя пингуется по внешке.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение sash-kan »

pingvix
насколько я понял, вы два туннеля с двух разных машин попытались подцепить на один интерфейс на машине 200,200,200,200.
так и не должно работать. на машине 200,200,200,200 нужно два интерфейса создавать. к разным конечным точкам.

p.s. и вообще — у вас что, с машины 200,200,200,200 видны две машины с одним и тем же ip-адресом 100,100,100,100?! так вообще ничего не будет работать, не только туннели.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Mydvane
Сообщения: 113
ОС: freebsd

Re: создание gre туннеля Linux <-> FreeBSD

Сообщение Mydvane »

на правах оффтопа.
Остается загадкой, зачем ломать то, что уже работает и по всей видимости работает замечательно ?
Спасибо сказали: