Temat: wireguard vpn łączy tylko z routerem openwrt

Witam, chciałem zestawić połączenie z siecią domową przez vpn, konfigurację przeprowadziłem wg tego opisu :
wireguard na openwrt

efekt jest taki że łącze się z telefonu przez vpn ale tylko z routerem na którym jest wireguard, pozostałych urządzę w sieci w ogóle nie widzę, ani reszty świata też nie,  internet w sieci domowej mam przez modem funbox od orange do niego podłączony jest router tplink na którym stoi openwrt i wireguard.

network config:

config interface 'loopback'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'
        option device 'lo'

config globals 'globals'
        option ula_prefix 'fd55:674a:17b3::/48'

config interface 'lan'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '192.168.1.1'
        option ipaddr '192.168.1.254'
        option device 'br-lan'
        list dns '192.168.1.1'

config device 'lan_dev'
        option name 'eth0.1'
        option macaddr 'd4:6e:0e:b3:51:74'

config device 'wan_dev'
        option name 'eth0.2'
        option macaddr 'd4:6e:0e:b3:51:75'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option vid '1'
        option ports '0t 4 3 2 1 5'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0.1'
        list ports 'eth0.2'

config interface 'wg0'
        option proto 'wireguard'
        option private_key 'xxx'
        option listen_port '51820'
        list addresses '11.0.0.1/24'

config wireguard_wg0
        option description 'client1-android'
        option public_key 'xxx'
        option private_key 'xxx'
        option route_allowed_ips '1'
        option persistent_keepalive '25'
        list allowed_ips '11.0.0.2/32'

config route
        option interface 'wg0'
        option target '192.168.1.254/24'

firewall config:

config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone 'lan'
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'lan'
        list network 'wg0'

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

config forwarding 'lan_wan'
        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 src_ip 'fc00::/6'
        option dest_ip 'fc00::/6'
        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 include
        option path '/etc/firewall.user'

config rule 'wg'
        option name 'Allow-WireGuard'
        option dest_port '51820'
        option proto 'udp'
        option target 'ACCEPT'
        option src '*'
        option dest 'lan'

Proszę o pomoc jak to poprawnie skonfigurować.

2

Odp: wireguard vpn łączy tylko z routerem openwrt

https://eko.one.pl/?p=openwrt-wireguard#firewall

Zrobiłeś tylko otworzenie portu dla serwera, nie zrobiłeś strefy i zezwolenia na forwarding. Zakładam że  kliencie zrobiłeś 0.0.0.0 jako allowed_ips

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

3

Odp: wireguard vpn łączy tylko z routerem openwrt

Cezary,
wydaje się że wg0 wrzucił do strefy "lan" firewalla a tam ma oba networki czyli 'lan' i 'wg0' czyli forward będzie mu działał.
On nie ma portu WAN bo w konfigu switcha wrzucił go do vlan1 czyli eth0.1
ten router bez WANu jest tylko zwykłym hostem w sieci Funboxa.
Nie ma maskarady w 'lan' i jak pakiety wyjdą z jakimś adresem to każdy host w tej sieci będzie słał odpowiedzi do swojej bramy domyślnej czyli do ....Funboxa. A tamten pewnie nie wie o trasach przez jednego ze swoich klientów.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

4

Odp: wireguard vpn łączy tylko z routerem openwrt

Fakt, nie zobaczyłem tego.

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

5

Odp: wireguard vpn łączy tylko z routerem openwrt

1. czyli musiałby wychodzić z tunelu adresem z sieci Lan Funboxa (czyli lanowym) żeby hosty odsyłały odpowiedzi na ten adres
lub
2. może wychodzić z tunelu dowolnymi adresami ale w Funboxie należy wpisać trasy statyczne do sieci wg0 i innych sieci za innymi klientami WG przez hosta z Openwrt

PS.  I w sumie niepotrzebnie otwierał port bo strefa "lan" w której jest wg0 domyślnie jest otwarta jak stodoła podczas żniw smile
PS2 Kiedyś był omawiany taki konfig "serwer na kliencie lanowym".

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

6

Odp: wireguard vpn łączy tylko z routerem openwrt

Ten rotuer służy głównie jako punkt dostępowy wifi i jest połączony jeszcze poprzez switch do funbox 2.0

mar_w napisał/a:

1. czyli musiałby wychodzić z tunelu adresem z sieci Lan Funboxa (czyli lanowym) żeby hosty odsyłały odpowiedzi na ten adres

