OpenVPN два здания одна подсеть

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
emergik
проходил мимо
Сообщения: 2
Зарегистрирован: 2014-10-23 9:00:01

OpenVPN два здания одна подсеть

Непрочитанное сообщение emergik » 2014-10-23 9:23:17

Господа, помогите, весь мозг вывихнул.

Дано:
Организация у которой два здания, оба в одной сети провайдера.

Задача:
Соединить сети через VPN так, что бы подсеть на оба здания была одна.

Картика и статья, которой руководствовался http://admin.vlady.ru/OpenVPN-Bridge.htm

Здание №1
192.168.1.0/24, gate 192.168.1.1 (PfSense). Внешний ip 10.0.253.33
В этой сети живеь сервер AD, рали которого вся морока.

На гейте поднят сервер OpenVPN

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

dev ovpns1
dev-type tap
dev-node /dev/tap1
writepid /var/run/openvpn_server1.pid
#user nobody
#group nobody
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp
cipher BF-CBC
up /usr/local/sbin/ovpn-linkup
down /usr/local/sbin/ovpn-linkdown
local 10.0.253.33
tls-server
server 192.168.1.0 255.255.255.0
client-config-dir /var/etc/openvpn-csc
tls-verify /var/etc/openvpn/server1.tls-verify.php
lport 1194
management /var/etc/openvpn/server1.sock unix
max-clients 10
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DOMAIN snwi"
push "dhcp-option DNS 192.168.1.4"
client-to-client
ca /var/etc/openvpn/server1.ca 
cert /var/etc/openvpn/server1.cert 
key /var/etc/openvpn/server1.key 
dh /etc/dh-parameters.1024
crl-verify /var/etc/openvpn/server1.crl-verify 
tls-auth /var/etc/openvpn/server1.tls-auth 0
comp-lzo

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

ifconfig 
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
	ether 90:94:e4:82:b0:63
	inet 10.0.253.33 netmask 0xff000000 broadcast 10.255.255.255
	inet6 fe80::9294:e4ff:fe82:b063%em0 prefixlen 64 scopeid 0x1 
	nd6 options=1<PERFORMNUD>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=98<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
	ether 00:0c:29:3f:b8:21
	inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
	inet6 fe80::1:1%em1 prefixlen 64 scopeid 0x2 
	nd6 options=1<PERFORMNUD>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
enc0: flags=0<> metric 0 mtu 1536
pflog0: flags=100<PROMISC> metric 0 mtu 33144
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=3<RXCSUM,TXCSUM>
	inet 127.0.0.1 netmask 0xff000000 
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6 
	nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
pfsync0: flags=0<> metric 0 mtu 1460
	syncpeer: 224.0.0.240 maxupd: 128 syncok: 1
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 02:e4:93:09:ae:00
	id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
	maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
	root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
	member: ovpns1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 9 priority 128 path cost 2000000
	member: em1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 2 priority 128 path cost 20000
ovpns1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	ether 00:bd:5d:04:00:01
	inet6 fe80::2bd:5dff:fe04:1%ovpns1 prefixlen 64 scopeid 0x9 
	inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
	nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
	Opened by PID 10977
tun1: flags=8010<POINTOPOINT,MULT
Здание №2
192.168.1.0/24, gate 192.168.1.2 (FreeBSD), внешний ip 10.10.254.125

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

dev tap0
#dev tun
persist-tun
persist-key
cipher BF-CBC
auth SHA1
tls-client
client
resolv-retry infinite
remote 10.0.253.33 1194 udp

#lport 0
#verify-x509-name "vpn-user2" name
#auth-user-pass usr.txt
comp-lzo

ca keys/ca.crt
tls-auth keys/ta.key 1
cert keys/cert.crt
key keys/key.key

log /var/log/openvpn/openvpn.log
status /var/log/openvpn/status.log
verb 3

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

ifconfig 
re0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
	ether 90:94:e4:82:cd:34
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <half-duplex>)
	status: no carrier
re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
	ether 90:94:e4:82:b0:63
	inet 10.10.254.125 netmask 0xff000000 broadcast 10.255.255.255
	inet6 fe80::9294:e4ff:fe82:b063%re1 prefixlen 64 scopeid 0x3 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
re2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=82099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
	ether 90:2b:34:94:85:5a
	inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
	inet6 fe80::922b:34ff:fe94:855a%re2 prefixlen 64 scopeid 0x4 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7 
	inet 127.0.0.1 netmask 0xff000000 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 02:fe:4a:c8:9c:00
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
	maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
	root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
	member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 9 priority 128 path cost 2000000
	member: re2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 4 priority 128 path cost 55
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	ether 00:bd:1c:20:00:00
	inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
	nd6 options=29<PERFOR
Итог:

Соединение поднимается. Компы из второго здания получают по DHCP настройки с гейта из здания№1, шлюз у них 192.168.1.1 в интернет доступ есть. Но достучаться из здания №2 до 192.168.1.4 нельзя.
Шировешательный пинг из здания№2 ловится в заднии№1.
В "сетевом окружении" винды видны компы обоих зданий, при попытке подключения выдаётся ошибка.

Классический вопрос: что делать?

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

Dmitriy_3206
рядовой
Сообщения: 44
Зарегистрирован: 2014-10-13 15:51:34

Re: OpenVPN два здания одна подсеть

Непрочитанное сообщение Dmitriy_3206 » 2014-10-23 15:53:12

Никогда не настраивал TAP так как считаю что всегда лучше решить через маршрутизацию.

Вот эта часть конфига в принципе относится к tun конфигурациям

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

client-to-client
Включает маршрутизацию между клиентами OPENVPN

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

push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DOMAIN snwi"
push "dhcp-option DNS 192.168.1.4"
Задает настройки OpenVPN клиенту (вашему второму шлюзу) что в принципе не распространяется на клиентов за ним.

Ваш конфиг, от конфига статьи на которую вы ссылаетесь сильно отличается в сторону усложнения (можно упростить пока не добьетесь работы) .
В "сетевом окружении" винды видны компы обоих зданий, при попытке подключения выдаётся ошибка.
мое мнение что раз в службе MS работает значит tap свое дело делает. Пробуйте упрощать конфиги файрвола.

Все это IMHO так как в TAP ни разу не пробовал и и с AD не работал

emergik
проходил мимо
Сообщения: 2
Зарегистрирован: 2014-10-23 9:00:01

Re: OpenVPN два здания одна подсеть

Непрочитанное сообщение emergik » 2014-10-27 22:40:12

Попробовал упростить, без изменений.

Решил разбить по разным подсетям здания. И без бриджей. Настроил маршруты, всё заработало. Немного криво, правда, работает виндовая ДНСка на здание№2, но это решаемо, я надеюсь.

Скорее всего исходная проблема была в бридже на PFsense, судя по всему, он отрабатывал только в одну сторону.

Аватара пользователя
Sanno
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-11-20 14:22:13

Re: OpenVPN два здания одна подсеть

Непрочитанное сообщение Sanno » 2014-11-20 14:26:48

Согласен, скорее всего это мост. У нас в конторе была подобная проблема, ребята с этой фирмы проглаживали сеть - http://abonent-pc.ru/ и так же не передовало пакеты при наличии моста в топологии. Заменили его и все сразу заработало.