Re: sshd hinter NAT-Router läßt mich 10 s warten
> > 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?
Reply to: