1

Temat: WireGuard - firewall

witam  - postanowiłem wypróbować WireGuard  . Lece zgodnie z poradnikiem Cezarego https://eko.one.pl/?p=openwrt-wireguard  i stanąłem na firewallu  -  regułki ładnie sie dodały przez uci  ale  restart firewalla i  trace połaczenie z internetem i routerem

root@OpenWrt:~# /etc/init.d/firewall reload
Warning: Unable to locate ipset utility, disabling ipset support
Warning: Section @zone[1] (wan) cannot resolve device of network 'wan6'
Warning: Section @zone[2] (wg) cannot resolve device of network 'wg0'
Warning: Section @rule[9] has neither a source nor a destination zone assigned - assuming an output r
Warning: Section @rule[9] does not specify a protocol, assuming TCP+UDP
Warning: Section @rule[9] has no target specified, defaulting to REJECT
 * Populating IPv4 filter table
   * Rule 'Allow-DHCP-Renew'
   * Rule 'Allow-Ping'
   * Rule 'Allow-IGMP'
   * Rule 'Allow-IPSec-ESP'
   * Rule 'Allow-ISAKMP'
   * Rule #9
   * Rule 'wireguard'
   * Forward 'lan' -> 'wan'
   * Forward 'wg' -> 'wan'
   * Forward 'wan' -> 'wg'
   * Forward 'wg' -> 'lan'
   * Forward 'lan' -> 'wg'
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'wg'
 * Populating IPv4 nat table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'wg'
 * Populating IPv4 mangle table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'wg'
 * Flushing conntrack table ...

mam zainstalowane

root@OpenWrt:~# opkg list_installed | grep wireguard
kmod-wireguard - 4.14.95+0.0.20190123-1
wireguard - 0.0.20190601-1
wireguard-tools - 0.0.20190601-1

obraz mam kopilowany samodzielnie  bez IP v6

root@OpenWrt:~# cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='18.06.2'
DISTRIB_REVISION='r7676-cddd7b4c77'
DISTRIB_TARGET='ramips/mt7621'
DISTRIB_ARCH='mipsel_24kc'
DISTRIB_DESCRIPTION='OpenWrt 18.06.2 r7676-cddd7b4c77'
DISTRIB_TAINTS='no-ipv6'

co moze byc nie tak ? moze trzeba jakis dodtakowy pakiet do firewalla ?
Przywrociłem  orginalny plik firewalla w falisafe

2

Odp: WireGuard - firewall

To jakaś dziwna przypadłość ramips 7621.
Mam mir3g. Pracował na gargoyle 1.11.0.2, po restarcie spowodowanym przerwą w dostawie prądu, "zgubił" tablice iptables (awaria firewall, brak NAT, PREROUTING). Firstboot nie pomógł, dopiero aktualizacja do gargoyle 1.11.0.4 poskutkowała (pominąłem ponowne wgrywanie 1.11.0.2). Wireguard działa bez problemu.

Najlepiej wgraj ponownie aktualną wersję OpenWrt lub gargoyle, wgraj potrzebne pakiety, skonfiguruj i ostatecznie zachowaj konfigurację.

3

Odp: WireGuard - firewall

To że poprzednio gargoyle gubiło iptables to znany problem. Własnie dlatego są aktualizacje...

@ad2014: co to była za rule 9? Bo tam targetu nie zrobiłeś.

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

4 (edytowany przez ad2014 2019-08-17 18:50:07)

Odp: WireGuard - firewall

coś nie umię tego uruchomić - sam konfig nie wyglada skomplikowanie , klucze na pewno wpisałem prawidłowo  , wydaje mi sie ze coś nie działa ze wzgledu na firewolla  .

ps  
31669 root      1324 S    /bin/sh ./wireguard.sh wireguard setup wg0 {"proto":"wireguard","listen_port":55055,"private_key":"+KLpGTxpKxxxxxxxxxxxxxxHZfzx42ogYZTcHXs="}

