Zdravím,
pokouším se rozchodit Wireguard server na TOS/OpenWRT s veřejnou IP,
ke kterému by se připojovalo vícero klientů z internetu,
tak aby veškerý sǐťový provoz klientů byl směřován přes daný Wireguard server.
Nikdy jsem nebyl schopen zprovoznit tento server
bez samostatné firewall zóny pro Wireguard interface
(provozuji celkem 4 takové servery a ten největší pro 260 klientů…).
Ale jsem jen hloupý systémový admin a nerozumím všemu.
Jaký problém je v tom že se mi nedaří 1:1 zkopírovat návody z:
https://openwrt.org/docs/guide-user/network/tunneling_interface_protocols#protocol_wireguard_wireguard_vpn
nebo
https://www.reddit.com/r/openwrt/comments/bahhua/openwrt_wireguard_vpn_server_tutorial
nastavení serveru:
/etc/config/network
config interface 'wg0'
option proto 'wireguard'
option private_key 'Uxxx='
option listen_port '51820'
list addresses '192.168.2.1/24'
config wireguard_wg0
option public_key 'zxxx='
option preshared_key 'Hxxx='
list allowed_ips '192.168.2.2/32'
option route_allowed_ips '1'
option persistent_keepalive '25'
/etc/config/firewall
config zone 'lan'
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
list network 'wg0'
config rule
option name 'Allow-WireGuard'
option src 'wan'
option dest_port '51820'
option proto 'udp'
option target 'ACCEPT'
nastaveni klienta:
[Interface]
PrivateKey = uxxx=
Address = 192.168.2.2/32
DNS = 192.168.1.1
[Peer]
PublicKey = oxxx=
PresharedKey = Hxxx=
AllowedIPs = 0.0.0.0/0
Endpoint = 147.xxx.xxx.100:51820
PersistentKeepAlive = 25
Začínám na defaultním nastavení jen:
- přídám díru do firewallu pro port Wireguardu
- přidám interface wg0 s protokolem Wireguard VPN
- nastavit port, IP adresu 192.168.2.1/24 (lan má 192.168.1.1/24), vygeneruji klíče
- peer má Allowed IP 192.168.2.2/32, povolím Route Allowed IPs, vygeneruji klíče
- interface wg0 přiřadím k zóně lan
Vše funguje teprve když vytvořím další zónu například wg
a nastavím správně forward mezi zónami.
Proč nefunguje nastavení bez další firewall zóny (neproběhne ani handshake)
(jako ve výše uvedených příkladech) a co dělám špatně?