[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: network problem with router



Faheem Mitha wrote:
> I'm having some odd networking problems with my router, The D-Link 
> DGL-4300 
> (http://www.amazon.com/gp/product/B0006TIA02/002-4711104-7484852).

Problems with your router?  Or problems with your kernel?

> Incoming ssh connections through the router using port forwarding to two 
> different machines with different network cards and different drivers are 
> drastically slow with kernel versions 2.6.18 and 2.6.17 (stock Debian 
> kernels), both initial connections and ongoing traffic.

How about outgoing connections?

When you say slow, do you mean that making the connection initially
has a long delay?  Or that after the connection is made that it
behaves very slowly after that point?

> This problem does not show up when running 2.6.16 kernels or earlier
> (as far as I can tell) on either machine.
> 
> I'm flummoxed as to what to do about this. Any suggestions gratefully 
> appreciated.

When I have seen slow incoming ssh connections it has usually been one
of two things.  Either a slow /dev/random (unlikely in this case) or
timeouts with the dns lookup of the client ip address (likely).

My memory of this is a little vague at the moment and I am too lazy to
verify this but as I recall when connecting sshd will try to log the
name of the client host in the log file.  If there is a problem
looking up the dns for the client IP address this can cause a long
delay.  Eventually the resolver will time out and the connection will
continue.  The behavior is a long pause at connection time followed by
full speed after that point.

  man sshd

     UseDNS  Specifies whether sshd should lookup the remote host name and
             check that the resolved host name for the remote IP address maps
             back to the very same IP address.  The default is “yes”.

Is there a DNS problem on your host?  Of course I would try to fix it
if that is the problem but you might want to try to disable the dns
lookups as a diagnostic techique to narrow down the problem.

Also, when logging in from a remote host try using a high verbosity.

  ssh -vv your.host.example.com

That should diplay debugging information and you can see where it is
pausing.  Further debugging would be to start up a debugging sshd on
the server and see what is happening.

  sudo /usr/sbin/sshd -d -oPort=2200

The above will display the daemon output.  Then connect to it from
another terminal to that port.

  ssh -oPort=2200 your.host.example.com

Hopefully from the debugging output of the sshd daemon the problem
will be apparent.

Hope that helps,
Bob



Reply to: