Problem with internet access on router

Hello,

I’m having problems with outbound internet connectivity from my RouterOS 7.18.2 device. NTP isn’t working (stuck on “waiting”) and the update server can’t be reached. On the other hand, ICMP/ping and DNS are working perfectly. Client devices behind the RouterOS device don’t have any problems with internet connectivity.

I’ve tried resetting the configuration, but it didn’t help.

Can anyone help?

[admin@MikroTik] >  
[admin@MikroTik] > /tool 
[admin@MikroTik] /tool> ping time.cloudflare.com 
  SEQ HOST                                     SIZE TTL TIME       STATUS                                                                                                                                          
    0 162.159.200.1                              56  60 2ms353us  
    1 162.159.200.1                              56  60 2ms309us  
    2 162.159.200.1                              56  60 2ms396us  
    3 162.159.200.1                              56  60 2ms409us  
    sent=4 received=4 packet-loss=0% min-rtt=2ms309us avg-rtt=2ms366us max-rtt=2ms409us 

[admin@MikroTik] /tool> fetch https://www.google.com/ 
  status: failed
failure: Address not available
[admin@MikroTik] /tool>  
[admin@MikroTik] /tool>  
[admin@MikroTik] /tool> /system
[admin@MikroTik] /system> package/ 
[admin@MikroTik] /system/package> update check-for-updates  
            channel: stable                                          
  installed-version: 7.18.2                                          
             status: ERROR: could not connect - Address not available
[admin@MikroTik] /system/package> 
[admin@MikroTik] /system/package> /system/ntp/client
[admin@MikroTik] /system/ntp/client> print 
     enabled: yes                
        mode: unicast            
     servers: time.cloudflare.com
              time1.google.com   
         vrf: main               
  freq-drift: 0 PPM              
      status: waiting            
[admin@MikroTik] /system/ntp/client>

The configuration is as follows:

[admin@MikroTik] > /ip 
[admin@MikroTik] /ip> address print 
Flags: D - DYNAMIC
Columns: ADDRESS, NETWORK, INTERFACE
#   ADDRESS            NETWORK       INTERFACE
;;; defconf
0   192.168.88.1/24    192.168.88.0  bridge   
1 D 31.146.156.184/24  31.146.156.0  ether1   
[admin@MikroTik] /ip>  
[admin@MikroTik] /ip> arp print 
Flags: D - DYNAMIC; C - COMPLETE
Columns: ADDRESS, MAC-ADDRESS, INTERFACE, STATUS
#    ADDRESS         MAC-ADDRESS        INTERFACE  STATUS   
0 DC 192.168.88.253  7E:83:F1:82:77:83  bridge     stale    
1 DC 31.146.156.1    00:00:00:00:02:37  ether1     reachable
2 DC 192.168.88.254  F8:4D:89:7D:ED:5F  bridge     reachable
[admin@MikroTik] /ip>  
[admin@MikroTik] /ip> dns print 
                      servers: 1.1.1.1
                               1.0.0.1
              dynamic-servers:        
               use-doh-server:        
              verify-doh-cert: no     
   doh-max-server-connections: 5      
   doh-max-concurrent-queries: 50     
                  doh-timeout: 5s     
        allow-remote-requests: yes    
          max-udp-packet-size: 4096   
         query-server-timeout: 2s     
          query-total-timeout: 10s    
       max-concurrent-queries: 100    
  max-concurrent-tcp-sessions: 20     
                   cache-size: 2048KiB
                cache-max-ttl: 1w     
      address-list-extra-time: 0s     
                          vrf: main   
           mdns-repeat-ifaces:        
                   cache-used: 56KiB  
[admin@MikroTik] /ip>  
[admin@MikroTik] /ip> dhcp-client print  
Columns: INTERFACE, USE-PEER-DNS, ADD-DEFAULT-ROUTE, STATUS, ADDRESS
# INTERFACE  USE-PEER-DNS  ADD-DEFAULT-ROUTE  STATUS  ADDRESS          
;;; defconf
0 ether1     no            yes                bound   31.146.156.184/24
[admin@MikroTik] /ip>  
[admin@MikroTik] /ip> route print 
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, d - DHCP
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS      GATEWAY       DISTANCE
DAd 0.0.0.0/0        31.146.156.1         1
DAc 31.146.156.0/24  ether1               0
DAc 192.168.88.0/24  bridge               0
[admin@MikroTik] /ip>  
[admin@MikroTik] /ip> firewall filter print 
Flags: X - disabled, I - invalid; D - dynamic 
 0  D ;;; special dummy rule to show fasttrack counters
      chain=forward action=passthrough 

 1    ;;; defconf: accept established,related,untracked
      chain=input action=accept connection-state=established,related,untracked 

 2    ;;; defconf: drop invalid
      chain=input action=drop connection-state=invalid 

 3    ;;; defconf: accept ICMP
      chain=input action=accept protocol=icmp 

 4    ;;; defconf: accept to local loopback (for CAPsMAN)
      chain=input action=accept dst-address=127.0.0.1 

 5    ;;; defconf: drop all not coming from LAN
      chain=input action=drop in-interface-list=!LAN 

 6    ;;; defconf: accept in ipsec policy
      chain=forward action=accept ipsec-policy=in,ipsec 

 7    ;;; defconf: accept out ipsec policy
      chain=forward action=accept ipsec-policy=out,ipsec 

 8    ;;; defconf: fasttrack
      chain=forward action=fasttrack-connection hw-offload=yes connection-state=established,related 

 9    ;;; defconf: accept established,related, untracked
      chain=forward action=accept connection-state=established,related,untracked 