ustawiałem także adres ip interfejsu wg0 i klientów z tej samej puli co sieć (192.168.1.x) ale też tak nie działa, nawet jak podłącze jakiś pc do portów lan rotuera nie da się wysłać do niego ping z klienta vpn

mar_w napisał/a:

2. może wychodzić z tunelu dowolnymi adresami ale w Funboxie należy wpisać trasy statyczne do sieci wg0 i innych sieci za innymi klientami WG przez hosta z Openwrt

w ustawieniach funboxa 2.0 nie widzę niestety żadnych opcji związanych z routingiem, czy to oznacza że w takiej konfiguracji nie będzie  możliwości korzystania z vpn?

7 (edytowany przez mar_w 2023-02-23 23:28:00)

Odp: wireguard vpn łączy tylko z routerem openwrt

lukastob napisał/a:

Ten rotuer służy głównie jako punkt dostępowy wifi i jest połączony jeszcze poprzez switch do funbox 2.0

mar_w napisał/a:

1. czyli musiałby wychodzić z tunelu adresem z sieci Lan Funboxa (czyli lanowym) żeby hosty odsyłały odpowiedzi na ten adres

ustawiałem także adres ip interfejsu wg0 i klientów z tej samej puli co sieć (192.168.1.x) ale też tak nie działa, nawet jak podłącze jakiś pc do portów lan rotuera nie da się wysłać do niego ping z klienta vpn

Źle! Nie możesz mieć adresów z tej samej puli na interfejsie LAN i WG0. Wychodzić adresem z sieci LAN tzn że musisz dać maskaradę w strefie 'lan'
i taj jak pisał Cezary rozdzielić w firewallu strefy 'wg0' i 'lan' oraz zrobić forward z 'wg0' do 'lan'.
W tradycyjnym routerze  do obcej sieci nie wychodzisz adresem LAN tylko WAN bo on robi maskaradę, a u Ciebie - porównując do tradycyjnego routera - adres tunelu to taki niby-lan z jego punktu widzenia, natomiast adres lanowy to taki niby-wan yikes. Brzmi dziwnie ale to jest takie odwrócenie kierunków przepływu pakietów. Ty chcesz wyjść z jednej sieci WG do drugiej sieci Lan.

lukastob napisał/a:
mar_w napisał/a:

2. może wychodzić z tunelu dowolnymi adresami ale w Funboxie należy wpisać trasy statyczne do sieci wg0 i innych sieci za innymi klientami WG przez hosta z Openwrt

w ustawieniach funboxa 2.0 nie widzę niestety żadnych opcji związanych z routingiem, czy to oznacza że w takiej konfiguracji nie będzie  możliwości korzystania z vpn?

Skoro nie masz możliwości wpisać statycznych tras to trudno. Lepiej jakby była taka możliwość bo to daje większy wachlarz możliwości o których nawet nie śniłeś wink

Jak uda się skonfigurować tunel z WG do LAN, to uprzedzając pytania w stylu "Z klienta WG mogę pingować hosty w LAN, a dlaczego z klienta LAN nie mogę pingować tunelu?"
Ano dlatego że hosty w LAN mają bramę na Funboxa i do niego ślą np. pingi na adres spoza sieci LAN, a on nie wie, że tunel jest za specyficznym hostem, bo nie możesz na Funboxie wpisać trasy statycznej jak tu deklarujesz.
Aby to działało w drugą stronę, to musisz na kliencie w LAN wpisać sobie trasę statyczną do sieci WG przez hosta z Openwrt. A to już możesz zrobić, bo jak myślę, masz pełne uprawnienia we własnym Windowsie.
Słabość tego rozwiązania polega na tym, że jak chcesz z 20 klientów LAN wychodzić do tunelu WG  to musisz wpisać trasę na wszystkich po kolei (20 razy) sad
no i jeszcze trzeba dodać forward z "lan" do "wg0" jeżeli będziesz chciał tą dodatkową opcję powyżej.

PS. i jak widzisz poradnik zacytowany w Twoim poście #1 odnosi się do konfiguracji gdzie router Openwrt ma normalny WAN podłączony do Internetu i jednocześnie jest główną bramą dla całej swojej sieci, i w porównaniu do Twojego konfigu, to taka subtelna różnica smile

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

8

Odp: wireguard vpn łączy tylko z routerem openwrt

Wielkie dzięki, teraz działa wyśmienicie smile Szacun za wiedzę i umiejętność podania jej z dozą humoru wink