Temat: Szczegółowa konfiguracja Wireguard

Jest jedna rzecz, którą chciałbym osiągnąć, a nie mogę skleić sensu z tego co czytam tu i tam. Wireguard mi działa od dawna niezawodnie. Klientów mam w zależności od potrzeba albo full tunel, albo tylko dostęp do zasobów sieci LAN, albo tylko do konkretnego IP w sieci LAN.
Tylko to są wszystko rzeczy osiągane z pozycji klienta, zmieniam "dozwolone adresy" i już. A jak to zrobić po stronie serwera, żeby przykładowo 199.168.99.3 (to adresacja wg) łączył tylko z 192.168.1.55. Jeden z klientów ma mieć dostęp tylko do jednego IP i już.  Szczerze to nawet nie wiem, jak zacząć.

2

Odp: Szczegółowa konfiguracja Wireguard

Wytnij na firewallu ruch z tego IP do innych hostów w tej podsieci?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Szczegółowa konfiguracja Wireguard

To chyba domyślnie jest wszystko do wszystkiego, wiec gdybym miał zmodyfikować stosownie firewall z twojego poradnika, to jak to przykładowo powinno wyglądać?

4

Odp: Szczegółowa konfiguracja Wireguard

Coś w rodzaju

config rule
    list src_ip '199.168.99.3'
    option dest '*'
    list dest_ip '!192.168.1.55'
    option target 'REJECT'

Odrzuci wszystko co nie jest do 192.168.1.55

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez Kebap 2023-04-20 11:17:26)

Odp: Szczegółowa konfiguracja Wireguard

Ja mam coś takiego

config rule
    option name 'wg2lanport'
    option family 'ipv4'
    option src 'wg'
    option dest 'lan'
    list dest_ip '123.123.123.123'
    option dest_port '12345'
    option target 'ACCEPT'
    list src_ip '11.11.11.11'

11.11.11.11 to ip urządzenia w sieci wireguard które ma pozwolenie się połączyć
123.123.123.123 ip i port 12345 (port nie jest obowiązkowy) to urządzenia w sieci lokalnej do którego można się połączyć

config rule
    option name 'wg2lan'
    option family 'ipv4'
    option src 'wg'
    option dest 'lan'
    option target 'ACCEPT'
    list src_ip '11.11.11.11'
    list proto 'all'

a tutaj dostęp tylko do całego lanu dla danego urządzenia

6

Odp: Szczegółowa konfiguracja Wireguard

Dziękuję, Panowie. Wasze porady zastosowałem i osiągnąłem zamierzony cel w wireguardzie, który mam na openwrt na AX3600. Działa to perfekcyjnie.

Dodatkowo mam jeszcze testowego wireguarda na raspberry i jako, ze to nie jest forum RPI, to próbowałem szukać podobnej porady odnośnie ichniego iptables i nic nie mogłem sklecić, a wczoraj wpadłem na pomysł zapytania ChataGPT 4 i jestem w absolutnym szoku, dostałem odpowiedź z wyjaśnieniami, z wytłumaczeniem, gotowymi rozwiązaniami i opisem praktycznym i teoretycznym.

7

Odp: Szczegółowa konfiguracja Wireguard

Nie ufaj zbytnio chatgpt. On kłamie i zmyśla w sprawach technicznych jak tyle może. Jeszcze się przejedziesz jeżeli bezgranicznie będziesz ufał w to co on wypisuje. Traktuj go jak wikipedię - ma wiedzę, ale to weryfikuj.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Szczegółowa konfiguracja Wireguard

Jak optymalnie przywrócić pełną konfigurację wireguarda, kiedy aktualizuję snapshota? Jest jakiś sprytny sposób?

9

Odp: Szczegółowa konfiguracja Wireguard

Konfiguracja wireguarda to tylko /etc/config/newtork i /etc/config/firewall, więc jeżeli zaktualizujesz z zachowaniem konfiguracji  to będziesz miał. Inna sprawa że nie zawsze możesz zachować konfigurację w zależności od tego co zmienili w snapshocie, ale to już musisz sam sprawdzać kiedy możesz a kiedy nie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Szczegółowa konfiguracja Wireguard

Mam w network - interfaces "install protocol extensions" przy interfejsie wg. Co powinienem doinstalować?

11

Odp: Szczegółowa konfiguracja Wireguard

luci-proto-wireguard

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12 (edytowany przez sebastan 2023-04-26 10:57:54)

Odp: Szczegółowa konfiguracja Wireguard

Na to wpadłem sam, ale wciąż jest install protocol extensions

PS Ruszyło po kolejnym restarcie, dzięki

13

Odp: Szczegółowa konfiguracja Wireguard

Wziąłem się znów za ustawienia firewalla, żeby w wireguardzie jeden klient miał dostęp tylko do jednego urządzenia w sieci lan i żeby NIE korzystał z netu przez tunel wireguarda. Chciałbym mieć to zabezpieczone od strony serwera, bo wiem, że mogę sobie część tych założeń osiągnąć w konfiguracji klienta zamieniając 0.0.0.0/0 na to, co chcę. Jednak zależy mi na tym, by to nie klient decydował.

Coś tam namieszałem w firewallu i mam teraz tak, że dostęp ma niestety też do 192.168.1.1, a tego nie chcę i nie chcę internetu przez tunel. Wydaje mi sie też, że kolejność "rule" ma znaczenie. Wireguard zainstalowany zgodnie z poradnikiem Cezarego.

config defaults
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option synflood_protect '1'
    option flow_offloading '1'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'
    
config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config rule
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '55055'
    option name 'wireguard'

config rule
        option name 'Allowed Connections'
    option src 'wg'
        option src_ip '10.9.0.2'
    option dest 'lan'
        option dest_ip '192.168.1.55'
    option target 'ACCEPT'
    
config rule
        option name 'Restricted Connections'
    option src 'wg'
        option src_ip '10.9.0.2'
    option dest 'lan'
    option target 'REJECT'

config zone
    option name 'wg'
    option input 'ACCEPT'
    option forward 'ACCEPT'
    option output 'ACCEPT'
    option masq '1'
    option network 'wg0'

config forwarding
    option src 'wg'
    option dest 'wan'

config forwarding
    option src 'wan'
    option dest 'wg'

config forwarding
    option src 'wg'
    option dest 'lan'

config forwarding
    option src 'lan'
    option dest 'wg'

14

Odp: Szczegółowa konfiguracja Wireguard

Jeżeli na kliencie zostawisz 0.0.0.0 to jego trasa domyślna dostaje przestawiona na tunel wireguard, więc jak mu obetniesz na serwerze dostęp to nie będzie miał internetu (w ogóle, nie że nie przez tunel). Tak że... zrób to na kliencie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Szczegółowa konfiguracja Wireguard

a w tym moim firewallu co jest do zmiany?

16

Odp: Szczegółowa konfiguracja Wireguard

Wywal forwarding wg<>lan, wywal regułę reject, zostaw tylko forwarding pomiędzy wg określonym adresem a lanem określonym adresem.

Ale zmień to na kliencie, bo będziesz miał problem z dnsami itd. Zaraz napiszesz że zrobiłeś tak ja napisałem i nie działa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: Szczegółowa konfiguracja Wireguard

Czy jeżeli wywalę regułę wg<>lan to pozbawiam innych klientów wg dostępu do lan? Na kliencie zmieniłem dozwolone adresy na 192.168.1.55/32 i to działa oczywiście.

Sugerujesz wywalić to?

config rule
        option name 'Restricted Connections'
    option src 'wg'
        option src_ip '10.9.0.2'
    option dest 'lan'
    option target 'REJECT'

config forwarding
    option src 'wg'
    option dest 'lan'

config forwarding
    option src 'lan'
    option dest 'wg'

18

Odp: Szczegółowa konfiguracja Wireguard

Jeżeli nie masz tych klientów za wiele to możesz dodać reguły dla każdego klienta.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: Szczegółowa konfiguracja Wireguard

To jeszcze jedno : mam w telefonie (Android) dodany DNS dns.adguard.com. Jest to dla mnie wystarczające ograniczenie reklam. No, ale wiadomo, że po włączeniu wireguarda, to na tym DNSie nie ma internetu, muszę zmienić na "automatyczne" Czy to jest do ogarnięcia jakoś?

20

Odp: Szczegółowa konfiguracja Wireguard

W konfiguracji wireguard na adroidzie możesz podać serwer dns...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Szczegółowa konfiguracja Wireguard

Tak w właśnie zrobiłem, wiadomo, ale zainspirowany Twoją odpowiedzią zajrzałem na stronę i znalazłem tam adres w innym formacie dns.adguard-dns.com. Wpisanie tego i w telefonie i w wireguardzie faktycznie załatwiło problem, tradycyjnie dziękuję.

22

Odp: Szczegółowa konfiguracja Wireguard

Podłącze się pod temat.Potrzebuję uruchomić Wireguard i żeby tylko jedno urządzenie szło przez tunel. Próbuję to sam ogarnąć ale coś mi nie pyka i tracę wszędzie net. Jakby ktoś mi to rozpisał pod konsolę to będę wdzięczny.
Dane od dostawcy:

[Interface]
PrivateKey = AM8bt**************************
Address = 12.32.121.165
DNS = 8.8.8.8

[Peer]
PublicKey = D9my**********************
AllowedIps = 0.0.0.0/0
Endpoint = be.wg.vpn.org:993
PersistentKeepalive = 21

Ip urządzenia które ma iść w tunelu:
192.168.1.101

23

Odp: Szczegółowa konfiguracja Wireguard

Zainstaluj pbr i sobie wyklikaj co ma iść przez wg a co przez wan.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: Szczegółowa konfiguracja Wireguard

Dodam że to  OpenWrt 21.02

25

Odp: Szczegółowa konfiguracja Wireguard

Czas najwyższy zaktualizować soft, prawda?  pbr nie było w 21.xx, więc robisz to ręcznie: https://eko.one.pl/?p=openwrt-routing

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.