network 
config interface 'wg0'
    option proto 'wireguard'
    option listen_port '55055'
    list addresses '10.9.0.1/24'
    option private_key '+KLpGTxpKxxxxxxxxxxxxxxxxxx42ogYZTcHXs='

config wireguard_wg0
    option public_key 'yaDpmcxxxxxxxxxxxxxxcWhMMXTm8='
    option route_allowed_ips '1'
    list allowed_ips '0.0.0.0/0'
    option persistent_keepalive '25'
    option description 'android'

firewall
root@OpenWrt:~# cat /etc/config/firewall

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option flow_offloading '1'
    option flow_offloading_hw '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 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
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '55055'
    option name 'wireguard'

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'

czy powinien być widoczny w netstat -apn  -  tam nie widze by coś słuchało na porcie 55055
jak sie go uruchamia  ręcznie sam proces  - nawet nie idzie go skillować
probuje sie połaczyc z klijenta na androidzie  - tam na pewno mam wszystko dobrze wpisane ( zreszta jak cos jest zle to nie zapisze)


po przeładowaniu firewolla

root@OpenWrt:~# /etc/init.d/firewall reload
Warning: Unable to locate ipset utility, disabling ipset support
Warning: Section @zone[1] (wan) cannot resolve device of network 'wan6'
Warning: Section @zone[2] (wg) cannot resolve device of network 'wg0'
Warning: Section @zone[2] (wg) has no device, network, subnet or extra options
 * Clearing IPv4 filter table
 * Clearing IPv4 nat table
 * Clearing IPv4 mangle table
 * Populating IPv4 filter table
   * Rule 'Allow-DHCP-Renew'
   * Rule 'Allow-Ping'
   * Rule 'Allow-IGMP'
   * Rule 'Allow-IPSec-ESP'
   * Rule 'Allow-ISAKMP'
   * Rule 'wireguard'
   * Forward 'lan' -> 'wan'
   * Forward 'wg' -> 'wan'
   * Forward 'wan' -> 'wg'
   * Forward 'wg' -> 'lan'
   * Forward 'lan' -> 'wg'
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'wg'
 * Populating IPv4 nat table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'wg'
 * Populating IPv4 mangle table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'wg'
 * Set tcp_ecn to off
 * Set tcp_syncookies to on
 * Set tcp_window_scaling to on
root@OpenWrt:~# 

5

Odp: WireGuard - firewall

Jak nie uruchamia to patrz w logi.

Jeżeli on robi za "server" to masz po po prostu otworzyć danych port na wanie. Reszta to tylko kwiatek to kożucha.

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

6

Odp: WireGuard - firewall

tzn  uruchamia się  - jest uruchomiony  ale chciałem go przeładować  zeby nie robic reboot - 
w logu mam

Sat Aug 17 19:57:21 2019 daemon.notice netifd: wg0 (20443): RTNETLINK answers: Not supported
Sat Aug 17 19:57:21 2019 daemon.notice netifd: wg0 (20443): Unable to modify interface: Protocol not supported
Sat Aug 17 19:57:26 2019 daemon.notice netifd: Interface 'wg0' is now down
Sat Aug 17 19:57:26 2019 daemon.notice netifd: Interface 'wg0' is setting up now
Sat Aug 17 19:57:26 2019 daemon.err modprobe: failed to find dependency udp_tunnel
Sat Aug 17 19:57:26 2019 daemon.err modprobe: failed to find dependency ip6_udp_tunnel
Sat Aug 17 19:57:26 2019 daemon.err modprobe: 1 module could not be probed
Sat Aug 17 19:57:26 2019 daemon.err modprobe: - wireguard
Sat Aug 17 19:57:26 2019 daemon.notice netifd: wg0 (20526): RTNETLINK answers: Not supported
Sat Aug 17 19:57:26 2019 daemon.notice netifd: wg0 (20526): Unable to modify interface: Protocol not supported

port powinien byc otwarty  mam taka regułe

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

a nie jest otwarty  bo sprawdziłem go z sieci

