26

(17 odpowiedzi, napisanych Oprogramowanie / Software)

Sklep Play w ogóle ma problemy (podobno celowe) z obsługą VPN. To nie tyle kwestia Wg. U mnie aktywny jakikolwiek VPN blokuje pobieranie czegokolwiek ze sklepu.

27

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Na wydajność wpłw ma MTU pobaw się tym może? A za tym rozmiary pakietów i ich ilość, rodzaj transmisji. Jak to testujesz? iperf? tcp/udp wewnątrz tunelu?

Sprzęt na jakiej to działa ma kolosalne znaczenie. Czasami OpenVPN może działać lepiej bo np. masz sprzętowe wsparcie instrukcji AES i szyfrowanie nie stanowi problemu. A crypto wireguarda nie jest zazwyczaj przyspieszane ale w działaniu czysto softwareowym jest dużo szybsze niż takie AES256 - czyt. tak malina może nie unieść tego.

Ja na swoim QCA IPQ8064 na openwrt osiągałem na OpenVPN 130-170Mb/s dla AES256 przy dobrym tuningu (to jest bez wsparcia NSS core do sprzętowego offloadingu).

28

(16 odpowiedzi, napisanych Oprogramowanie / Software)

Co to jest sieć IoT ? Strefa FW ?
Dostęp obukierunkowy? Skąd, dokąd? Przez jakie interfejsy?
Opisz Use Case.

29

(120 odpowiedzi, napisanych Oprogramowanie / Software)

1. Czysty wireguard odpada nawet z DHCP Relay, ponieważ DHCP wymaga Multicast a WG jako protokół L3 nie ma takiej obsługi.
2. Analizowałem ponadto użycie IPIP ale z racji, że też działa na L3 odpadł.
3. Postawiłem tunel GRE w dedykowanym tunelu WG ale nie ma problemu aby poszło po już istniejącym. Nie testowałęm jeszcze jednak szczegółowo reguł firewalla w tym zakresie - tj. wszystko wrzuciłem w jedną strefę.
4. WG + GRE(TAP) adresuje mój case. Instrukcja i założenia.

Chcemy spiąć w jedną sieć na poziomie Ethernetu (L2) kilka odległych miejsc. Ma być komunikacja szyfrowana.
To można zrealizować z wykorzystaniem różnych rozwiązań m.in. IPSEC, OpenVPN (TUN/TAP) ale ja chciałem coś lekkiego bo maszyny na końcówkach nie są mocne. Wybór pada na Wireguarda, dodatkowo dlatego, że ma model point-multipoint - czyli spinamy na jednej konfiguracji wg kilka zdalnych lokalizacji.

Potrzebujemy jednak wewnątrz naszego VPN (wireguard) jakiegoś protokołu enkapsulacji dla warstwty 2 OSI. I tutaj przychodzi nam GRE. Nie ma niestety konfiga w LuCI ale konfig jest banalny.
Mamy 4 opcje protokołu (co wpływa na wydajność [narzut]) - gre, grev6, gretap, gretapv6 - https://openwrt.org/docs/guide-user/net … _protocols

/////// R1 ////////

config interface 'wg1'
        option proto 'wireguard'
        option private_key 'abcdef'
        option listen_port '51820'
        list addresses '192.168.50.1' // adres IP sieci wireguard R1

config wireguard_wg1
        option description 'peer-r2'
        option public_key 'xxxx'
        list allowed_ips '192.168.50.2/32' // zezwól na ruch z peera
        option route_allowed_ips '1'
        option endpoint_host 'r2.acme.com'
        option endpoint_port '51820'
        option persistent_keepalive '25'

config interface 'tun10'
        option proto 'gretap' // ja chce IPv4 na poziomie L2
        option peeraddr '192.168.50.2' // wykorzystujemy adres wireguard peera jako bramę do zdalnejkońcówki tunelu GRE
        option ipaddr '192.168.50.1' // wykorzystujemy adres lokalnego interfejscu wireguard do lokalnej końcówki tunelu GRE

config interface 'guest' // definicja dowolnego interfejsu
        option proto 'static' // statyczny (bo serwer)
        option type 'bridge' // u mnie jest akurat most dla WiFi
        option ifname '@tun10' //tutaj najwazniejsze - alias do końcowki tunelu GRE (nazwa interfejsu GRE)
        list ipaddr '192.168.5.1/24' // u mnie adresacja serwera DHCP na R1

/////// R2 ////////

config interface 'wg1'
        option proto 'wireguard'
        option private_key 'abcdef'
        option listen_port '51820'
        list addresses '192.168.50.2' // adres IP sieci wireguard R2

config wireguard_wg1
        option description 'peer-r1'
        option public_key 'xxxx'
        list allowed_ips '192.168.50.1/32' // zezwól na ruch z peera
        option route_allowed_ips '1'
        option endpoint_host 'r1.acme.com'
        option endpoint_port '51820'
        option persistent_keepalive '25'

config interface 'tun10'
        option proto 'gretap' // ja chce IPv4 na poziomie L2
        option peeraddr '192.168.50.1' // wykorzystujemy adres wireguard peera jako bramę do zdalnej końcówki tunelu GRE
        option ipaddr '192.168.50.2' // wykorzystujemy adres lokalnego interfejscu wireguard do lokalnej końcówki tunelu GRE

config interface 'guest' // definicja dowolnego interfejsu
        option proto 'dhcp' // pobieramy adresacje z serwera R1
        option type 'bridge' // u mnie jest akurat most dla WiFi
        option ifname '@tun10' //tutaj najwazniejsze - alias do końcowki tunelu GRE (nazwa interfejsu GRE)

Architektura sieci

192.168.5.0/24 - [ethX] - 192.168.5.1/32 - [wg1] - 192.168.50.1/32 - [tun10][gretap]  =====  [gretap][tun10] - 192.168.50.2/32 - [wg1] - 192.168.5.x/32 - [ethX] - 192.168.5.0/24

Taka konfiguracja pozwala na multicast, unicast itp. W zasadzie mamy sieć ethernet (nawet można VLAN-y upakować) rozpiętą na dwie lub więcej zdalnych lokalizacji. Wszystko zapakowane w tunel wireguarda.

Plusy :
- natywne protokoły, obsługa obecnie praktyczine każdego OS
- lekki, szybki ale solidny tunel VPN
- mozna w tym modelu uruchomić jakieś cieżkie usługi, które inaczej by nie poszły na słabym sprzęcie (poprzez nasze proxy [R1])

Minusy:
- wymaga pełnej konfiguracji na peerach
- narzut protokołu / mniejsza przepustowość (MTU)

30

(120 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

A teraz zgadnij od czego zależy kmod-gre6? od kmod-iptunnel, kmod-ip6-tunnel. I je też masz zaistalować ręcznie.  Jak ci wyskoczy błąd to instaluj zależności a nie lecisz dalej.

Już sprawdziłem... i zainstalowałem. Dzięki, weź z tego zrób jakiś przykład dot. zależności modułów i opkg/ipk.
A ja tutaj jutro opiszę co mi wyszło z tym GRE i zestawieniem mostu.

31

(120 odpowiedzi, napisanych Oprogramowanie / Software)

DEL smile

32

(120 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Źle piszesz. Po prostu masz zainstalować moduły od siebie skoro sam kompilowałeś a nie z repo openwrt.

Ale ja to zrobiłem...

root@openwrt:~# opkg install /tmp/gre_1-12_all.ipk 
Installing gre (1-12) to root...
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for gre:
 *      kernel (= 4.14.172-1-0894164cab0effc42201a29fec8ce33f)
 * opkg_install_cmd: Cannot install package gre.
root@openwrt:~# uname -a
Linux kokos 4.19.108 #0 SMP Tue Mar 24 14:42:52 2020 armv7l GNU/Linux

33

(120 odpowiedzi, napisanych Oprogramowanie / Software)

No na razie tylko na to wpadłem. Może ktoś ma lepsze pomysły? Ale tak jak napisałem - najnowsze buildy są a 4.19 a ten Gre pakiet ma zależności na 4.14 i nie sposób go użyć sad

34

(120 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Gubię się powoli. Skoro robiłeś tunel nie nie rób połączenia/forwardingu pomiędzy tunelem a lane bo piszesz że ci się ruch miesza. Więc po co robisz ten ruch?

Tamten istniejacy tunel wireguard ma zostac jak jest bo on mi zapewnia łączność pomiędzy LAN i jest spoko.
Mogę zrobić oddzielny tunel wireguarda dedykowany guestom tylko, że widzę problem z ustawieniem routingu

Chociaż teraz się zastanawiam czy nowa instancja wgX z mostem na guest Wifi dla tych urządzeń  adresacja i DHCP Forwardem by możę nie zadziałała?

Tylko jak ma wygladac config dla wg? poniżej przykład... powinienem do sekcji allow dodac jeszcze sieć 172.16.0.0/24 dla kazdego urządzenia - tylko to implikuje błędny routing, bo jak to ma byc adresacja 172.16.0.0/24 na urządzeniu R1 ma isć przez tunel, a po driej stronie tunelu to samo tylko odwrotnie.

R1
guest0 172.16.0.1 (dhcp server)
- client 172.16.0.4
- client 172.16.0.7
wg0 192.110.12.1
- allow 192.110.12.2/32, 192.110.12.3/32

R2
guest0 172.16.0.2 (dhcp forward)
- client 172.16.0.5
- client 172.16.0.7
wg0 192.110.12.2
- allow 192.110.12.1/32

R3
guest0 172.16.0.3 (dhcp forward)
- client 172.16.0.8
- client 172.16.0.6
wg0 192.110.12.3
- allow 192.110.12.1/32


Więc... pomyslalem, ze mozna albo uzyc istniejacego wg0 albo utworzyc nowy wg1 ale i tak w nim trzeba by puscic enkapsulowany ruch łączący inne interfejsy np. br10 dla kazdego z urządzeń (a te br10 zmostowane by zostąły do WiFi).

Pytanie jaki protokół/interfejs użyć do zmostowania tego tunelu (ale wg ma byc tylko nośnikiem - jakbys sesje SSH puszczał po OpenVPN).

Chyba, że można prosciej i za bardzo kombijuje?

35

(120 odpowiedzi, napisanych Oprogramowanie / Software)

1) Wireguard zapewnia łączność pomiędzy LAN R2  (192.168.3.x) - LAN R1  (192.168.2.x) - LAN3  (192.168.4.x) czyt. L3
2) Ja potrzebuję aby ruch z LAN się nie mieszał z tym GUESTowym coś w stylu innego VLAN ale nie musi być. Ważne aby z mostować interfejscy guest0 miedzy urządzeniami, tak aby ta siec guestowa była podawana z R1, do R2 i R3 (i miała inną niezależną adresację) czyt L2/L3 ?
3) wireguard obsługuje tylko ruch L3 z nazwanymi trasami

