I have a Linux server connected via Ethernet to my router. If I connect to the server from a laptop via wireless (192.168.2.2), all requests - whether terminal or HTTP - are slow. It takes a long time to respond to my login and web page requests.

The server is just for testing and has no load, so what could be causing the slow speed? Connections to the outside world are fast.

My router does not see my Linux box and the IP address it assigned,but I can connect to it from another .
I have a DHCP client running.

Not really sure how adding my laptop to the servers hosts file will help. I'm used to having a hosts file on my client to redirect a domain name to a different IP (for testing websites). What would I put in the servers host file? I'm just connecting with an IP. (ssh mike628@192.168.2.2)or in the browser putting the IP address.

Are you connecting directly using the IP address of your server or are you using it's host name?

Unless you are using a fully qualified domain name for your host, you're probably relying on some resolution service like SMB or mDNS (Bonjour) to convert the host name into IP. The service could be slow or misconfigured, or it may have returned IPv6 addresses that your host cannot handle properly. Try pinging the address and see what happens. (Try both ping and ping6 under *nix.)

Also, sometimes it might take several hundred millisecond to run an ARP lookup (i.e. to convert IP to MAC address) over WiF, so if the result is not cached properly, you will get a significant delay as well. Use arp -a to see if your server is in your ARP cache.

You mentioned terminal and web requests and they all work over TCP, so the slowness can also be caused by problems during TCP handshake. Maybe you have a faulty wire or improper MTU. Does it feel slow once TCP connection is established, e.g. after you have successfully connected via terminal?