> > ich möchte mich per SSH mit einem Server in einem LAN verbinden.
> >
> > verbinde ich mich
> > zur externen IP des Netzes, also über Portforwarding, klappt nur das
> > *erste* Einloggen nach einer längeren Pause (ca. 1 h); bei jedem weiteren
> > Login entsteht eine Pause von exakt 10 Sekunden.
> >
> > Dies gilt auch bei Verbindungen vom Server zu sich selbst, wenn er über
> > den Router geht.
>
> Hi, hast du evtl. noch einen eigenen DNS-Server?
>
> Das Problem scheint zu sein, dass ssh beim login automatisch ein
> reverse-lookup machen will, das aber nicht schafft / darf. Hat dein Rechner
> im LAN eine Moeglichkeit DNS-Anfragen zu stellen? Und welche Namensraeume
> nutzt du?


DNS macht der Router (192.168.0.10), der wird ja auch befragt:

strace:
-------- 8< --------
14:29:12 Process 24757 attached - interrupt to quit
14:29:12 gettimeofday({1147955352, 808103}, NULL) = 0
14:29:12 gettimeofday({1147955352, 808143}, NULL) = 0
14:29:17 poll([{fd=4, events=POLLIN}], 1, 4942) = 0
14:29:17 gettimeofday({1147955357, 751242}, NULL) = 0
14:29:17 poll([{fd=4, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1
14:29:17 send(4, "yj1001000000003756893678934759002847in-a"..., 44, 0) = 44
14:29:17 poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
14:29:17 ioctl(4, FIONREAD, [88]) = 0

***************************
14:29:17 recvfrom(4, "yj2052006568935760031227"..., 1024, 0, 
{sa_family=AF_INET, \
    sin_port=htons(53), sin_addr=inet_addr("192.168.0.10")}, [16]) = 88
***************************

14:29:17 gettimeofday({1147955357, 752057}, NULL) = 0
14:29:22 poll([{fd=4, events=POLLIN}], 1, 4999) = 0
14:29:22 close(4) = 0
14:29:22 read(6, "00033", 4) = 4
14:29:22 read(6, "300016ssh-connection00000000", 27) = 27
... 
-------- >8 --------


tcpdump:
// 192.168.0.102: SSH-Server
// 192.168.0.10:  Router
// ww.xx.yy.zz:   Client von außen


-------- 8< --------
16:12:03.168211 IP 192.168.0.102.1269 > 192.168.0.10.53:  9205+ PTR? 
zz.yy.xx.ww.in-addr.arpa. (44)
16:12:03.168645 IP 192.168.0.10.53 > 192.168.0.102.1269:  9205* 1/0/0 (88)
16:12:03.204862 IP 192.168.0.102.22 > ww.xx.yy.zz.49968: . ack 946 win 1752 
<nop,nop,timesta...

16:12:08.167226 IP 192.168.0.102.1269 > 192.168.0.10.53:  9205+ PTR? 
zz.yy.xx.ww.in-addr.arpa. (44)
16:12:08.167663 IP 192.168.0.10.53 > 192.168.0.102.1269:  9205* 1/0/0 (88)

16:12:13.166759 IP 192.168.0.102.22 > ww.xx.yy.zz.49968: P 1345:1409(64) ack 
946 win 1752 <no...
16:12:13.260007 IP ww.xx.yy.zz.49968 > 192.168.0.102.22: P 946:1186(240) ack 
1409 win 8320 <n...
-------- >8 --------



Und normalerweise nutzen alle Rechner im LAN diesen DNS-Server. Manuelle 
Abfragen funktionieren:

-------- 8< --------
$ time nslookup ww.xx.yy.zz
Server:         192.168.0.10
Address:        192.168.0.10#53

ww.xx.yy.zz.in-addr.arpa      name = pCCDDEEFF.dip0.t-ipconnect.de.


real    0m0.008s
user    0m0.004s
sys     0m0.003s
-------- >8 --------

Interessant finde ich wie gesagt den Unterschied zwischen 
ww.xx.yy.zz.in-addr... bei nslookup, während tcpdump das rückwärts als 
zz.yy.xx.ww.in-addr... darstellt. Gibt es da einen Untersched?

Antwort per Email an