Mi to implikuje, że nie mogę wybrać po prostu mostu na wg0 bo (a) miesza mi ruch (b) i tak nie przejdzie mi DHCP (chyba, że jakimś prekaźnikiem)

Może się mylę? Teraz dogrzebałem się do GRE, ktoś coś próbował? Cholerstwo jednak jest dla kernela 4.14, a nie ma nowszych sourców (zbudowałem przed chchwila nowy obraz)

36

(120 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

A tak po prostu bridge wifi z tun0 ci nie działa?

Ale ja chce niejako zenkapsulować w istniejącym tunelu wireguard most między urządzeniami a nie w ramach urządzenia. mosty w ramach urządzenia mam i działają. Tylko pytanie czym spiąć R1 z R2 i R3 tak aby na sieci guestowej było niejako to samo (czyli VPN z R1). Przy czym OpenVPN na TAP odpada - od razu mówię - za ciężki i mam już przecież most wgX.

37

(120 odpowiedzi, napisanych Oprogramowanie / Software)

Mam 3 routery w różnych lokalizacjach R1, R2, R3. Każdy z nich ma własny LAN o niezależnej adresacji. Są spięte via wireguard poprzez główny R1. Na R1 z racji najlepszego łącza + wydajności sprzętu stoją dodatkowe VPNy i inne usługi.
W każdej z lokalizacji ma być udostępniona dodatkowa sieć guest, dla zewnętrznych użytkowników, i jej cały ruch musi iść przez VPN. Ten VPN jest na R1, na innych nie ma pamięci i mocy. Chodzi o to, aby utworzyć niejako most, który przepycha po prostu z interfejsu WiFi podpiętego do guesta przez tunel wireguarda to interfejsu guesta r1, który ma już odpowiednio zrobione routingi itp.

Podobny case, mam na NAS, który jest w LAN i ma swoje wirtualne interfejsy ale chcę aby ruch specyficznych usług szedł transparentnie do VPN na R1 (niejako offloading + szyfrowanie).

Myślałem o 'relay' interfejsie ale to chyba działa tylko lokalnie na WiFi? To musi być proste ale się trochę zakopałem.

Architektura sieci https://ibb.co/WxSpRc5

Jakieś propozycje?

Dzięki! Naprawdę dobry pomysł smile

39

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Wracając do rozwiązania. Musiałem zrobić hard restart. Następnie wgrałem nowy firmware.

40

(1 odpowiedzi, napisanych Oprogramowanie / Software)

Hej.
Mam Archer C2600. Jest centralnym serwerem DHCP wraz z kilkoma VLAN-ami.
Założenie jest takie m.in., że mam

  • VLAN1 dla LAN,

  • VLAN2 dla wirtualek/kontenerów na różnych maszynach,

  • VLAN3 dla pseudo SAN. Via SAN wystawione są iSCSI LUN blokowe.

każde ze swoją adresacją, zarządzaną przez dnsmasq (btw. swoją drogą mam 1core cpu zużycy na jego działanie, o co tu może chodzić?)

No więc postanowiłem wykorzystać opcję, że mój storage ma LAG/LACP i 2Gb link. Chciałem zoptymalizować przepływność w zakresie SAN i właczyć JumboFrame tj. MTU na 9000.

Tylko mam problem z routerem. Może nie jest to krytyczyne ale poleca sie MTU dla całego VLAN takie samo. Reszta VLAN leci na 1500.

W konfigu jest opcja MTU 9000 dla VLAN2. Natomiast podgląd via ip/ifconfig wskazuje na 1500. Ręczna zmiana daje

SIOCSIFMTU: Result not representable

TO hardware nie umie w MTU czy OpenWRT ma jakieś ograniczenia na VLAN-ach?

41

(5 odpowiedzi, napisanych Oprogramowanie / Software)

A coś w stylu podmontowanie USB i przekierowanie polecenia sysupgrade na podmontowany zasób ?

42

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Cześć,
nie znalazłem nic podobnego tutaj... a mam następującą sytuację.
Mam TP Link Archer 2600 z OpenWrt w wersji OpenWrt 19.07-SNAPSHOT r10324-8bf8de95a2
Chciałem dokonać update do najnowszego builda tj.  r10532-cf3b50377e. Próbowałem tego dokonać wia LuCI oraz w terminalu.
Generalnie wszsytko idzie. Router zrywa sesje SSH i się restartuje. Natomiast wstaje bez zmian tj. w wersji r10324-8bf8de95a2.
Co się dzieje? jak to zdebugować? Nie mogę znaleźć logów.

Cezary napisał/a:

A czasami nie dlatego że używasz domyślnych tras narzuconych przez nordvpn?

Ale to nie jest tak, że jak inicjuje połączenie z zewnątrz to połączenie jest zwrotnie tą samą trasą? To pakiedy wchodzą przez WAN a wychodzą zawsze po VPN ?

Słuchajcie już wszystko co mi przyszło do głowy chyba spróbowałem. Mam problem z dostaniem się do mojego routera (urządzenie 1) z zewnątrz po uruchomieniu NordVPN. Genealnie chodzi o to, że z sieci domowej ruch inicjowany do Internetu ma być via VPN. Ale chcę mieć możliwość dostępu do routera via publiczne znane WAN IP. Moje zdalne routery nawiązują połączenie site-to-site via WAN IP gdzie serwer VPN jest na urządzeniu 1 i jest sesja VPN pomiędzy nimi. Mogę ze zdalnej sieci dostać sie do zasobów sieci wewnętrznej - czyli site-to-site VPN działa. Ale nie idzie połączyć się z po SSH i Luci/SSL. Jak wyłączę sesję NordNVPN - magicznie wszystko działa. Nie mam żadnej niestardowej konfiguracji (w zasadzie to co jest opisane w tym poradniku). Co mogłem zriobić żle?

Generalnie po WAN jest otwarty port z zakresu 8000 ale mam regułę przekierowującą na 443 wewnętrznie do routera z każdego IP. I to zawsze działało. Tak samo dla SSH.

piotrekcrash napisał/a:

@Cezary a jest możliwość jednoczesnego używania OpenVPN jako:
- server na (tun0)
- client na (tun1)

?

Ja mam 1 server dla dostępów ad-hoc (na dwie konfiguracje TCP i UDP - czyli dwie konfiguracje), 2 server point-to-point, oraz 1 client NordVPN. Razem 5 urządzeń tun. Najważniejsze - każdy serwis ma swój interfejs tun i inne porty.

Jako, że też ostatnio wałkuję temat to dodam pewne porady.

Jeżeli się da to metodą prób i błędów można nadpisywać konfigurację przekazaną przez dostawcę VPN. A dlaczego warto i potrzeba?  Wydajność!. Nasze maszyny mają jednak często znacznie ograniczoną wydajność jeżeli chodzi o szyfrowanie. Nie każde urządzenie ma działającą obsługę AES-NI albo inne crypto-engine.

Polecam eksperymentować z parametrami konfiguracji OpenVPN:

compress lz4 #mniejsze zużycie procesora
crypto AES-256-GCM # ewentualnie 128 - również ze względu na użycie procesora względem CBC 

Ewentualnie konfiguracja z użyciem kryptografii krzywych eliptycznych. Podobno ARM-y radzą sobie znacznie lepiej w przypadku gdy nie ma wsparcia sprzętowego crypto-engine.

ecdh-curve secp384r1
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384

Mi udało się dzięki takiemu tuningowi zwiększyć przepustowość względem domyślnych parametrów o 10-30%