Hello,
@sindy thanks for your in-depth and well-put response! You are absolutely right that, because I was learning its capabilities, many settings were copy-pasted from the manuals (e.g. the massive ICMP block) 
We just set up this router as a minimal working test/example. We expect to adjust and improve its (firewall) settings later on. I saw that the default settings you mentioned for the firewall are maintained in a post 1 within this forum, right?
About DDoS protection: we have a rule on the client-side which I didn’t include in the exported settings. Now I have included the WHOLE settings below (some IPs change from the diagrams) . This DDoS filter caused some issues by blacklisting a client within the network. Our solution was to add ‘src-address=!192.168.0.0/24’ to avoid private IPs to jump to the DDoS chain (is this a good idea?).
The same algorithm (WireGuard) can be used also for IPsec since months ago.
Does anyone happen to know any guides about using the algorithm of WireGuard with IPsec? Would it be recommended? Would it change its behaviour and require setting up auth codes to each client instead of setting it up once at the router?
PD. The issue with the VPN persists. 
Could it be caused by a lack of a dhcp-server within the L2TP server router (while L2TP client does have it, and thus L2TP server is correctly assigned IPs from this subnet)? I’m grasping at straws 
# Exported settings for both routers.
# L2TP SERVER (with static public IP)
# RouterOS 7.17.2
#
/interface bridge
add name=bridge1
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
/interface list
add name=LAN
add name=WAN
# I should read more about this:
/ip ipsec proposal
set [ find default=yes ] auth-algorithms=sha256,sha1 enc-algorithms="aes-256-c\
bc,aes-256-ctr,aes-256-gcm,aes-192-cbc,aes-192-ctr,aes-192-gcm,aes-128-cbc\
,aes-128-ctr,aes-128-gcm" pfs-group=modp2048
# "Required encryption" for L2TP tunnel.
/ppp profile
add name=tunel-L2TP use-encryption=required
/interface bridge port
add bridge=bridge1 interface=LAN
/ip neighbor discovery-settings
set discover-interface-list=none
/ip settings
set tcp-syncookies=yes
# L2TP server with required IPsec.
/interface l2tp-server server
set default-profile=tunel-L2TP enabled=yes use-ipsec=required
/interface list member
add interface=ether2 list=LAN
add interface=ether1 list=WAN
/ip address
add address=X interface=ether1 network=X
add address=192.168.15.1/24 interface=ether2 network=192.168.15.0
/ip dhcp-client
add interface=ether1
/ip dhcp-server network
add address=192.168.15.0/24 dns-server=8.8.8.8,1.1.1.1 gateway=192.168.15.1
/ip dns
set servers=8.8.8.8,1.1.1.1
/ip firewall address-list
# Site A (server)
add address=192.168.15.1-192.168.15.254 list=allowed_to_router
# Site B (client) but is this required?
add address=192.168.0.1-192.168.0.254 comment="L2TP-client addresses" list=\
allowed_to_router
# The following range might be wrong (it should be 10.231.1.1-10.231.1.254???)
add address=10.231.1.1-10.231.3.254 list=allowed_to_router
add address=0.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=172.16.0.0/12 comment=RFC6890 list=not_in_internet
add address=192.168.0.0/16 comment=RFC6890 list=not_in_internet
add address=10.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=169.254.0.0/16 comment=RFC6890 list=not_in_internet
add address=127.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=224.0.0.0/4 comment=Multicast list=not_in_internet
add address=198.18.0.0/15 comment=RFC6890 list=not_in_internet
add address=192.0.0.0/24 comment=RFC6890 list=not_in_internet
add address=192.0.2.0/24 comment=RFC6890 list=not_in_internet
add address=198.51.100.0/24 comment=RFC6890 list=not_in_internet
add address=203.0.113.0/24 comment=RFC6890 list=not_in_internet
add address=100.64.0.0/10 comment=RFC6890 list=not_in_internet
add address=240.0.0.0/4 comment=RFC6890 list=not_in_internet
add address=192.88.99.0/24 comment="6to4 relay Anycast [RFC 3068]" list=\
not_in_internet
/ip firewall filter
add action=accept chain=input comment=\
"Accepta connexions <input> conegudes,untracked (basic)" \
connection-state=established,related,untracked
add action=accept chain=input comment=\
"Accepta entrada al router des de LAN\?" src-address-list=\
allowed_to_router
add action=accept chain=input comment="Accepta sempre protocol ICMP" \
protocol=icmp
add action=accept chain=input comment="Accepta loopback (per CAPsMAN\?)" \
dst-address=127.0.0.1
add action=accept chain=input comment=\
"Accepta UDP dels ports IPSEC (L2TP VPN)" dst-port=1701,500,4500 \
in-interface-list=WAN protocol=udp
add action=accept chain=input comment="Accepta protocol IPSEC (L2TP VPN)" \
protocol=ipsec-esp
add action=drop chain=input comment=\
"Exclou connexions <input> invalides (basic)" connection-state=invalid \
log=yes log-prefix=input_invalid
add action=fasttrack-connection chain=forward comment=FastTrack \
connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
"Accepta connexions <forward> conegudes,untracked (basic)" \
connection-state=established,related,untracked
add action=accept chain=forward comment=\
"Accepta entrada politica IPSEC <forward>" ipsec-policy=in,ipsec
add action=accept chain=forward comment=\
"Accepta sortida politica IPSEC <forward>" ipsec-policy=out,ipsec
add action=accept chain=forward comment=\
"Sortida a internet des de la xarxa local" src-address-list=\
allowed_to_router
add action=drop chain=forward comment=\
"Exclou connexions <forward> invalides (basic)" connection-state=invalid \
log=yes log-prefix=forward_invalid
add action=drop chain=forward comment=\
"Frena paquets <forward> d'origen privat i entrant per WAN" \
dst-address-list=not_in_internet in-interface=bridge1 log=yes log-prefix=\
private_from_LAN out-interface=!bridge1
add action=drop chain=forward comment=\
"Frena paquets <forward> sense <DSTNAT>" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN log=yes log-prefix=sense_NAT
add action=jump chain=forward comment=\
"Salta des de <forward> fins als filtres <ICMP>" jump-target=icmp \
protocol=icmp
add action=drop chain=forward comment=\
"Frena paquets <forward> d'origen privat i entrant per WAN" \
in-interface-list=WAN log=yes log-prefix=privat_entrant_WAN \
src-address-list=not_in_internet
add action=drop chain=forward comment="Frena paquets LAN sense IP correcta" \
in-interface=bridge1 log=yes log-prefix=LAN_IP_incorrecta \
src-address-list=!allowed_to_router
add action=accept chain=icmp comment="echo reply" icmp-options=0:0 protocol=\
icmp
add action=accept chain=icmp comment="Xarxa fora d'abast" icmp-options=3:0 \
protocol=icmp
add action=accept chain=icmp comment="Amfitrio (<host>) fora d'abast" \
icmp-options=3:1 protocol=icmp
add action=accept chain=icmp comment=\
"Amfitrio (<host>) fora d'abast; necessita fragmentacio" icmp-options=3:4 \
protocol=icmp
add action=accept chain=icmp comment="Permet peticions d'<echo>" \
icmp-options=8:0 protocol=icmp
add action=accept chain=icmp comment="Permet quan es supera el temps" \
icmp-options=11:0 protocol=icmp
add action=accept chain=icmp comment="Permet error amb els parametres" \
icmp-options=12:0 protocol=icmp
add action=drop chain=icmp comment="Rebutja la resta de peticions ICMP" log=\
yes log-prefix=drop_other_ICMP
/ip firewall nat
add action=masquerade chain=srcnat comment="<Masquerade> predeterminada" \
ipsec-policy=out,none out-interface-list=WAN
/ip ipsec profile
set [ find default=yes ] enc-algorithm=aes-256,aes-192,aes-128 \
hash-algorithm=sha256
/ip route
add gateway=X
# The IP route for the L2TP/IPsec tunnel for reaching 'local/client' subnet.
add disabled=no distance=1 dst-address=192.168.0.0/24 gateway=10.231.1.2 \
routing-table=main scope=30 suppress-hw-offload=no target-scope=10
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
# Two different subnets (different sites) should be assigned different ppp secrets, right?
# With incremental 'remote-addresses'? (from 10.231.1.1 of the server, onwards to 10.231.1.254).
/ppp secret
add local-address=10.231.1.1 name=X profile=tunel-L2TP \
remote-address=10.231.1.2 service=l2tp
add local-address=10.231.1.1 name=X profile=tunel-L2TP \
remote-address=10.231.1.3 service=l2tp
/system note
set show-at-login=no
/tool bandwidth-server
set enabled=no
/tool mac-server
set allowed-interface-list=none
/tool mac-server mac-winbox
set allowed-interface-list=none
/tool mac-server ping
set enabled=no
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# L2TP CLIENT
# RouterOS 7.17.2
#
/interface bridge
add name=bridge1
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
/interface l2tp-client
add connect-to=X disabled=no name=\
"VPN tunnel site to site" use-ipsec=yes user=X
/interface list
add name=LAN
add name=WAN
# I should read more about this:
/ip ipsec proposal
set [ find default=yes ] auth-algorithms=sha256,sha1 enc-algorithms="aes-256-c\
bc,aes-256-ctr,aes-256-gcm,aes-192-cbc,aes-192-ctr,aes-192-gcm,aes-128-cbc\
,aes-128-ctr,aes-128-gcm" pfs-group=modp2048
/ip pool
add name=dhcp1 ranges=192.168.0.200-192.168.0.254
/ip dhcp-server
add address-pool=dhcp1 interface=bridge1 name=dhcp
/interface bridge port
add bridge=bridge1 interface=LAN
/ip neighbor discovery-settings
set discover-interface-list=none
/ip settings
set tcp-syncookies=yes
/interface list member
add interface=ether2 list=LAN
add interface=ether1 list=WAN
/ip address
add address=192.168.1.1/24 interface=ether1 network=192.168.1.0
add address=192.168.0.1/24 interface=ether2 network=192.168.0.0
/ip cloud
set ddns-enabled=yes ddns-update-interval=30m update-time=yes
/ip dhcp-client
add interface=ether1
/ip dhcp-server lease
add address=192.168.0.213 client-id=X mac-address=X server=dhcp
/ip dhcp-server network
add address=192.168.0.0/24 dns-server=8.8.8.8,1.1.1.1 gateway=192.168.0.1
/ip dns
set servers=8.8.8.8,1.1.1.1
/ip firewall address-list
add address=192.168.0.1-192.168.0.254 list=allowed_to_router
add address=192.168.15.1-192.168.15.254 comment="VPN remote addresses" list=\
allowed_to_router
# The following range might be wrong (it should be 10.231.1.1-10.231.1.254???)
add address=10.231.1.1-10.231.3.254 list=allowed_to_router
add address=0.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=172.16.0.0/12 comment=RFC6890 list=not_in_internet
add address=192.168.0.0/16 comment=RFC6890 list=not_in_internet
add address=10.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=169.254.0.0/16 comment=RFC6890 list=not_in_internet
add address=127.0.0.0/8 comment=RFC6890 list=not_in_internet
add address=224.0.0.0/4 comment=Multicast list=not_in_internet
add address=198.18.0.0/15 comment=RFC6890 list=not_in_internet
add address=192.0.0.0/24 comment=RFC6890 list=not_in_internet
add address=192.0.2.0/24 comment=RFC6890 list=not_in_internet
add address=198.51.100.0/24 comment=RFC6890 list=not_in_internet
add address=203.0.113.0/24 comment=RFC6890 list=not_in_internet
add address=100.64.0.0/10 comment=RFC6890 list=not_in_internet
add address=240.0.0.0/4 comment=RFC6890 list=not_in_internet
add address=192.88.99.0/24 comment="6to4 relay Anycast [RFC 3068]" list=\
not_in_internet
# 'Atacants' means attacker, 'diana' are targets.
add list=ddos-atacants
add list=ddos-diana
/ip firewall filter
add action=accept chain=input comment=\
"Accepta connexions <input> conegudes,untracked (basic)" \
connection-state=established,related,untracked
add action=accept chain=input comment=\
"Accepta entrada al router des de LAN\?" src-address-list=\
allowed_to_router
add action=accept chain=input comment="Accepta sempre protocol ICMP" \
protocol=icmp
add action=accept chain=input comment="Accepta loopback (per CAPsMAN\?)" \
dst-address=127.0.0.1
add action=accept chain=input comment=\
"Accepta UDP dels ports IPSEC (L2TP VPN)" dst-port=1701,500,4500 \
in-interface-list=WAN protocol=udp
add action=accept chain=input comment="Accepta protocol IPSEC (L2TP VPN)" \
protocol=ipsec-esp
add action=drop chain=input comment=\
"Exclou connexions <input> invalides (basic)" connection-state=invalid \
log=yes log-prefix=input_invalid
add action=jump chain=forward comment=\
"Nou trfic talla intents DDoS (origen extern)" connection-state=new \
jump-target=detecta-ddos src-address=!192.168.0.0/24
add action=fasttrack-connection chain=forward comment=FastTrack \
connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
"Accepta connexions <forward> conegudes,untracked (basic)" \
connection-state=established,related,untracked
add action=accept chain=forward comment=\
"Accepta entrada politica IPSEC <forward>" ipsec-policy=in,ipsec
add action=accept chain=forward comment=\
"Accepta sortida politica IPSEC <forward>" ipsec-policy=out,ipsec
add action=accept chain=forward comment=\
"Sortida a internet des de la xarxa local" src-address-list=\
allowed_to_router
add action=drop chain=forward comment=\
"Exclou connexions <forward> invalides (basic)" connection-state=invalid \
log=yes log-prefix=forward_invalid
add action=drop chain=forward comment=\
"Frena paquets <forward> d'origen privat i entrant per WAN" \
dst-address-list=not_in_internet in-interface=bridge1 log=yes log-prefix=\
private_from_LAN out-interface=!bridge1
add action=drop chain=forward comment=\
"Frena paquets <forward> sense <DSTNAT>" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN log=yes log-prefix=sense_NAT
add action=jump chain=forward comment=\
"Salta des de <forward> fins als filtres <ICMP>" jump-target=icmp \
protocol=icmp
add action=drop chain=forward comment=\
"Frena paquets <forward> d'origen privat i entrant per WAN" \
in-interface-list=WAN log=yes log-prefix=privat_entrant_WAN \
src-address-list=not_in_internet
add action=drop chain=forward comment="Frena paquets LAN sense IP correcta" \
in-interface=bridge1 log=yes log-prefix=LAN_IP_incorrecta \
src-address-list=!allowed_to_router
add action=accept chain=icmp comment="echo reply" icmp-options=0:0 protocol=\
icmp
add action=accept chain=icmp comment="Xarxa fora d'abast" icmp-options=3:0 \
protocol=icmp
add action=accept chain=icmp comment="Amfitrio (<host>) fora d'abast" \
icmp-options=3:1 protocol=icmp
add action=accept chain=icmp comment=\
"Amfitrio (<host>) fora d'abast; necessita fragmentacio" icmp-options=3:4 \
protocol=icmp
add action=accept chain=icmp comment="Permet peticions d'<echo>" \
icmp-options=8:0 protocol=icmp
add action=accept chain=icmp comment="Permet quan es supera el temps" \
icmp-options=11:0 protocol=icmp
add action=accept chain=icmp comment="Permet error amb els parametres" \
icmp-options=12:0 protocol=icmp
add action=drop chain=icmp comment="Rebutja la resta de peticions ICMP" log=\
yes log-prefix=drop_other_ICMP
add action=return chain=detecta-ddos dst-limit=\
32,32,src-and-dst-addresses/10s
add action=add-dst-to-address-list address-list=ddos-diana \
address-list-timeout=10m chain=detecta-ddos
add action=add-src-to-address-list address-list=ddos-atacants \
address-list-timeout=10m chain=detecta-ddos
/ip firewall nat
add action=masquerade chain=srcnat comment="<Masquerade> predeterminada" \
ipsec-policy=out,none out-interface-list=WAN
/ip firewall raw
add action=drop chain=prerouting comment=\
"Impedeix connexions marcades com a potencial DDoS" dst-address-list=\
ddos-diana src-address-list=ddos-atacants
/ip ipsec profile
set [ find default=yes ] enc-algorithm=aes-256,aes-192,aes-128 \
hash-algorithm=sha256
/ip route
# Route from mikrotik to Orange's router.
add dst-address=0.0.0.0/0 gateway=192.168.1.10
# The IP route for the L2TP/IPsec tunnel for reaching 'remote/server' subnet.
add dst-address=192.168.15.0/24 gateway=10.231.1.1
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system note
set show-at-login=no
/tool bandwidth-server
set enabled=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool mac-server ping
set enabled=no