EDIT: So others may benefit, the answer to the problem has been placed at the end of this post.
Playing 6.39rc41 on a RouterBoard 951G 2HnD, I ran in to an issue with DNS, where the router would resolve correctly, and the client would time out. I stepped back to 6.38.3, where the problem persisted.
I am able to ping the interface and query REMOTE DNS servers. When configured to use alternate DNS servers, I am able to browse the web.
Steps taken to troubleshoot:
- Turn OFF Windows Firewall
- Verify Allow Remote Requests is checked.
- Rebuild bridged interface.
- Rebuild DHCP Server.
- Rebuild DHCP Pool.
- Vanilla config to dumb the issue down.
- Downgrade to stable.
- Repeat 2-5.
- Hard reset RouterBoard.
- Rebuild entire config.
- Build counter for DNS packets.
- Post to the forums.
The simplified config creates a bridge, places ether2 in that bridge, provides a DHCP address, pulls an IP from the lte interface, then nats ANY packet not intended for the local network.
The config:
/interface lte
set [ find ] mac-address=36:4B:50:B7:EF:DA name=lte1
/interface bridge
add name=LOCAL-BRIDGE
add name=REMOTE-BRIDGE
/ip pool
add name=LOCAL-POOL ranges=192.168.35.101-192.168.35.199
/ip dhcp-server
add add-arp=yes address-pool=LOCAL-POOL authoritative=yes disabled=no interface=LOCAL-BRIDGE lease-time=1h name=LOCAL-DHCP
/interface bridge port
add bridge=LOCAL-BRIDGE interface=ether2
add bridge=REMOTE-BRIDGE interface=ether3
add bridge=REMOTE-BRIDGE interface=ether4
add bridge=REMOTE-BRIDGE interface=ether5
/interface wireless cap
#
set discovery-interfaces=ether1 enabled=yes interfaces=wlan1
/ip address
add address=192.168.35.1/24 interface=LOCAL-BRIDGE network=192.168.35.0
/ip dhcp-client
add dhcp-options=hostname,clientid disabled=no interface=ether1
add default-route-distance=4 dhcp-options=hostname,clientid disabled=no interface=lte1
/ip dhcp-server network
add address=192.168.35.0/24 dns-server=192.168.35.1 gateway=192.168.35.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4
/ip dns static
add address=192.168.35.1 name=inside.local
/ip firewall filter
add action=passthrough chain=input dst-port=53 in-interface=LOCAL-BRIDGE protocol=udp
add action=accept chain=input in-interface=LOCAL-BRIDGE
/ip firewall mangle
add action=mark-packet chain=prerouting in-interface=LOCAL-BRIDGE new-packet-mark=LOCAL-ROUTE passthrough=no
/ip firewall nat
add action=masquerade chain=srcnat dst-address=!192.168.35.0/24 packet-mark=LOCAL-ROUTE
/system clock
set time-zone-name=America/New_York
Ping, showing connection and name resolution on the router.
[admin@MikroTik] > ping www.google.com count=2
SEQ HOST SIZE TTL TIME STATUS
0 216.58.217.68 56 53 31ms
1 216.58.217.68 56 53 77ms
sent=2 received=2 packet-loss=0% min-rtt=31ms avg-rtt=54ms max-rtt=77ms
[admin@MikroTik] >
DNS attempts from the client, with changing to Google DNS working, proving NAT…
C:\Users\katamba-host>nslookup
DNS request timed out.
timeout was 2 seconds.
Default Server: UnKnown
Address: 192.168.35.1
> google.com
Server: UnKnown
Address: 192.168.35.1
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
> server 8.8.8.8
DNS request timed out.
timeout was 2 seconds.
Default Server: [8.8.8.8]
Address: 8.8.8.8
> google.com
Server: [8.8.8.8]
Address: 8.8.8.8
Non-authoritative answer:
Name: google.com
Addresses: 2607:f8b0:4004:80b::200e
216.58.217.78
> server 8.8.4.4
Default Server: google-public-dns-b.google.com
Address: 8.8.4.4
> google.com
Server: google-public-dns-b.google.com
Address: 8.8.4.4
Non-authoritative answer:
Name: google.com
Addresses: 2607:f8b0:4004:80b::200e
216.58.217.78
Thanks for taking a look.
Answer:
The caching nameserver doesn’t play well with other caching nameservers. In this case, the LTE interface was providing a local address and cached DNS services. Pointing the router to Google and unchecking the box to use peer DNS resolved the issue.