7

Odp: WireGuard - firewall

ipv6 nie masz jak widzisz i wireguard się pyszczy o to.

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

8

Odp: WireGuard - firewall

Nie wiem, czy ma znaczenie, ale czy powinno być 10.9.0.0/24, a jest teraz 10.9.0.1/24 w konfigu interfejsu?

9

Odp: WireGuard - firewall

maslako napisał/a:

Nie wiem, czy ma znaczenie, ale czy powinno być 10.9.0.0/24, a jest teraz 10.9.0.1/24 w konfigu interfejsu?

Nie, nie powinno być 10.9.0.0/24.

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

10 (edytowany przez Scotch 2019-08-17 20:21:34)

Odp: WireGuard - firewall

Miałem podobny problem na serwerze (P-2812HNU-F1) - po restarcie firewall blokował mi internet i kliencie (nexx WT3020) - łączył się po wifi z routerem i brak neta.
Nie pamiętam gdzie znalazłem rozwiązanie, ale jedyny dodatkowy wpis w konfiguracji firewalla mam taki:

config rule
    option src '*'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '55055'
    option name 'Allow-Wireguard-Inbound'

reszta pozostała nietknięta i działa

11

Odp: WireGuard - firewall

dzieki Panowie za wskazowki  ale chyba mam cos powalone z modułami, sprwdziłem sa załaodowane , a teraz mi wireguard nie startuje .
@Scotch  widziałem to w sieci próbowałem - ale nie działa .   
System mam  z własnej kompilacji a wireguard instalowalem z oficjnego repo - byc moze jest jakas niezgodnośc albo brak tego ipv6  . Sprobuje jeszcze skomilowac  samemu na moim srodowisku  - i zobacze    = w sumie i tak trza sie przymierzyc do aktuakizacji

12

Odp: WireGuard - firewall

netifd: wg0 (20443): Unable to modify interface: Protocol not supported

Moduł nie załadowany lub jego brak.

13

Odp: WireGuard - firewall

Tak, jak sam kompilujesz obraz to skompiluj też do niego wireguarda, tym bardziej że bez ipv6 to robisz...

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

14

Odp: WireGuard - firewall

jednak musze zbudowac nowy obraz - chiałbym zbudowac na podstawie Twojego repo Cezary - ale gubię sie w tych numeracjach. Przeczytałem
https://eko.one.pl/?p=openwrt-19.07#wasnakompilacja  , ale mam watpliwosci . Nie wiem co wpisac w git checkout v18.06.4  by weszły mi zródła z 19.07   zeby wogole je sciagnac .
potem zrobie

 # wget http://dl.eko.one.pl/openwrt-19.07/eko1.pub -O /tmp/eko1.pub
    # opkg-key add /tmp/eko1.pub

nastepnie

# wget http://dl.eko.one.pl/openwrt-19.07/ścieżka do pliku config.seed.usb
    # mv config.seed.usb .config
    # make defconfig

wpisanie checkout v19.07  nic nie pobiera ??

15

Odp: WireGuard - firewall

Wersja 19.08 w ogóle nie została jeszcze oznaczona, więc nie ma tags określającego wersję stabilną 19.07.
Ściągnij branch 19.07 snapshot:

git clone -b openwrt-19.07 tutaj-url-do-źródeł.

Mój klucz nie jest do niczego potrzebny jak nie będziesz korzystał z mojego repo. Na dodatek robi się w openwrt a nie w linuksie podczas kompilacji.

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

16

Odp: WireGuard - firewall

dzieki

17 (edytowany przez Zuzia 2019-08-18 18:49:13)

Odp: WireGuard - firewall

IPv6 nie jest niezbędne, mam co prawda je w systemie, ale skutecznie wyłączone i WireGuard działa doskonale ustawiany wg. poradnika Cezarego.

18

Odp: WireGuard - firewall

Ale on skompilował system bez ipv6 a wireguard pobrał z repo. Czyli ten wireguard nadal potrzebuje ipv6, bo nikt go nie skompilował bez smile

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

