Es gibt da nichts automatisiertes. Beim Debugging kommt es in erster Linie auf das Geschick, das Know How und auf die Erfahrung des Ausführenden an.
dig ist ein Tool um DNS Queries auszuführen un DNS-Server testen zu können.
Mit tcpdump kann ich sehen, was auf den Netzwerkinterfaces wirklich passiert, welche Pakete rausgeheun und was reinkommt.
Ich benutze screen sehr gerne. Ich melde mich einmal per ssh an und starte screen. Nun kann ich mehrere Session öffnen, zwischen denen ich hin und her schalten kann. Auch detachen und abmelden. Die Sessions bleiben dabei aktiv. Melde ich mich wieder an attache ich mich einfach an das laufende screen. Ich poste mal meine .screenrc:
# define a nice status line
caption always "%?%F%{.bW}%:%{.BW}%?%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %d/%m %C%a "
hardstatus string "[%n: %t] %H"
# don't display startup screen
startup_message off
# screen scrollback buffer
defscrollback 1000
# xterm keybindings
# alt+arrow up
bindkey "^[[1;3A" focus up
# alt+arrow down
bindkey "^[[1;3B" focus down
# alt+arrow right
bindkey "^[[1;3C" next
# alt+arrow left
bindkey "^[[1;3D" prev
# putty keybindings
# alt arrow up
bindkey "^[^[OA" focus up
# alt arrow down
bindkey "^[^[OB" focus down
# alt arrow right
bindkey "^[^[OC" next
# alt arrow left
bindkey "^[^[OD" prev
# moves sessions
bind , number -1
bind . number +1
################
#
# xterm tweaks
#
# Make the output buffer large for (fast) xterms.
termcapinfo xterm* OL=10000
# use xterms scroll bar
termcapinfo xterm* ti@:te@
#80/132 column switching must be enabled for ^AW to work
#change init sequence to not switch width
termcapinfo xterm 'Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
# tell screen that xterm can switch to dark background and has function
# keys.
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
Damit kann ich mit < ALT >+Cursor Rechts/Links einfach zwischen den Session hin- und herschalten, welche ich mit < CTRL >+A c anlegen kann. Einfach mal nachgoogeln. screen ist schon eint tolles Tool.
Kurz zun Debugging selbst:
Welche Resolver werden benutzt:
# cat /var/gluon/wan-dnsmasq/resolv.conf
nameserver 192.168.17.1
nameserver 192.168.19.5
Welche fastd Server werden benötigt:
# uci show | grep fastd.mesh_vpn_backbone_peer | grep remote
fastd.mesh_vpn_backbone_peer_commander1024.remote=ipv6 "commander1024.gw.freifunk-muenster.de" port 14242 ipv4 "commander1024.gw.freifunk-muenster.de" port 14242 ipv6 "2a01:4f8:150:8ff8::5" port 14242 ipv4 "176.9.88.123" port 14242
fastd.mesh_vpn_backbone_peer_fusselkater.remote=ipv6 "fusselkater.gw.freifunk-muenster.de" port 14242 ipv4 "fusselkater.gw.freifunk-muenster.de" port 14242 ipv6 "2a03:4000:6:500e::1" port 14242 ipv4 "37.120.168.53" port 14242
fastd.mesh_vpn_backbone_peer_fanlin.remote=ipv6 "fanlin.gw.freifunk-muenster.de" port 14242 ipv4 "fanlin.gw.freifunk-muenster.de" port 14242 ipv6 "2001:4ba0:ffec:136::2" port 14242 ipv4 "189.163.225.52" port 14242
Test der DNS Server:
# dig @192.168.17.1 a fusselkater.gw.freifunk-muenster.de
; <<>> DiG 9.9.4 <<>> @192.168.17.1 a fusselkater.gw.freifunk-muenster.de
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1207
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;fusselkater.gw.freifunk-muenster.de. IN A
;; ANSWER SECTION:
fusselkater.gw.freifunk-muenster.de. 3559 IN A 37.120.168.53
;; AUTHORITY SECTION:
gw.freifunk-muenster.de. 86359 IN NS ns2.freifunk-muenster.de.
gw.freifunk-muenster.de. 86359 IN NS ns3.freifunk-muenster.de.
gw.freifunk-muenster.de. 86359 IN NS ns1.freifunk-muenster.de.
;; Query time: 8 msec
;; SERVER: 192.168.17.1#53(192.168.17.1)
;; WHEN: Fri Feb 06 19:38:32 CET 2015
;; MSG SIZE rcvd: 134
Und für IPv6:
# dig @192.168.17.1 aaaa fusselkater.gw.freifunk-muenster.de
; <<>> DiG 9.9.4 <<>> @192.168.17.1 aaaa fusselkater.gw.freifunk-muenster.de
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26846
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;fusselkater.gw.freifunk-muenster.de. IN AAAA
;; ANSWER SECTION:
fusselkater.gw.freifunk-muenster.de. 3503 IN AAAA 2a03:4000:6:500e::1
;; AUTHORITY SECTION:
gw.freifunk-muenster.de. 86270 IN NS ns3.freifunk-muenster.de.
gw.freifunk-muenster.de. 86270 IN NS ns2.freifunk-muenster.de.
gw.freifunk-muenster.de. 86270 IN NS ns1.freifunk-muenster.de.
;; Query time: 6 msec
;; SERVER: 192.168.17.1#53(192.168.17.1)
;; WHEN: Fri Feb 06 19:40:01 CET 2015
;; MSG SIZE rcvd: 146