Hi Merlin,
I found in "/etc/resolv.conf", there's only one line "nameserver 127.0.0.1". I wonder if it's what makes adding "strict-order" to dnsmasq.conf render pinging from router unusable, because according to the man page of dnsmasq, it says "Setting this flag forces dnsmasq to try each query with each server strictly in the order they appear in /etc/resolv.conf".
Thx
------------edit------------
With "strict-order" on.
After I append "nameserver 208.67.220.220" to /etc/resolv.conf and send a SIGHUP to dnsmasq to force it to reload /etc/resolv.conf, ping can work from router, but the interval between issuing the ping command and getting the response from it is abnormal, about 4-5 seconds(it's not the long pinging time, pinging time being normal like 23ms.)
If I remove "nameserver 127.0.0.1" from it and only leave "nameserver 208.67.220.220" in /etc/resolv.conf, and let it reload the /etc/resolv.conf, then the behavior of ping back to normal, very quick response from ping command.
It's like dnsmasq gets stuck if both "nameserver 127.0.0.1" and "strict-order" are there. And if there's only "nameserver 127.0.0.1" in resolv.conf accompanied with "strict-order", all pinging from router would get responded with "Bad Address" if that address is not cached, like a deadlock.