I have this weird problem with a Ventrilo server software running in my linux machine. If I connect the server inside my local network, messages keep lagging etc. But users joining the server outside my network do not experience any problems.

So the question is, how can I trick the software inside the local network to make me appear as joining from external network. Do I need some proxy running in some external network machine? Does someone offer this kind of service?

All the problems started when I changed my router so I guess it has something to do with the new router, but I haven't found a solution by changing settings in my router so I try to fix this in some other way.

  • Are you connecting to the public address, or the 192.168.x.x (or other local address) of the machine? – Michael Graff Nov 20 '09 at 11:47
  • I have tried to connect both internal and external address but both are buggy. – ventrilobug Nov 20 '09 at 13:07
  • What kind of router? Maybe post the config (Change public IPs and all ppasswords (even the encrypted ones). We might be able to help you with the actual issue. – Kyle Brandt Nov 20 '09 at 13:26

Are you connecting via IP address or hostname? If via hostname, it may be resolving to the external, public IP address of the router, in which case it's trying to route through the router. If via IP address, are you using the address of the server on the local network, or the public IP address of the router?

You could set up your internal DNS server to return internal IP addresses when you connect from the local LAN, rather than returning the public IP address of your router (which public DNS provides).

Otherwise, you may need to set up a proper "loopback" NAT rule in your router so that traffic hitting the external address:port coming from the internal client is routed to the internal server, AND so that traffic coming FROM the internal client appears to come from the external address of the router (a reflective rule).

The security implication of doing this is that in the access logs on the server, you will be unable to resolve which internal client is making a connection and when.

Second question: are you connecting via IP address or hostname? If via hostname, it may be resolving to the external

  • 1
    On second thought, your server may be trying to resolve the IP address to a hostname (reverse DNS). I've seen this cause delays in other systems; just try adding an entry into the /etc/hosts file on the Linux box for your client and see what you get. – Jonathan J Dec 17 '10 at 17:18

You didn't accidentally route internal traffic to your external interface did you? It shouldn't be the case if the issue persists when you use the internal address of your server, but you mention making changes to the router.

The only thing else that comes to mind would be if you've got some sort of complicated iptables ruleset on the server or something environmental, like a fan next to your switch or network cables? You need to isloate the problem, and it kinda sounds like the issue is likely more related to your gaming box or it's network connection than the router.


Have you enabled QOS in your router ?

Also, what is your topology ? Let's say 1 server 2 clients connected via router ? Some switches maybe ?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy