Jump to content

L2 ethernet over Wireguard


kokaracha

Recommended Posts

  • Администратор

Наложи ми се да  достъпвам отдалечено видеонаблюдението във един обект.На отдалечената локация се ползва PPPoE,като на клиента се раздават динамични частни адреси ( има опция за статичен публичен адрес като се доплащало такса 6лв./м.). DDNS не работи коректно, репортва си частния адрес на WAN порта, клиентския рутер  се маскира от доставчика и отвън няма достъп, изобщо красота :)

Флашнах едно старо D-link рутерче със OpenWRT, понеже имат много добра софтуерна поддръжка на протоколи и прложения и реших да ползвам Wireguard ( за пръв път) клиент на отдалечената локация. Инсталират се kmod-wireguard,wireguard-tools, и luci-proto-wireguard, за управление през уеб интерфейс. Ключовете се генерират и вземат от сървъра,въвеждат се  в съотетените им полета,указва се Endpoint  адреса на пиъра и порта за връзката  ( Persistent Keep Alive = 25  за връзка през НАТ).

Така изглежда конфиг файла на WRT клиента:

config interface 'wg'
	option proto 'wireguard'
	option private_key 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
	list addresses '10.10.0.3/24' #адреса на WG клиента

config wireguard_wg
	option endpoint_host 'IP адреса сървъра'
	option endpoint_port '51820'
	option persistent_keepalive '25'
	option public_key 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
	list allowed_ips '0.0.0.0/0'

 

От моята страна за връзка стой един Дебиан на който инсталирах Wireguard сървъра. Там се създават/описват  и ключовете за клиентите. Така  изглежда конфига  на WG интерфейса.

root@pve:/etc/wireguard# cat wg0.conf
[Interface]
Address = 10.10.0.1/24                  # адреса на WG сървъра
SaveConfig = true
ListenPort = 51820                      # port за връзка
PrivateKey = XXXXXXXXXXXXXXXXXXXXXXXX   #  Server private key

[Peer]
PublicKey = YYYYYYYYYYYYYYYYYYYYYYYY    # Wireguard client public key
AllowedIPs = 10.10.0.3/24               # адреса на WG клиента

 

Със комадата wg show се вижда статуса на тунела :

root@pve:/etc/wireguard# wg show
interface: wg0
  public key: ААААААААААААААААААААААААА
  private key: (hidden)
  listening port: 51820

peer: BBBBBBBBBBBBBBBBBBBBBBBBBBB
  endpoint: 78.108.245.138:41771
  allowed ips: 10.10.0.0/24
  latest handshake: 1 minute, 35 seconds ago
  transfer: 411.18 MiB received, 16.92 MiB sent


root@OpenWrt:/etc/config# wg show
interface: wg
  public key: CCCCCCCCCCCCCCCCCCCCCCCCCCC
  private key: (hidden)
  listening port: 41771

peer: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
  endpoint: 151.237.71.222:51820
  allowed ips: 0.0.0.0/0
  latest handshake: 33 seconds ago
  transfer: 16.94 MiB received, 412.09 MiB sent
  persistent keepalive: every 25 seconds

До тук добре,вече има изграден тунел и видимост.

root@pve:/etc/wireguard# ping 10.10.0.3
PING 10.10.0.3 (10.10.0.3) 56(84) bytes of data.
64 bytes from 10.10.0.3: icmp_seq=1 ttl=64 time=21.7 ms
64 bytes from 10.10.0.3: icmp_seq=2 ttl=64 time=19.5 ms
64 bytes from 10.10.0.3: icmp_seq=3 ttl=64 time=19.9 ms



root@OpenWrt:/etc/config# ping 10.10.0.1
PING 10.10.0.1 (10.10.0.1): 56 data bytes
64 bytes from 10.10.0.1: seq=0 ttl=64 time=19.331 ms
64 bytes from 10.10.0.1: seq=1 ttl=64 time=17.144 ms
64 bytes from 10.10.0.1: seq=2 ttl=64 time=20.880 ms

 

Не ми се занимаваше да добавям мрежи, рутирам и т.н реших да си пусна L2 етернет през WG тунела за да достъпвам устройствата локално когатo ми се наложи.  В случая ползвах gretap, има си го в  линукс ядрата както и пакети за WRT .

Настройките от страна на WRT  могат да се сетват и през панела ( след инсталациа на luci-proto-gre).

config interface 'eogre'
	option proto 'gretap'
	option peeraddr '10.10.0.1'
	option ipaddr '10.10.0.3'
	option network 'lan'

 

От страната на дебиана си ги вдигнах на ръка без да ги добавям засега в конфизите и си добавих интертфейса във локания бридж.

ip link add grelan type gretap  local 10.10.0.1 remote 10.10.0.3
ip link set grelan up
ip link set grelan mtu 1500

brctl addif vmbr0 grelan

Понеже в отдалечената локация всичко в локалната мрежа е настроено на  DHCP ,се наложи да спра  DHCP сървъра на OpenWRT рутерчето и за момента всичко там си взема адреси от  Дебиана  и излиза през моята мрежа, докато си свърша задачките там.

Пуснах няколко теста за скорост,няма лаг или особен товар ,но не мога да преценя колко реално товари тунела ,устройствата са слаби за някакви по сериозни трафици.

 

 

Use since

OpenBSD 3.x

FreeBSD 4.x

Centos 5.x Debian 3.x Ubuntu 7.x

Аз съм фен на OpenWRT.

 

Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена.

_____________________________

___|____|____|____|____|____|__

_|____|____|____|____|____|____

___|____|_ Удряй _|____|____|__

_|____|___ главата ___|____|____

___|____|_ си тук!! |____|____|__

_|____|____|____|____|____|____

___|____|____|____|____|____|__

Адрес на коментара
Сподели в други сайтове

  • Администратор

Защо не си пусна ZeroTier там натове, публични/частни и такива не ти влияят.

Харесай поста ^^^
acer.gif htc.gifsigpic4024_2.gif

Форумът е за взаимопомощ а не за свършване на чужда работа


ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

Адрес на коментара
Сподели в други сайтове

  • Администратор
Преди 11 часа, 111111 написа:

Защо не си пусна ZeroTier там натове, публични/частни и такива не ти влияят.

Избягвам да ползвам продукт/технология с който влизам в зависимости и някакви ограничения. Няма стандартизиран протокол за връзка,конторла на мрежата , както и сигурността не са под собствен контрол ... 

 

Use since

OpenBSD 3.x

FreeBSD 4.x

Centos 5.x Debian 3.x Ubuntu 7.x

Аз съм фен на OpenWRT.

 

Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена.

_____________________________

___|____|____|____|____|____|__

_|____|____|____|____|____|____

___|____|_ Удряй _|____|____|__

_|____|___ главата ___|____|____

___|____|_ си тук!! |____|____|__

_|____|____|____|____|____|____

___|____|____|____|____|____|__

Адрес на коментара
Сподели в други сайтове

Създайте нов акаунт или се впишете, за да коментирате

За да коментирате, трябва да имате регистрация

Създайте акаунт

Присъединете се към нашата общност. Регистрацията става бързо!

Регистрация на нов акаунт

Вход

Имате акаунт? Впишете се оттук.

Вписване
  • Потребители разглеждащи страницата   0 потребители

    • No registered users viewing this page.
×
×
  • Създай нов...

Important Information

By using this site, you agree to our Terms of Use.