Hello,
I am trying to setup a ProtonVPN wireguard tunnel. At this stage I have everything working except not being able to resolve any DNS queries. I can ping and access websites using their IP address, and traffic passes correctly through the tunnel. I am also able to ping Proton’s DNS server (10.2.0.1). However, I am neither able to access any sites using URL nor traceroute. Therefore, I think that either my DNS configuration is screwed or something else blocks these queries. I have tried several solutions found online to no avail. At this point I am using the default ROS 7.4 configuration (with wlan1 instead of ether1 for WAN) with wireguard settings provided by Proton and will introduce modifications when I get this part working. I would appreciate any suggestions on what else I could try.
/interface bridge
add auto-mac=no comment=defconf name=bridge
/interface wireguard
add comment="ProtonVPN interface" listen-port=12930 mtu=1420 name=protonwg01
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk eap-methods="" group-ciphers=tkip,aes-ccm \
mode=dynamic-keys name=HomeAP supplicant-identity=""
add authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys name=Red \
supplicant-identity=""
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-eC \
disabled=no distance=indoors frequency=2452 installation=indoor \
security-profile=HomeAP ssid=<SSID> wireless-protocol=802.11
set [ find default-name=wlan2 ] band=5ghz-a/n/ac channel-width=\
20/40/80mhz-XXXX country=<COUNTRY> disabled=no distance=indoors frequency=\
auto installation=indoor mode=ap-bridge security-profile=Red ssid=\
<SSID> wireless-protocol=802.11
add disabled=no keepalive-frames=disabled mac-address=<MAC ADDRESS> \
master-interface=wlan1 multicast-buffering=disabled name=wlan3 \
security-profile=Red ssid=<SSID> wds-cost-range=0 wds-default-cost=0 \
wps-mode=disabled
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge name=defconf
/routing table
add disabled=no fib name=protonvpn_wg
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wlan2
add bridge=bridge interface=wlan3
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=wlan1 list=WAN
/interface wireguard peers
add allowed-address=0.0.0.0/1,128.0.0.0/1 endpoint-address=<ADDRESS> \
endpoint-port=51820 interface=protonwg01 public-key=\
<PUBLIC KEY>
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
192.168.88.0
add address=10.2.0.2/30 interface=protonwg01 network=10.2.0.0
/ip dhcp-client
add comment=defconf interface=wlan1
/ip dhcp-server lease
add address=192.168.88.20 client-id=<ID> mac-address=\
<MAC> server=defconf
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=\
192.168.88.1
/ip dns
set allow-remote-requests=yes servers=10.2.0.1
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall address-list
add address=192.168.88.0/24 list=under_protonvpn
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-mark=no-mark connection-state=established,related disabled=yes \
hw-offload=yes
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall mangle
add action=mark-connection chain=prerouting new-connection-mark=\
under_protonvpn passthrough=yes src-address-list=under_protonvpn
add action=mark-routing chain=prerouting new-routing-mark=protonvpn_wg \
passthrough=yes src-address-list=under_protonvpn
add action=change-mss chain=forward connection-mark=under_protonvpn new-mss=\
1360 passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=!0-1375
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat out-interface=protonwg01
/ip route
add comment="ProtonVPN Wireguard default route" disabled=no distance=1 \
dst-address=0.0.0.0/0 gateway=protonwg01 pref-src="" routing-table=\
protonvpn_wg scope=30 suppress-hw-offload=no target-scope=10
/system clock
set time-zone-name=<TIMEZONE>
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN