DNS resolution not working in iMX8 Nano

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DNS resolution not working in iMX8 Nano

1,513 Views
raviaital
Contributor I

I have configured my eth0 as below.

auto eth0
iface eth0 inet dhcp

         udhcpc_opts -b -x 77:41636B65726D616E6E20636C696E6F20494C4320312E3020534D43 -O bootfile -i eth0

I get the ip and nameserver will come as part of bootfile.

udhcpc: started, v1.36.1
udhcpc: broadcasting discover
[ 8453.998787] fec 30be0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
udhcpc: broadcasting discover
udhcpc: broadcasting select for 10.1.19.151, server 10.1.19.2
udhcpc: lease of 10.1.19.151 obtained from 10.1.19.2, lease time 36000
adding dns 10.1.19.2

AS seen above the ip is obtained and dns is set.

But the dns resolution fails with bad address error

# ping managementv6.system.priv
ping: bad address 'managementv6.system.priv'

Other devices not running on imx8 are able to get the DNS resolution.

I have tried disabling ipv6 via /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

But it didn't help.

Please help in resolving the problem.

Regards,

Ravi

0 Kudos
Reply
14 Replies

1,488 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @raviaital 

Have you reload sysctl.conf with sysctl -p?

 

Best Regards

Zhiming

 

0 Kudos
Reply

1,477 Views
raviaital
Contributor I

Hi Zhiming_Liy

Yes.. I have reloaded sysctl.conf with sysctl -p

Regards,

Ravi

0 Kudos
Reply

1,462 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @raviaital 

Why you need ping managementv6.system.priv? Does this domain needs ipv6 address? Can you try to ping other address?

Best Regards

Zhiming

0 Kudos
Reply

1,449 Views
raviaital
Contributor I

Hi Zhiming_Liu,

ping is just to show the error.

Actually managementv6.system.priv is a server and the device which is pinging gets its configuration from this server. The configuration decides how the device will run there after.

The server doesn't need ipv6. We have several other devices running on 5.10.x of Linux and not using imx8 which are able to get the access. Those devices are able to get the DNS resolved.

In imx8 we are using 5.15.x kernel. Only with this combination we are facing the problem.

Regards,

Ravi 

0 Kudos
Reply

1,441 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @raviaital 

You can  try to append nameserver in /etc/resolv.conf to check if it work for you.

Best Regards

Zhiming

0 Kudos
Reply

1,439 Views
raviaital
Contributor I

Hi

As I mentioned in my first post when the network connection is established we see the following log

adding dns 10.1.19.2

And the same is reflected in /etc/resolv.conf

**************************

##cat /etc/resolv.conf

nameserver 10.1.19.2

search .

**************************

Regards,

Ravi

0 Kudos
Reply

1,435 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @raviaital 

Can you try to dump some log/error that can trace this issue?

There should be some config issue in rootfs need to be solved, but not sure where.

 

Best Regards

Zhiming

0 Kudos
Reply

1,397 Views
raviaital
Contributor I

HI Zhiming_Liu

What kind of logging is needed ? Is tcpdump sufficient ?

Do you want to check the config in parallel?

Regards,

Ravi

0 Kudos
Reply

1,377 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @raviaital 

I have some idea that you can test.

1.Test DNS server 

  • Try to ping DNS server: ping 10.1.19.2
  • Check DNS config: nslookup managementv6.system.priv 10.1.19.2
  • Check firewall setting: iptables -L -v -n
  • Clear DNS cache: systemctl restart systemd-resolved
  • Get more log: dmesg | grep -i dns,    tail -f /var/log/syslog

2.Test same behavior on latest BSP L6.6.3

3.Do you have same issue when you don't modify the ethernet interface config?

 

Best Regards

Zhiming

0 Kudos
Reply

1,367 Views
raviaital
Contributor I

HI Zhiming,

Thanks for the reply.

1.

# ifup eth0
[ 547.110644] Micrel KSZ8081 or KSZ8091 30be0000.ethernet-1:01: attached PHY driver (mii_bus:phy_addr=30be0000.ethernet-1:01, irq=POLL)
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
[ 550.180973] fec 30be0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
udhcpc: broadcasting discover
udhcpc: broadcasting select for 10.1.19.151, server 10.1.19.2
udhcpc: lease of 10.1.19.151 obtained from 10.1.19.2, lease time 36000
adding dns 10.1.19.2


# ping 10.1.19.2
PING 10.1.19.2 (10.1.19.2): 56 data bytes
64 bytes from 10.1.19.2: seq=0 ttl=128 time=2.198 ms
64 bytes from 10.1.19.2: seq=1 ttl=128 time=1.103 ms
64 bytes from 10.1.19.2: seq=2 ttl=128 time=1.079 ms
--- 10.1.19.2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1.072/1.363/2.198 ms

# nslookup 10.1.19.2
Server: 10.1.19.2 # eth0
Address: 10.1.19.2:53

2.19.1.10.in-addr.arpa name = managementv6.systevo.priv
2.19.1.10.in-addr.arpa name = DESKTOP-EM4K67K.systevo.priv

# nslookup managementv6.systevo.priv
Server: 10.1.19.2 # eth0
Address: 10.1.19.2:53

Name: managementv6.systevo.priv
Address: 10.1.19.2

** server can't find managementv6.systevo.priv: NOTIMP

# iptables -L -v -n
Chain INPUT (policy ACCEPT 15 packets, 1633 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 17 packets, 1264 bytes)
pkts bytes target prot opt in out source destination

# systemctl restart systemd-resolved

# dmesg | grep -i dns
[ 1.295580] Key type dns_resolver registered

# syslog.. there is no syslog in /var/log

# ping managementv6.systevo.priv
ping: bad address 'managementv6.systevo.priv'

2. Latest BSP didn't boot properly. So we have parked it for sometime.

3. I don't know how to revert our changes to eth interface, so I just deleted the /etc/network/interfaces.d/eth0 and restarted. With this change also the problem is still there.

Regards,

Ravi

0 Kudos
Reply

1,278 Views
raviaital
Contributor I
anything wrong in these logs ?
0 Kudos
Reply

1,254 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @raviaital 

The nslookup command show that the DNS server can't support some kind of request. You need contact IT to analyze this issue. And you can also check the tcpdump  log.

# nslookup 10.1.19.2
Server: 10.1.19.2 # eth0
Address: 10.1.19.2:53

2.19.1.10.in-addr.arpa name = managementv6.systevo.priv
2.19.1.10.in-addr.arpa name = DESKTOP-EM4K67K.systevo.priv

# nslookup managementv6.systevo.priv
Server: 10.1.19.2 # eth0
Address: 10.1.19.2:53

Name: managementv6.systevo.priv
Address: 10.1.19.2

** server can't find managementv6.systevo.priv: NOTIMP

# iptables -L -v -n
Chain INPUT (policy ACCEPT 15 packets, 1633 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 17 packets, 1264 bytes)
pkts bytes target prot opt in out source destination

 

0 Kudos
Reply

1,229 Views
raviaital
Contributor I

ok.. i will add tcpdump and get the logs

0 Kudos
Reply

1,176 Views
raviaital
Contributor I

hi @Zhiming_Liu 

The problem is resolved. The problem was due to missing config items in systemd, due to which /etc/nsswitch.conf hosts: entry was getting messed up.

After adding the below into config file it got resolved.

+BR2_PACKAGE_SYSTEMD=y
+BR2_PACKAGE_SYSTEMD_RESOLVED=n

Thanks for your time.

Regards,

Ravi

Tags (1)
0 Kudos
Reply