19

Odp: WireGuard - firewall

Racja, moja sytuacja jest troszkę inna, bo kompiluję system z IPv6, a potem je wszędzie wyłączam.

20

Odp: WireGuard - firewall

kopiluje - juz prawie mam nowy system dzis cos długo szło od godz 16  i dostaje bład

Package kmod-ath10k-ct is missing dependencies for the following libraries:
thermal_sys.ko
Makefile:109: recipe for target '/home/adam/openwrt/bin/targets/ramips/mt7621/packages/kmod-ath10k-ct_4.14.138+2019-05-08-f98b6dc4-1_mipsel_24kc.ipk' failed
make[3]: *** [/home/adam/openwrt/bin/targets/ramips/mt7621/packages/kmod-ath10k-ct_4.14.138+2019-05-08-f98b6dc4-1_mipsel_24kc.ipk] Error 1
make[3]: Leaving directory '/home/adam/openwrt/package/kernel/ath10k-ct'
time: package/kernel/ath10k-ct/compile#22.03#2.11#23.79
package/Makefile:111: recipe for target 'package/kernel/ath10k-ct/compile' failed
make[2]: *** [package/kernel/ath10k-ct/compile] Error 2
make[2]: Leaving directory '/home/adam/openwrt'
package/Makefile:107: recipe for target '/home/adam/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/home/adam/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/adam/openwrt'
/home/adam/openwrt/include/toplevel.mk:216: recipe for target 'world' failed
make: *** [world] Error 2

i teraz nie wiem czy mogę go wyłaczyć  ten kmod-ath10k-ct  - to chyba jakis sterownik od Atheros -  co myslicie ?
Zainstalował bym obraz od Cezarego ale musze potem node-red zrobic bo mam spieta cała automatyke na tym .

21

Odp: WireGuard - firewall

Możesz wyłączyć o ile używasz nie używasz ath10k (lub używasz zwykłego ath10k), zresztą ten -ct sprawia też dużo problemów.

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

22

Odp: WireGuard - firewall

Wyłączyłem - skompilowało sie bez dlaszych problemów , ale nie chciało sie kompilować wogóle node - chyba na 19.07 nie zostało to przeniesione na razie .  Ostatecznie skopilowalem  18.06.4  razem z Ipv6 + wireguard+node  = Wszystko poszło bez zająkniecia . Wiregurad dział od razu , konfiguracja jest banalnie prosta  . Nawet  bardzo fajne transfery przez tunel  .  Jedno co zauważyłem to coraz wieksze pakiety są , coraz dłużej trwa kompilacja , nawet FLASH    128 MB w mi3g  wydaje sie troche za mało jak dla mnie

23

Odp: WireGuard - firewall

WireGuard działa doskonale - znakomicie zwiększa możliwości routera .
@Scotch  Konfiguracja wg poradnika Cezarego jest jak najbardziej prawidłowa  .

Scotch napisał/a:

config rule
    option src '*'

Ta gwiazdka  '*' nie ma znaczenia . Wg. Cezarego jest

config rule
    option src 'wan'

   i to jest prawidłowo
dzieki tej konfiguracji  ma dostep do routera jak i komp w lanie . Uruchomiłem  sobie stream z tun sat - działa spoko  - Router dziala jakby wogole nie było VPN ( nie obiąża go dodatkowo ) .  Teraz mam dostep tez do node-red  z dowolnego miejsca  - bez  ceregieli  .
Mam jeszcze jedno pytanko - jak dodac do Netlink Bandwidth Monitor  albo inaczej co dodac do  (domyślnie jest to /usr/share/nlbwmon/protocols)
lub prze luci  by nlbwmon  zbierał dane  połaczenia WireGuard ?

24

Odp: WireGuard - firewall

udp na porcie który sobie skonfigurowałeś w serwerze. udp to 17

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

25

Odp: WireGuard - firewall

dzieki  właśnie nie wiedziałem co to jest ta pierwsza liczba