IPSEC VPN между FreeBSD и TP-LINK

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Xas
проходил мимо

IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение Xas » 2014-12-05 13:29:10

Может кто подскажите где затуп, слабоват я еще в маршрутизации.

Есть два офиса - с внутренними сетками 192.168.0.0/22 и 10.100.0.0/24.

В сети 192.168.0.0/22 есть vpn сервер с внешним адресом 1.1.1.1 под управлением freebsd с установленным racoon, и внутренним ip 192.168.0.44, некоторые юзера в сети имеееют маршрут в сеть 10.100.0.0/24 через 192.168.0.44
В сети 10.100.0.0/24 есть роутер TP-LINK с внешним адросм 2.2.2.2, его внутренний ip 10.100.0.1 этот же адрес раздается default gw юзерам.

Что есть на данный момент и чего бы хотелось: туннель поднят и работает, клиенты из сети 10.100.0.0/24 видят некоторые серваки в сети 192.168.0.0/22 на которых прописан обратный маршрут в сеть 10.100.0.0/24 через vpn сервер(внутренние сервера).
Но юзера не не видят друг друга. Есть подозрения что чет с маршрутами я таки накрутил.

Вот вводные:

Настрока на vpn сервере в сети 192.168.0.0/22 который имеет адрес 192.168.0.44

Тунель поднят

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

Destination            Cookies                           ST S  V E Created             Phase2
2.2.2.2:500      aae12234abn05b14:497e5ca72892e274  9 R 10 M 2014-12-04 16:53:01      1 

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

cat /usr/local/etc/ipsec.conf
flush;
spdflush;
spdadd 192.168.0.0/22 10.100.0.0/24 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
spdadd 10.100.0.0/24 192.168.0.0/22 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;

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

# ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
        tunnel inet 193.46.86.244 --> 91.200.113.90
        inet 192.168.0.44 --> 10.100.0.1 netmask 0xfffffffc 
        options=1<ACCEPT_REV_ETHIP_VER>

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

# netstat -rn | grep gif0
10.100.0.0/24      10.100.0.1         UGS         0     3308   gif0
10.100.0.1         link#13            UH          0    89181   gif0
ipfw пока в тестовом режиме все пускает

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

00703    5507     652691 allow ip from 10.100.0.0/24 to any
00703    6553    3202749 allow ip from any to 10.100.0.0/24

На той стороне в сети 10.100.0.0/24


Тут железяка от тплинка на которой вижу такие маршруты
5.5.5.5 - их провайдер

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

0.0.0.0/0	5.5.5.5	GS	pppoe1	WAN1	0
5.5.5.5	         N/A	HP	pppoe1	WAN1	2
10.100.0.0/24	N/A	C	eth0	LAN	0
192.168.0.0/22	N/A	S	pppoe1	WAN1	0

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

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

Re: IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение snorlov » 2014-12-05 14:32:56

Что значит не видят? Ринг между ними есть?


Xas
проходил мимо

Re: IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение Xas » 2014-12-05 14:57:26

Сам vpn сервер тоже не может запинговать никого кроме роутера держащего vpn на той стороне .

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

Re: IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение snorlov » 2014-12-05 15:22:45

крутите файер, поставьте сначало это

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

allow ip from 10.100.0.0/24 to 192.168.0.0/22
allow ip from 192.168.0.0/22  to 10.100.0.0/24
фря пингует tp-link по внешнему или же внутреннему ip

Xas
проходил мимо

Re: IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение Xas » 2014-12-05 16:14:25

snorlov писал(а):крутите файер, поставьте сначало это

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

allow ip from 10.100.0.0/24 to 192.168.0.0/22
allow ip from 192.168.0.0/22  to 10.100.0.0/24
фря пингует tp-link по внешнему или же внутреннему ip
по внутреннему... внешний нас как бы сейчас не интересует ибо тунель поднят и активен, поэтому пинги внешних адресов дело десятое...

по поводу фаервола буду смотреть, но пока чет глухо...

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

Re: IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение snorlov » 2014-12-05 17:23:37

Я не знаю как TP-link, но если можно отключить временно шифрование канала, то отключите ее и на фре и на TP-Link'е и посмотрети как работает инкапсуляция пакетов...

Xas
проходил мимо

Re: IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение Xas » 2014-12-08 15:57:34

Вот еще момент который до меня не доходит, может кто растолкует куда копать.

Есть

Роутер TP-LINK <=========> FreeBSD Racoon c поднятым между нимим IPSEC туннелем.
10.100.0.1 192.168.0.44
10.100.0.0/24 <=========> 192.168.0.0/22

Есть win машина со стороны TP-LINK на коротой есть один единственный маршрут - дефолт на 10.100.0.1.
Есть linux сервер со стороны FreeBSD VPN сервера c поднятым веб сервером и обратным маршрутом вида 10.100.0.0/24 via 192.168.0.44

Так вот win машина ни в какую не идет по 80 порту на этот сервак пока насильно не пропишешь win машине маршрут вида 192.168.0.0/22 via 192.168.0.44

На впн сервере машрут 10.100.0.0/24 via 10.100.0.1


Я чего-то простого видимо не понимаю, ведь по сути на вин машине мы прописали более короткий маршрут чем дефолтный, но прописывании такого же маршрута на роутере и убирании короткого маршрута с win машины мы вроде как должны получить работающий web, ведь пакеты пойдут с клиента на дефолт, а дефолт уже знает через кого идти в сеть 192,168,0,0/22..... но почему-то этого не происходит

Аватара пользователя
gumeniuc
ст. сержант
Сообщения: 343
Зарегистрирован: 2009-11-08 15:46:05
Откуда: md
Контактная информация:

Re: IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение gumeniuc » 2014-12-09 18:02:20

Мне кажется надо начинать сначала.

1. Если туннель поднят, но трафика нет - проверяйте tcpdump`ом есть ли ESP трафик на WAN интерфейсе, а не пинги внешних адресов.
2. Уберите gif интерфейсы - сами запутаетесь. У Вас обыкновенный site-to-site. Не надо усложнять.
3.
Xas писал(а): На впн сервере машрут 10.100.0.0/24 via 10.100.0.1
На роутере есть такое понятие как Encryption Domain, в котором указано какой трафик шифровать, есть CryptoMap, который подсказывает какому пиру отправить его. Маршруты здесь лишние.
4. Убедитесь, что у Вас выключен NAT при обращении к приватным подсетям.
5. Убедитесь, что firewall не блокирует трафик между подсетями. Просмотрите правила как входящего, так и исходящего трафика.
Да шо ему сделается...

Аватара пользователя
andrian_freebsd
сержант
Сообщения: 171
Зарегистрирован: 2013-08-21 16:10:16
Откуда: Україна

IPSEC VPN между FreeBSD и TP-LINK

Непрочитанное сообщение andrian_freebsd » 2015-02-16 20:17:19

Вобще то на хостах каждой сети (офисов) пропипише по умолчинию один шлюз, пуст маршрутизатор пакеты перенаправляет, не администратора ето работа на каждом хосте шлюз прописывать до каждой удаленной сети, тоесть, если хост сети 10.100.0.0/24 пропишите ему шлюз по умолчанию тот который отвечает за ету сеть, в другом удаленном офисе зделайте то ж самое, тогда у вас должно быть:
(сеть(N1) 10.100.0.0/24 ) -> (шлюз 10.100.0.1) <<<<<<-----internet---->>>>> (шлюз 192.168.0.0.44) <- (сеть(N2) 192.168.0.0/22 ). Попробуйте каждый ли хост своей сети хотя б пингует маршрутизатор своей сети, єсли хорошо - поднемите VN (виртуальную сеть, без шифорования, с шыфрованием ето будет уже private то есть VpN). Подняли хорошо, пропынгуйте уже внитрение адреса тунеля, потом с маршрутизаторов пробуйте хосты пропинговать, но не забудьте что у вас сети в офисах - разных класов и масок */24 и */22. И не надо на хостах прописовать дополнительные шлюзы, проще на firewall - ле запретить ...