Hi folks!
I’m tearing my hair out because I’m stuck. I want to offer my brother-in-law (who has no public IP) the possibility to establish a tunnel via my MikroTik - the VPN protocol of choice is OVPN. Once this tunnel is established he should be able to reach the IP of his Gira X1 (Smart-Home) via his iPhone.
There is already a working EoIP tunnel between the two MikroTiks. The clients from my network (192.168.100.0/23) can access resources from the target network (192.168.99.0/24). However, I can’t (I think some NAT rule or something is missing) get the RoadWarrior clients from the oVPN network (192.255.255.0/28) to access the addresses in the destination.
I have drawn a simple diagram:

I hope it is understandable what I mean.
Below is the (in my opinion) relevant part of the configuration on my end. I don’t know anything about the NAT/firewall rules - I just played around and tested - none of them worked.
/interface ovpn-server add name=ovpn-markusogris user=markusogris
/interface eoip add allow-fast-path=no mac-address=02:6F:41:85:E0:DC name=eoip_markus_ogris remote-address=remote-adress.mynetname.net tunnel-id=0
/ip pool add name=ios-vpn ranges=192.255.255.1-192.255.255.6
/ppp profile add address-list=OGRIS_allowed_clients bridge=BR_LAN dns-server=192.168.100.254 local-address=192.168.100.254 name=ovpn remote-address=ios-vpn use-compression=no use-encryption=required use-upnp=yes
/interface ovpn-server server set auth=sha256 certificate="VPN Server" cipher=aes256-gcm default-profile=ovpn enabled=yes require-client-certificate=yes tls-version=only-1.2
/ip address add address=10.255.250.254/24 interface=eoip_markus_ogris network=10.255.250.0
/ip route add check-gateway=ping disabled=no distance=10 dst-address=192.168.99.0/24 gateway=10.255.250.253 routing-table=main scope=30 suppress-hw-offload=no target-scope=10
/ppp secret add name=markusogris profile=ovpn service=ovpn
/ip firewall filter add action=accept chain=input comment=OpenVPN dst-port=1194 protocol=tcp
/ip firewall filter add action=accept chain=forward out-interface=eoip_markus_ogris src-address-list=OGRIS_allowed_clients
/ip firewall filter add action=drop chain=forward log=yes out-interface=eoip_markus_ogris
/ip firewall filter add action=accept chain=forward comment="Accept in ipsec policy" ipsec-policy=in,ipsec log-prefix=IPSEC
/ip firewall filter add action=accept chain=forward comment="Accept out ipsec policy" ipsec-policy=out,ipsec log-prefix=IPSEC
/ip firewall filter add action=accept chain=forward dst-port=80 protocol=tcp
/ip firewall filter add action=accept chain=input src-address=192.168.100.0/23
/ip firewall filter add action=accept chain=input comment="accept ICMP after RAW" protocol=icmp
/ip firewall filter add action=accept chain=input comment="accept established,related,untracked" connection-state=established,related,untracked
/ip firewall filter add action=drop chain=input comment="drop all not coming from LAN" in-interface-list=!LIST_LAN
/ip firewall filter add action=fasttrack-connection chain=forward comment=fasttrack connection-state=established,related hw-offload=yes
/ip firewall filter add action=accept chain=forward comment="accept established,related, untracked" connection-state=established,related,untracked
/ip firewall filter add action=drop chain=forward comment="drop invalid" connection-state=invalid
/ip firewall filter add action=drop chain=forward comment="Block YouTube on FireTV Sandro" layer7-protocol=*1 src-address=192.168.100.67
/ip firewall filter add action=drop chain=forward comment=" drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=LIST_WAN
/ip firewall filter add action=drop chain=forward comment="drop bad forward IPs" src-address-list=no_forward_ipv4
/ip firewall filter add action=drop chain=forward comment="drop bad forward IPs" dst-address-list=no_forward_ipv4
/ip firewall mangle add action=mark-connection chain=prerouting comment="Mark connections for hairpin NAT - replaced by cloudflare zero-trust-tunnel" disabled=yes dst-address-list=WAN new-connection-mark="Hairpin NAT" passthrough=yes src-address-list=LAN
/ip firewall nat add action=dst-nat chain=dstnat dst-port=3074,27014-27050 in-interface-list=LIST_WAN protocol=tcp to-addresses=192.168.100.59
/ip firewall nat add action=dst-nat chain=dstnat dst-port=3074,3075,3076,3077,3078,3079 in-interface-list=LIST_WAN protocol=udp to-addresses=192.168.100.59
/ip firewall nat add action=dst-nat chain=dstnat comment="SSH to loki 22" dst-port=8080 in-interface-list=LIST_WAN protocol=tcp to-addresses=192.168.100.211 to-ports=22
/ip firewall nat add action=dst-nat chain=dstnat comment=temp_rule_for_letsencrypt_do_not_change dst-port=80 in-interface-list=LIST_WAN protocol=tcp to-addresses=192.168.100.210 to-ports=80
/ip firewall nat add action=masquerade chain=srcnat comment="lan --> WID (Meraki Client VPN)" out-interface=wid-client-vpn src-address-list=WID_allowed_clients
/ip firewall nat add action=accept chain=srcnat dst-address=192.168.99.0/24 src-address=192.168.100.0/23
/ip firewall nat add action=accept chain=srcnat dst-address=192.168.99.0/24 src-address=192.255.255.0/28
/ip firewall nat add action=masquerade chain=srcnat comment="ios_vpn --> eoip_markus" out-interface=eoip_markus_ogris src-address=192.255.255.0/29
/ip firewall nat add action=masquerade chain=srcnat comment="lan --> internet" out-interface-list=LIST_WAN src-address=192.168.100.0/23
