Jump to content

Recommended Posts

Здравствуйте.

 

Надо связать две сети с помошью openvpn bridge

 

Первая сеть с openvpn сервером на openwrt

Внутренняя сеть 192.168.2.0

/etc/config/openvpn

config openvpn 'tap_bridge'
	option enabled '1'
	option ca '/etc/easy-rsa/keys/ca.crt'
	option cert '/etc/easy-rsa/keys/server.crt'
	option key '/etc/easy-rsa/keys/server.key'
	option dh '/etc/easy-rsa/keys/dh.pem'
	option 'tls_server' '1'
	option 'port' '1194' # to bypass restrictive firewalls, you might consider running OpenVPN on port 443 or 22
	option 'proto' 'udp' # TCP might be more reliable but slower; if you change this to tcp, change the firewall rule as well
	option 'dev' 'tap0'
	option 'server_bridge' '192.168.2.1 255.255.255.0 192.168.2.150 192.168.2.199' # this assumes the lan is 192.168.1.1/24 and will give out address in range 192.168.1.220-229
	list 'push' 'dhcp-option DNS 192.168.2.1' # this will make the clients use openwrt for DNS resolution
	list 'push' 'route 192.168.2.0 255.255.255.0' # Change this to your network
	option 'client_to_client' '1'
	option compress 'lzo'
	option 'keepalive' '10 120'
	option 'status' '/tmp/openvpn_tap0.status'
#	option	'log' '/tmp/ovpn.log'
	option 'persist_key' '1'
	option 'persist_tun' '1'
	option 'verb' '3'
	option 'mute' '20'

 

/etc/config/network

config interface 'lan'
	option type 'bridge'
	option proto 'static'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option ipaddr '192.168.2.1'
	option ifname 'eth1.1 tap0'

 

 

Клиент Keenetic Speedster (KN-3010)

внутренняя сеть 192.168.7.0

настройки

dev tap
proto udp
remote x.x.x.x 1194
resolv-retry infinite
mute-replay-warnings
#
comp-lzo
verb 3
keepalive 10 120
persist-key
persist-tun
nobind
client
remote-cert-tls server

<ca>
-----BEGIN CERTIFICATE-----

 

openvpn соединение устанавливается. 

Адрес Кинетику выдается 192.168.2.150

Между сервером и клиентом пинг идет.

 

Далее есть в сети Кинетика другие клиенты, которым тоже надо выдать ip адреса из сети 192.168.2.0 сервера на openwrt.

для этого DHCPсервер на кинетике в режиме релея включен и указан адрес DHCP сервера 192.168.2.1

1802711176_.png.38b67a6408243a3896498ff024225906.png

 

Адреса теперь клиентам выдаются сервером 192.168.2.1 - но пинг до них не идет.

В интерфейсе openwrt видны эти клиенты (ESP_xxxx) и их mac адреса

394770390_.png.b013c331bfa544470a68965a68514eea.png

 

Но arp их при этом видит с mac адресами вида 00.00.00.00.00

OpenWrt:~# arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.2.82     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.11     0x1         0x2         00:11:32:02:8e:e0     *        br-lan
192.168.2.20     0x1         0x2         fc:aa:14:c2:86:57     *        br-lan
192.168.2.100    0x1         0x2         24:18:1d:b0:80:e1     *        br-lan
192.168.2.38     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.47     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.87     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.43     0x1         0x2         00:04:4b:b3:c5:18     *        br-lan
192.168.2.30     0x1         0x2         00:60:6e:a5:5f:f6     *        br-lan
192.168.2.150    0x1         0x2         4a:bb:68:04:4a:ff     *        br-lan
192.168.2.97     0x1         0x2         60:a4:4c:c2:be:07     *        br-lan
192.168.2.124    0x1         0x2         00:09:b0:71:43:f5     *        br-lan
192.168.2.53     0x1         0x2         24:a1:60:30:4c:08     *        br-lan
192.168.2.31     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.102    0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.98     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.27     0x1         0x2         b4:f7:a1:8b:46:8c     *        br-lan
192.168.2.76     0x1         0x2         b0:4e:26:5c:11:65     *        br-lan
192.168.2.45     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.94     0x1         0x0         00:09:b0:71:43:f5     *        br-lan
192.168.2.32     0x1         0x2         78:11:dc:e9:55:45     *        br-lan
192.168.2.41     0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.10     0x1         0x2         00:1f:d0:d7:98:ee     *        br-lan
192.168.2.99     0x1         0x2         00:12:14:24:b2:c9     *        br-lan
192.168.2.46     0x1         0x0         00:00:00:00:00:00     *        br-lan

 

что сделать нужно еще, чтобы эти клиенты были видны ?

 

 

 

 

Link to comment
Share on other sites

OpenVPN встроенный. Сам кинетик является  клиентом, а не сервером.

 

а   interface BridgeX include OpenVPNY  наверное относится к серверу, а не клиенту?

 на сайте

https://help.keenetic.com/hc/ru/articles/360000001689-Возможно-ли-создание-OpenVPN-сервера-типа-TAP-

В настройках Keenetic, который является OpenVPN-сервером, нужно включить интерфейс OpenVPN0 в основной мост командами в CLI:

interface Bridge0
include OpenVPN0
system configuration save

 

Link to comment
Share on other sites

Действительно заработало. Стали доступны клиенты за кинетиком.

Но после перезагрузки кинетика теперь удаленно не могу к нему подключиться.

В логах сервера openwrt вижу, что кинетик подключается к нему через openvpn.

Выделяется все так же адрес 192.168.2.150 - но теперь ни к кинетику, ни к другим клиентам за ним не могу подклчиться.

Возможно файрволл кинетика что-то режет

 

И у Кинетика теперь тоже стал mac адрес 00:00:00:00, зато у всех других появились mac адреса

@OpenWrt:~# arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.7.2      0x1         0x2         00:12:31:6b:6e:da     *        br-lan
192.168.2.98     0x1         0x2         70:03:9f:d0:1b:58     *        br-lan
192.168.2.50     0x1         0x2         00:12:31:6b:6e:32     *        br-lan
192.168.2.59     0x1         0x2         00:f4:8d:9e:61:83     *        br-lan
192.168.2.43     0x1         0x2         00:04:4b:b3:c5:18     *        br-lan
192.168.2.11     0x1         0x2         00:11:32:02:8e:e0     *        br-lan
192.168.2.27     0x1         0x2         b4:f7:a1:8b:46:8c     *        br-lan
192.168.2.100    0x1         0x2         8c:aa:b5:18:e1:f3     *        br-lan
192.168.7.13     0x1         0x2         00:12:31:6b:6e:e2     *        br-lan
192.168.2.20     0x1         0x2         fc:aa:14:c2:86:57     *        br-lan
192.168.2.45     0x1         0x2         70:03:9f:cf:0a:fe     *        br-lan
192.168.2.150    0x1         0x0         00:00:00:00:00:00     *        br-lan
192.168.2.54     0x1         0x2         50:02:91:d7:bb:a7     *        br-lan

 

Edited by bigbrother72
Link to comment
Share on other sites

Вы немного странно все делаете, вот объясните.

Почему вы именно хотите сбриджевать две сети на уровне L2, но адрес у Home у вас 192.168.7.1, а не из подсети 192.168.2.0, как на удаленном устройстве?

Пока не ответите себе на этот вопрос дальше продолжать бесполезно, поскольку я не вижу понимания того, что вы делаете. Так, по разрозненным постам команды вставляете в cli и все.

Посему потрудитесь начать хотя бы с написания пары абзацев о смысле этого мероприятия и о адресации на L2 и L3 в вашей сети.

Link to comment
Share on other sites

Делаю первый раз такую конфигурацию.Поэтому может что-то недопонимаю.

 

Адрес у Кинетика на HOME действительно 192.168.7.1 - какой-то же адрес должен быть изначально, что бы из внутренней сети на него попасть для конфигурации PPPoe итд?

А из подсети 192.168.2.0 у него адрес 192.168.2.150 выдается openvpn сервером и поднимается tap0 openvpn интерфейс

option 'server_bridge' '192.168.2.1 255.255.255.0 192.168.2.150 192.168.2.199' # this assumes the lan is 192.168.1.1/24 and will give out address in range 192.168.1.220-229

Если бы у каждого устройства в сети Кинетика был встроенный openvpn клиент, то каждому выдавался бы следующий адреса 192.168.2.151,192.168.2.152,192.168.2.153......

Но там обычные датчики и wifi выключатели на ESP8266. В них нет встроенного клиента openvpn. В сети openwrt (192.168.2.0) стоит сервер Homeassistant и нужно к нему привязать эти устройства которые в сети за Кинетиком.

Не придумал ничего другого, как на кинетике включить DHCP Relay, чтобы адреса выдавал сервер 192.168.2.1 адреса из свой подсети.

примерно так на картинке.

702947718_.png.20b44ecefc3c6981c1051a9e89b4aa36.png

Возможно надо делать вообще не так

 

Link to comment
Share on other sites

Сейчас на сервере openwrt  уже есть еще одно подключение по tun. с еще одной другой сетью. Там роутами все настроено.

Придется второе vpn подключение сделать так же - просто роутинг между сетями будет настраивать нужно. Хотелось, чтобы было как в одной сети bridge через tap .

Спасибо за ответы.

pptp/wireguard уже не лезет в прошивку openwrt - места не хватает в роутере.

 

теперь как то надо openvpn назад из бриджа вывести

т.е. в обратную действие произвести

interface Bridge0
include OpenVPN0
system configuration save
Edited by bigbrother72
Link to comment
Share on other sites

16 минут назад, bigbrother72 сказал:

 


interface Bridge0
include OpenVPN0
system configuration save

Вам не мешало бы немного проштудировать manual cli. Префикс no всё отменяет...

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...