I am using arch linux arm on a Raspberry Pi for an embedded application. I have one machine which was set up around a year ago which works excellently, it does not get updated and is still on a 3.18.7 kernel. Just recently I have set up a new machine with a fresh install of arch and the latest kernel 4.4.15, this new device is not correctly setting the nameserver and cant resolve host names. The hardware for both of these machines is identical. Note this is in a commercial environment and I am behind a very restrictive proxy, however both machines are connected to the same wireless network and as far as I can see are set up the same, but something is not working on the new machine.
I have checked everything I know how to check, and cannot find anything wrong. I am hoping someone might be able to point me in the right direction for more things to test to try and narrow this problem down.
IP addresses are assigned by DHCP, on the working machine something (is it dhcpcd?) is finding the correct nameserver and entering into /etc/resolv.conf on the non working machine this is not being set and resolvconf is using the default values of 8.8.8.8 and 8.8.4.4. The google DNS will not work behind my proxy, I must use the local DNS server. If I edit /etc/resolv.conf and manually enter the local DNS and domain then it works until restart. I know I could do this and then make the file read only, but I these devices also need to work in other locations and I can't hard-code a DNS into each device.
Outputs from the working machine:
$this->bbcode_second_pass_code('', '
sudo ping 8.8.8.8 -c1
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=39.8 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 39.891/39.891/39.891/0.000 ms
sudo ping www.google.com -c1
PING www.google.com (216.58.199.68) 56(84) bytes of data.
64 bytes from syd15s01-in-f4.1e100.net (216.58.199.68): icmp_seq=1 ttl=51 time=40.2 ms
--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 40.253/40.253/40.253/0.000 ms
ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.16.102 netmask 255.255.255.0 broadcast 192.168.16.255
inet6 fe80::211:6bff:fe58:6147 prefixlen 64 scopeid 0x20<link>
ether 00:11:6b:58:61:47 txqueuelen 1000 (Ethernet)
RX packets 86767 bytes 10246017 (9.7 MiB)
RX errors 0 dropped 179 overruns 0 frame 0
TX packets 2909 bytes 959338 (936.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
cat /etc/resolv.conf
# Generated by resolvconf
domain xxx.co.nz
nameserver 192.168.16.6
nameserver 192.168.16.5
')
Outputs from the non working machine:
$this->bbcode_second_pass_code('', '
sudo ping 8.8.8.8 -c1
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=39.9 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 39.975/39.975/39.975/0.000 ms
sudo ping www.google.com -c1
ping: www.google.com: Name or service not known
ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.16.124 netmask 255.255.255.0 broadcast 192.168.16.255
inet6 fe80::211:6bff:fe58:611b prefixlen 64 scopeid 0x20<link>
ether 00:11:6b:58:61:1b txqueuelen 1000 (Ethernet)
RX packets 4563 bytes 568719 (555.3 KiB)
RX errors 0 dropped 22 overruns 0 frame 0
TX packets 554 bytes 68138 (66.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
cat /etc/resolv.conf
# This file is managed by systemd-resolved(8). Do not edit.
#
# Third party programs must not access this file directly, but
# only through the symlink at /etc/resolv.conf. To manage
# resolv.conf(5) in a different way, replace the symlink by a
# static file or a different symlink.
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844
')