10    ;;; defconf: drop invalid
      chain=forward action=drop connection-state=invalid 

11    ;;; defconf: drop all from WAN not DSTNATed
      chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN 
[admin@MikroTik] /ip>

You often need to src-nat the port from your ntp-client (So it looks like it’s coming from a high port rather than port 123)
As ISP’s, ntp servers will often block ntp from port 123, (which Mikrotik’s ntp client uses).

Something like:

/ip firewall nat
add action=src-nat chain=srcnat out-interface={YOURWAN} protocol=udp src-port=123 to-ports=12300-12400

(Maybe put it near the top of any srcnat/masquerade rules)

Thanks for the tip. I tried adding that src-nat rule, but the problem still persists.

Other protocols are affected also, including the fetch tool and package updates:

[admin@MikroTik] > /ip/firewall/nat print 
Flags: X - disabled, I - invalid; D - dynamic 
 0    chain=srcnat action=src-nat to-ports=12300-12400 protocol=udp out-interface-list=WAN src-port=123 log=no log-prefix="" 

 1    ;;; defconf: masquerade
      chain=srcnat action=masquerade out-interface-list=WAN ipsec-policy=out,none 
[admin@MikroTik] >  
[admin@MikroTik] >  
[admin@MikroTik] >  
[admin@MikroTik] > /system/ntp/client print 
     enabled: yes                
        mode: unicast            
     servers: time.cloudflare.com
              time1.google.com   
         vrf: main               
  freq-drift: 0 PPM              
      status: waiting            
[admin@MikroTik] >  
[admin@MikroTik] >  
[admin@MikroTik] > /tool fetch https://mikrotik.com/download 
  status: failed
failure: Address not available
[admin@MikroTik] >  
[admin@MikroTik] >  
[admin@MikroTik] >  
[admin@MikroTik] > /system/package/update check-for-updates  
            channel: stable                                          
  installed-version: 7.18.2                                          
             status: ERROR: could not connect - Address not available
[admin@MikroTik] >

rplant ur killen me, whats your address will send you the game whackamole.
Please ask for config LOL
/export file=anynameyouwish ( minus router serial number, any public WANIP information, vpn keys etc.)(

THanks for your efforts, guys. I exported the config.
It’s all factory defaults except for the wifi, DNS client and NTP client.

# 2025-03-11 18:01:04 by RouterOS 7.18.2
# software id = IPFH-BJIP
#
# model = C52iG-5HaxD2HaxD
/interface bridge
add admin-mac=F4:1E:57:D0:0F:13 auto-mac=no comment=defconf name=bridge
/interface ethernet
set [ find default-name=ether1 ] poe-out=off
/interface wifi
set [ find default-name=wifi1 ] channel.band=5ghz-ax .skip-dfs-channels=\
    10min-cac .width=20/40/80mhz configuration.country=Georgia .mode=ap \
    .ssid="Lasciate ogni speranza..." disabled=no \
    security.authentication-types=wpa3-psk .ft=yes .ft-over-ds=yes
set [ find default-name=wifi2 ] channel.band=2ghz-ax .skip-dfs-channels=\
    10min-cac .width=20/40mhz configuration.country=Georgia .mode=ap .ssid=\
    "Lasciate ogni speranza..." disabled=no security.authentication-types=\
    wpa3-psk .ft=yes .ft-over-ds=yes
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/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
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/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=wifi1
add bridge=bridge comment=defconf interface=wifi2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set disable-ipv6=yes
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
    192.168.88.0
/ip dhcp-client
add comment=defconf default-route-tables=main interface=ether1 use-peer-dns=\
    no use-peer-ntp=no
/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=1.1.1.1,1.0.0.1
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan type=A
/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=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
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-state=established,related 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 nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 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 ICMPv6" protocol=\
    icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" \
    dst-port=33434-33534 protocol=udp
add action=accept chain=input comment=\
    "defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
    udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=input comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
add action=fasttrack-connection chain=forward comment="defconf: fasttrack6" \
    connection-state=established,related
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 packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment=\
    "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
    hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=\
    500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=forward comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
/system note
set show-at-login=no
/system ntp client
set enabled=yes
/system ntp client servers
add address=time.cloudflare.com
add address=time1.google.com
/system routerboard settings
set auto-upgrade=yes
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

anynameyouwish.rsc (6.98 KB)

This seems very strange indeed. Can you ping 1.1.1.1 or 8.8.8.8 from the router itself? Seems like this is a DNS issue…

Problem solved, thanks everyone for your help.

It turned out to be something completely unrelated to the router: the ISP authenticates LAN clients via a VPN running on the modem. The other LAN devices had connectivity because they were already configured. Nobody told me about that. :smiley:

Rplant’s advice was very useful; connections from UDP port 123 were indeed blocked.