Jump to content

Recommended Posts

Posted

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

 

Надо связать две сети с помошью 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

 

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

 

 

 

 

Posted

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

 

Posted (edited)

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

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

В логах сервера 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
Posted

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

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

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

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

Posted

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

 

Адрес у Кинетика на 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

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

 

Posted

Почему бы просто не связать сети друг с другом через wireguard или pptp? На esp-датчиках прописан default route? Тогда проблем быть не должно.

Posted (edited)

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

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

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

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

 

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

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

interface Bridge0
include OpenVPN0
system configuration save
Edited by bigbrother72
Posted
16 минут назад, bigbrother72 сказал:

 


interface Bridge0
include OpenVPN0
system configuration save

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

  • Thanks 1

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.

  • Recently Browsing   0 members

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

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.