Dzięki @Cezary teraz działa!

Aby serwer miał dostęp do klienta w konfiguracji klienta mam teraz:

config interface 'wg0'
        option proto 'wireguard'
        option private_key 'xxx'
        list addresses '172.20.1.10/32'

config wireguard_wg0
        option public_key 'xxx'
        option route_allowed_ips '1'
        list allowed_ips '172.20.1.0/24'
        list allowed_ips '192.168.10.0/24'
        option endpoint_host 'xxx'
        option endpoint_port 'xxx'
        option persistent_keepalive '25'
        option description 'ERX'

Wcześniej miałem:

list allowed_ips '192.168.10.0/24'



Przy okazji zapytam, podczas prób rozwiązania problemu natknąłem się na wpis w WIKI

Chodzi konkretnie o "Consider VPN network as private and assign VPN interface to LAN zone on VPN client."
Czy faktycznie nie prościej dopiąć "wg0" do strefy "lan" w firewallu skoro i tak zezwalamy na cały ruch?

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

KLIENT

/etc/config/network 

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

config globals 'globals'
    option packet_steering '1'

config device
    option name 'br-lan'
    option type 'bridge'
    list ports 'eth1'
    list ports 'eth2'
    list ports 'eth3'

config device
    option name 'br-cctv'
    option type 'bridge'
    list ports 'eth4'

config interface 'lan'
    option device 'br-lan'
    option proto 'static'
    option ipaddr '10.1.10.1'
    option netmask '255.255.255.0'

config interface 'cctv'
    option device 'br-cctv'
    option proto 'static'
    option ipaddr '10.10.10.1'
    option netmask '255.255.255.0'

config interface 'wan'
    option device 'eth0'
    option proto 'dhcp'
    option peerdns '0'

config interface 'wg0'
    option proto 'wireguard'
    option private_key 'xxx'
    list addresses '172.20.1.10/32'

config wireguard_wg0
    option public_key 'xxx'
    option route_allowed_ips '1'
    list allowed_ips '192.168.10.0/24'
    option endpoint_host 'xxx.ddnsfree.com'
    option endpoint_port 'xxx'
    option persistent_keepalive '25'
    option description 'ERX'
/etc/config/firewall 

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

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

config zone
    option name 'cctv'
    list network 'cctv'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'

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

config zone
    option name 'wan'
    list network 'wan'
    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 forwarding
    option src 'cctv'
    option dest 'wan'

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

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

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-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 name 'Allow cctv DHCP'
    option src 'cctv'
    option proto 'udp'
    option src_port '67-68'
    option dest_port '67-68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow cctv DNS'
    option src 'cctv'
    option dest_port '53'
    option target 'ACCEPT'
    option family 'ipv4'
    option proto 'tcpudp'

config redirect
    option name 'FORCE LAN DNS'
    option src 'lan'
    option dest 'lan'
    option src_dport '53'
    option dest_port '53'
    option target 'DNAT'

config redirect
    option name 'FORCE CCTV  DNS'
    option src 'cctv'
    option dest 'cctv'
    option src_dport '53'
    option dest_port '53'
    option target 'DNAT'

Tunel klient->serwer OK

root@erx2:~# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
64 bytes from 192.168.10.1: seq=0 ttl=64 time=4.575 ms
64 bytes from 192.168.10.1: seq=1 ttl=64 time=4.061 ms
^C
--- 192.168.10.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 4.061/4.318/4.575 ms
root@erx2:~# ssh root@192.168.10.1

Host '192.168.10.1' is not in the trusted hosts file.
(ssh-ed25519 fingerprint SHA256:EsRcZ23DPmfMUEVd6X7R6a7sChPsT5KacbQhs5QcdVM)
Do you want to continue connecting? (y/n) y
root@192.168.10.1's password: 


BusyBox v1.36.1 (2023-11-15 10:00:19 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------------------------------
 |                                                                           |
 | OpenWrt 23.05-SNAPSHOT, r24016-f791ec1f6d                                 |
 |                                                                           |
 | Build time: 2024-07-27 10:35 CEST                                         |
 | Cezary Jackiewicz, https://eko.one.pl                                     |
 |                                                                           |
 -----------------------------------------------------------------------------
 | Machine: Ubiquiti EdgeRouter X                                            |
 | Uptime: 0d, 17:02:42                                                      |
 | Load: 0.00 0.00 0.00                                                      |
 | Flash: total: 212.8MB, free: 195.3MB, used: 6%                            |
 | Memory: total: 244.4MB, free: 184.1MB, used: 24%                          |
 | Leases: 20                                                                |
 | lan: static, 192.168.10.1                                                 |
 | cctv: static, 192.168.40.1                                                |
 | guest: static, 192.168.20.1                                               |
 | wan: dhcp,                                                                |
 | wg0: wireguard, 172.20.1.1                                                |
 -----------------------------------------------------------------------------
root@erx:~# 

Sprzęt to dwie sztuki ER-X z OpenWrt 23.05-SNAPSHOT, r24016-f791ec1f6d

@Cezary jak pisałeś na kliencie, serwer już miał to w firewallu.
Poniżej konfiguracja serwera, za moment dodam klienta.

SERWER

/etc/config/network 

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

config globals 'globals'
    option packet_steering '1'

config device
    option name 'br-lan'
    option type 'bridge'
    list ports 'eth1'
    list ports 'eth2'
    list ports 'eth4'

config device
    option name 'br-cctv'
    option type 'bridge'
    list ports 'eth3'

config device
    option name 'br-guest'
    option type 'bridge'
    list ports 'eth4.20'

config device
    option name 'eth0'
    option macaddr '70:5a:b6:b2:c8:92'

config interface 'lan'
    option device 'br-lan'
    option proto 'static'
    option ipaddr '192.168.10.1'
    option netmask '255.255.255.0'

config interface 'cctv'
    option device 'br-cctv'
    option proto 'static'
    option ipaddr '192.168.40.1'
    option netmask '255.255.255.0'

config interface 'guest'
    option device 'br-guest'
    option proto 'static'
    option ipaddr '192.168.20.1'
    option netmask '255.255.255.0'

config interface 'wan'
    option device 'eth0'
    option proto 'dhcp'
    option peerdns '0'

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

config wireguard_wg0
    option public_key 'xxx'
    option route_allowed_ips '1'
    list allowed_ips '172.20.1.10/32'
    list allowed_ips '10.1.10.0/24'
    option persistent_keepalive '25'
    option description 'ERX2'

config wireguard_wg0
    option public_key 'xxx'
    option route_allowed_ips '1'
    list allowed_ips '172.20.1.11/32'
    option persistent_keepalive '25'
    option description 'Pixel 8A'
/etc/config/firewall

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

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

config zone
    option name 'guest'
    list network 'guest'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'cctv'
    list network 'cctv'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'

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

config zone
    option name 'wan'
    list network 'wan'
    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 forwarding
    option src 'guest'
    option dest 'wan'

config forwarding
    option src 'cctv'
    option dest 'wan'

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'

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-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 name 'Allow guest DHCP'
    option src 'guest'
    option proto 'udp'
    option src_port '67-68'
    option dest_port '67-68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow guest DNS'
    option src 'guest'
    option dest_port '53'
    option target 'ACCEPT'
    option family 'ipv4'
    option proto 'tcpudp'

config rule
    option name 'Allow cctv DHCP'
    option src 'cctv'
    option proto 'udp'
    option src_port '67-68'
    option dest_port '67-68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow cctv DNS'
    option src 'cctv'
    option dest_port '53'
    option target 'ACCEPT'
    option family 'ipv4'
    option proto 'tcpudp'

config rule
    option enabled '1'
    option name 'WIREGUARD'
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port 'xxx'

config redirect
    option name 'FORCE LAN DNS'
    option src 'lan'
    option dest 'lan'
    option src_dport '53'
    option dest_port '53'
    option target 'DNAT'

config redirect
    option name 'FORCE GUEST DNS'
    option src 'guest'
    option dest 'guest'
    option src_dport '53'
    option dest_port '53'
    option target 'DNAT'

config redirect
    option name 'FORCE CCTV  DNS'
    option src 'cctv'
    option dest 'cctv'
    option src_dport '53'
    option dest_port '53'
    option target 'DNAT'

config redirect
    option enabled '1'
    option target 'DNAT'
    option src 'wan'
    option dest 'cctv'
    option proto 'tcpudp'
    option src_dport 'xxx'
    option dest_port 'xxx'
    option dest_ip '192.168.40.10'
    option name 'CCTV HTTPs'

config redirect
    option enabled '1'
    option target 'DNAT'
    option src 'wan'
    option dest 'cctv'
    option proto 'tcpudp'
    option src_dport 'xxx'
    option dest_port 'xxx'
    option dest_ip '192.168.40.10'
    option name 'CCTV HTTP'
default via 109.173.160.1 dev eth0  src 109.173.164.106 
10.1.10.0/24 dev wg0 scope link 
109.173.160.0/21 dev eth0 scope link  src 109.173.164.106 
172.20.1.0/24 dev wg0 scope link  src 172.20.1.1 
172.20.1.10 dev wg0 scope link 
172.20.1.11 dev wg0 scope link 
192.168.10.0/24 dev br-lan scope link  src 192.168.10.1 
192.168.20.0/24 dev br-guest scope link  src 192.168.20.1 
192.168.40.0/24 dev br-cctv scope link  src 192.168.40.1 

Po zmianach był reboot.
Ping i połączenie po SSH nie działa.
10.1.10.1 to router (peer) z OpenWrt

root@erx:~# wg show
interface: wg0
  public key: XXX
  private key: (hidden)
  listening port: XXX

peer: XXX
  endpoint: XXX
  allowed ips: 172.20.1.10/32, 10.1.10.0/24
  latest handshake: 22 seconds ago
  transfer: 6.79 KiB received, 10.93 KiB sent
  persistent keepalive: every 25 seconds

peer: XXX
  allowed ips: 172.20.1.11/32
  persistent keepalive: every 25 seconds
root@erx:~# ping 10.1.10.1
PING 10.1.10.1 (10.1.10.1): 56 data bytes
^C
--- 10.1.10.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
root@erx:~# ssh root@10.1.10.1
^C
root@erx:~#
Cezary napisał/a:

do serwera dodajesz list allowed_ips '10.1.10.0/24'

Dodałem na serwerze:

config wireguard_wg0
        option public_key XXX
        option route_allowed_ips '1'
        list allowed_ips '172.20.1.10/32'
        list allowed_ips '10.1.10.0/24'
        option persistent_keepalive '25'
        option description 'ERX 2'



Cezary napisał/a:

na firewallu zezwalasz na forwarding wg<>lan

Na kliencie natomiast do firewalla:

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             lan

config forwarding
        option src              lan
        option dest             wg

Niestety nie działa, z serwera nie mogę spingować klienta 10.1.10.1

Proszę o nakierowanie na rozwiązanie.
Dwie sieci z publicznym IP, routery na OpenWrt.
Wireguard skonfigurowany wg. opisu @Cezarego
Tunel działa, mam dostęp do zasobów sieci "serwera" z klienta.

Co muszę zrobić aby tunel pozwalał także na połączenie w drugą stronę aby serwer miał dostęp do zasobów klienta?
Utworzyć analogicznie kolejny tunel wg1 ?

SERWER

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.10.1'
        option netmask '255.255.255.0'

config interface 'wg0'
        option proto 'wireguard'
        option private_key XXX
        option listen_port XXX
        list addresses '172.20.1.1/24'

config wireguard_wg0
        option public_key XXX
        option route_allowed_ips '1'
        list allowed_ips '172.20.1.10/32'
        option persistent_keepalive '25'
        option description 'ERX 2'

KLIENT

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '10.1.10.1'
        option netmask '255.255.255.0'

config interface 'wg0'
        option proto 'wireguard'
        option private_key XXX
        list addresses '172.20.1.10/32'

config wireguard_wg0
        option public_key XXX
        option route_allowed_ips '1'
        list allowed_ips '192.168.10.0/24'
        option endpoint_host XXX
        option endpoint_port XXX
        option persistent_keepalive '25'
        option description 'ERX'

8

(138 odpowiedzi, napisanych Oprogramowanie / Software)

To wiem @Cezary, ja na nie potrzebuję obsługi tego osobnego chipa tylko GPIO wbudowanych w SoC.
Wg. dokumentacji PCEngines -> https://pcengines.github.io/apu2-documentation/gpios/

In order to make it possible to modify/read their state, an OS driver is required. In Linux there is a pinctrl_amd module which is responsible for GPIO controller handling.

9

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Dziękuję @Cezary za moduł.

Testuję ale utknąłem...
Chciałbym uzyskać możliwość wyłączenia hardware'owo WIFI

Wg. dokumentacji wymagania spełnione.
https://pcengines.github.io/apu2-documentation/gpios/
Mam BIOS v4.17.0.3 z załączonym ACPI.

root@OpenWrt:~# ls /sys/class/gpio
export    unexport
root@OpenWrt:~# opkg install kmod-pinctrl-amd
Installing kmod-pinctrl-amd (5.15.139-1) to root...
Downloading https://dl.eko.one.pl/openwrt-23.05/targets/x86/64/kmods-5.15.139/kmod-pinctrl-amd_5.15.139-1_x86_64.ipk
Configuring kmod-pinctrl-amd.
root@OpenWrt:~# ls /sys/class/gpio
export       gpiochip832  unexport

Zamiast chip320 jest chip832 ?

Tak samo jak w  dokumentacji dostępne 192 GPIO

root@OpenWrt:~$ cat /sys/class/gpio/gpiochip832/ngpio
192
root@OpenWrt:~$ 

Więc próbowałem jak w przykładzie 832+71, czyli GPIO903 oraz 904.
Niestety nie działa.

In fact we have exported a GPIO71 of the SoC, the 320 offset must be subtracted.

10

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Jeśli to nie duży problem, poproszę.

11

(138 odpowiedzi, napisanych Oprogramowanie / Software)

@Cezary, jest szansa na zbudowanie tego modułu czy muszę powalczyć z własną kompilacją?

Symbol: PINCTRL_AMD [=n]                                                                                                              │  
  │ Type  : tristate                                                                                                                      │  
  │ Defined at drivers/pinctrl/Kconfig:96                                                                                                 │  
  │   Prompt: AMD GPIO pin control                                                                                                        │  
  │   Depends on: PINCTRL [=n] && HAS_IOMEM [=y] && (ACPI [=n] || COMPILE_TEST [=n])                                                      │  
  │   Location:                                                                                                                           │  
  │     -> Device Drivers                                                                                                                 │  
  │ (1)   -> Pin controllers (PINCTRL [=n])                                                                                               │  
  │ Selects: GPIOLIB [=y] && GPIOLIB_IRQCHIP [=n] && PINMUX [=n] && PINCONF [=n] && GENERIC_PINCONF [=n]                

12

(138 odpowiedzi, napisanych Oprogramowanie / Software)

pepe2k napisał/a:

Widziałem kiedyś termopada z niezdjętą folią zabezpieczającą smile

Hehe, tu była zdjęta.

13

(138 odpowiedzi, napisanych Oprogramowanie / Software)

Graffy napisał/a:

@Cezary masz jakąś modowaną obudowę do APU?
U mnie temperatura oscyluje w okolicach 60°C

Przy okazji aktualizacji OpenWrt, wymieniłem termopad na procku - Gelid 0,5mm
Po rozebraniu obudowy nie zauważyłem abym popełnił jakiś błąd przy montażu.
Rdzeń był ładnie odciśnięty całą powierzchnią na fabrycznym termopadzie i dolegał do aluminiowej płytki.
Mimo tego u mnie w iddle procek oscylował 50-55 stopni w zależności od temperatury otoczenia.
Przy stresie temperatura dochodziła do 60 stopni.
Po zmianie jak ręką odjął.

root@OpenWrt:/etc/config$ sensors 
k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +44.4°C  (high = +70.0°C)
                       (crit = +105.0°C, hyst = +104.0°C)

Przez pół godziny obciążyłem 4 rdzenie stress-ng - temperatura nie przekroczyła 52 stopni smile
Chyba trafiłem na jakiś felerny termopad z oryginalną obudową.

14

(13 odpowiedzi, napisanych Oprogramowanie / Software)

oneiro napisał/a:

O kurczę zadziałało, dzięki. Wydawało mi się, że jedna para kluczy to jeden port, a to działa trochę inaczej. Zastanawia mnie tylko, dlaczego po zamknięciu portu po domyślnych 120s apka które wykorzystuje otwarte połączenie utrzymuje połączenie (tj tam mi się wydaje, bo nie rozłącza się i mogę na niej działać)? Da się to jakoś wymusić?

A to już taki feature firewalla, port zostaje zamknięty ale nawiązane połączenia są utrzymywane do rozłączenia przez klienta.

15

(13 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:
Graffy napisał/a:

Wiem, że działa bo używam.
Dodatkowo mam podpięte profile pod Juicessh, jednym kliknięciem w Fwknop2 zestawiasz połączenie.

Czyli - masz super hiper zabezpieczony serwer a jak ktoś ci zwinie laptopa to jednym kliknięciem się dostanie do tego serwera?

@Cezary, apka jest na telefonie z Androidem.
Ja wiem, że to takie wygodnictwo ale aplikacje banku też mam na tym telefonie...

16

(13 odpowiedzi, napisanych Oprogramowanie / Software)

Wiem, że działa bo używam.
Dodatkowo mam podpięte profile pod Juicessh, jednym kliknięciem w Fwknop2 zestawiasz połączenie.

17

(13 odpowiedzi, napisanych Oprogramowanie / Software)

Nie wiem jakiego klienta do pukania używasz, w Fwknop2 tworzysz profile.
Nie wpisujesz tego ręcznie za każdym razem smile

18

(13 odpowiedzi, napisanych Oprogramowanie / Software)

Możesz to zrobić jedną regułą, zobacz mój config:
/etc/config/fwknopd

config global
        option uci_enabled '1'

config access
        option  SOURCE                  'ANY'
        option  OPEN_PORTS              'TCP/55555,TCP/66666'
        option  RESTRICT_PORTS          'TCP/21,TCP/22,TCP/23'
        option  REQUIRE_SOURCE_ADDRESS  'Y'
        option  KEY_BASE64              'XXX'
        option  HMAC_KEY_BASE64         'XXX'
        option  FW_ACCESS_TIMEOUT       '30'

config config
        option  PCAP_INTF                   'eth0'
        option  PCAP_FILTER                 'udp port 12345'
        option  ENABLE_NAT_DNS              'Y'
        option  ENABLE_DESTINATION_RULE     'Y'
        option  ENABLE_IPT_FORWARDING       'Y'

Teraz czy port ma być przekierowany czy tylko otwarty wybierasz klientem.
Poniżej zrzuty z konfiguracji Fwknop2 na androida z otwarciem portu i przekierowaniem.

https://i.ibb.co/MM2JGVW/fw1-resized.jpg
https://i.ibb.co/Wx1BZ7d/fw2-resized.jpg

19

(13 odpowiedzi, napisanych Oprogramowanie / Software)

@oneiro a co chcesz osiągnąć tą drugą regułą?
Masz kliku userów i każdy ma swój klucz?

20

(95 odpowiedzi, napisanych Oprogramowanie / Software)

@Cezary, dziękuję za info.

21

(95 odpowiedzi, napisanych Oprogramowanie / Software)

@Cezary działa na 22.03?
Jakiś czas temu czytałem, że nie jest kompatybilny z nowy firewallem.

Na tą chwilę odpuściłem z braku czasu.
Mam zamiar postawić czysty obraz od @Cezarego i testować, kiedy zmiany w konfiguracji spowodują brak "NAT Loopback"
Może w majówkę się uda smile

Otwarłem port na LAN analogicznie jak na WAN, @Cezary o to chodziło?

config rule
        option name 'HA test'
        option src 'lan'
        option target 'ACCEPT'
        option proto 'tcp'
        option dest_port '44279'
        option enabled '1'

Próbowałem 44279 oraz 8123 i oba na raz, nie pomogło.
Przekierowanie 8123 na 8123 również nie działa.

Drążę temat, wygląda na to, że nie łapie się na regułę SNAT


root@apu2:/etc/config# iptables -t nat -L -v | grep Home
    0     0 SNAT       tcp  --  any    any     10.1.1.0/24          OMV.lan              tcp dpt:8123 /* !fw3: Home Assistant (reflection) */ to:10.1.1.1
    0     0 DNAT       tcp  --  any    any     10.1.1.0/24          cxxx-xx.icpnet.pl    tcp dpt:44279 /* !fw3: Home Assistant (reflection) */ to:10.1.1.60:8123
    0     0 DNAT       tcp  --  any    any     anywhere             anywhere             tcp dpt:44279 /* !fw3: Home Assistant */ to:10.1.1.60:8123
root@apu2:/etc/config# iptables -t nat -L -v | grep Home
    0     0 SNAT       tcp  --  any    any     10.1.1.0/24          OMV.lan              tcp dpt:8123 /* !fw3: Home Assistant (reflection) */ to:10.1.1.1
    0     0 DNAT       tcp  --  any    any     10.1.1.0/24          cxxx-xx.icpnet.pl    tcp dpt:44279 /* !fw3: Home Assistant (reflection) */ to:10.1.1.60:8123
    4   283 DNAT       tcp  --  any    any     anywhere             anywhere             tcp dpt:44279 /* !fw3: Home Assistant */ to:10.1.1.60:8123
root@apu2:/etc/config# iptables -t nat -L -v | grep Home
    0     0 SNAT       tcp  --  any    any     10.1.1.0/24          OMV.lan              tcp dpt:8123 /* !fw3: Home Assistant (reflection) */ to:10.1.1.1
   14   840 DNAT       tcp  --  any    any     10.1.1.0/24          cxxx-xx.icpnet.pl    tcp dpt:44279 /* !fw3: Home Assistant (reflection) */ to:10.1.1.60:8123
    4   283 DNAT       tcp  --  any    any     anywhere             anywhere             tcp dpt:44279 /* !fw3: Home Assistant */ to:10.1.1.60:8123


Przy próbie połączenia z zewnątrz rośnie ostatnia reguła.
Przy próbie połączenia z lan, łapie się tylko na drugą.
Pierwsza ani drgnie.

Na 18.06 działało to poprawnie...

Jestem w trakcie aktualizacji APU2 z 18.06 do 21.02-SNAPSHOT, r16500-b99d7aecc8
Własna kompilacja z patchami od @Cezary
Czysta instalacja, dostosowanie konfiguracji do nowej.
Z większych zmian zamiast OpenVPN jest Wireguard, doszedł Docker.

Mam problem z NAT Loopback na 21.02

Przekierowanie działa ale nie mogę wbić się na domenę z sieci lokalnej.

config redirect
        option enabled '1'
        option target 'DNAT'
        option src 'wan'
        option dest 'lan'
        option proto 'tcp'
        option src_dport '44279'
        option dest_port '8123'
        option dest_ip '10.1.1.60'
        option name 'Home Assistant'

Natrafiłem na stronę kolegi @morfik https://morfikov.github.io/post/nat-ref … w-openwrt/

OpenWRT tworzy wpisy w firewalu

root@apu2:/etc/config# iptables -t nat -L | grep Home
SNAT       tcp  --  10.1.1.0/24          OMV.lan              tcp dpt:8123 /* !fw3: Home Assistant (reflection) */ to:10.1.1.1
DNAT       tcp  --  10.1.1.0/24          cxxx-xx.icpnet.pl    tcp dpt:44279 /* !fw3: Home Assistant (reflection) */ to:10.1.1.60:8123
DNAT       tcp  --  anywhere             anywhere             tcp dpt:44279 /* !fw3: Home Assistant */ to:10.1.1.60:8123


-A zone_lan_postrouting -s 10.1.1.0/24 -d 10.1.1.60/32 -p tcp -m tcp --dport 8123 -m comment --comment "!fw3: Home Assistant (reflection)" -j SNAT --to-source 10.1.1.1
-A zone_lan_prerouting -s 10.1.1.0/24 -d 85.xxx.xxx.xx/32 -p tcp -m tcp --dport 44279 -m comment --comment "!fw3: Home Assistant (reflection)" -j DNAT --to-destination 10.1.1.60:8123
-A zone_wan_prerouting -p tcp -m tcp --dport 44279 -m comment --comment "!fw3: Home Assistant" -j DNAT --to-destination 10.1.1.60:8123

Uruchomiłem Wireshark na komputerze w domu ale nie bardzo go ogarniam.
Udało mi się znaleźć w logach po IP jak w przykładzie @morfik "TCP Retransmission"

Proszę o pomoc w zdiagnozowaniu gdzie leży problem.