Add dnsmasq config files, specific guide for Merlin and ddwrt like routers.

Cuong Manh Le
2023-09-12 01:08:08 +07:00
parent 71d449f143
commit 4ee05a5fcc

@@ -147,9 +147,53 @@ Other paths to look in, depending on your hardware.
/etc/dhcpd/dhcpd-zzz-ctrld.conf
/etc/dnsmasq.d/dnsmasq-zzz-ctrld.conf
/tmp/dnsmasq.d/ctrld.conf
/home/pi/.firewalla/config/dnsmasq_local/ctrld
```
If this config doesn't exist, or has a different IP + port, that's a problem. Try restarting the `ctrld` service and see if the issue goes away.
If this config doesn't exist, or has a different IP + port, that's a problem. Try restarting the `ctrld` service and see if the issue goes away.
On Merlin routers, you may want to check if `/jffs/scripts/dnsmasq.postconf` exists and contains following content:
```
root@RT-AX56U-4F98:/jffs/controld# cat /jffs/scripts/dnsmasq.postconf
# GENERATED BY ctrld - DO NOT MODIFY
#!/bin/sh
config_file="$1"
. /usr/sbin/helper.sh
pid=$(cat /tmp/ctrld.pid 2>/dev/null)
if [ -n "$pid" ] && [ -f "/proc/${pid}/cmdline" ]; then
pc_delete "servers-file" "$config_file" # no WAN DNS settings
pc_append "no-resolv" "$config_file" # do not read /etc/resolv.conf
# use ctrld as upstream
pc_delete "server=" "$config_file"
pc_append "server=127.0.0.1#5354" "$config_file"
pc_append "add-mac" "$config_file" # add client mac
pc_delete "dnssec" "$config_file" # disable DNSSEC
pc_delete "trust-anchor=" "$config_file" # disable DNSSEC
# For John fork
pc_delete "resolv-file" "$config_file" # no WAN DNS settings
# Change /etc/resolv.conf, which may be changed by WAN DNS setup
pc_delete "nameserver" /etc/resolv.conf
pc_append "nameserver 127.0.0.1" /etc/resolv.conf
exit 0
fi
# GENERATED BY ctrld - EOF
```
On routers with `nvram` utility (ddwrt, freshtomato), you may want to check if the config was set correctly in router memory:
```
nvram show | grep dnsmasq_
```
## Debug launch
If the service doesn't start, or hangs, try running it in debug mode and collect a log. This can be done using the following command: