Skip to main content

Redirecting TCP ports

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

In a recent attempt of moving an application from one server to another, I needed the MySQL server running on the old server on localhost to listen on another IP address. Digging into the MySQL documentation I realized there's only an all-or-nothing approach built into MySQL server. This means MySQL is only able to listen on one IP address or all IP addresses. Of course, I could have configured MySQL to listen on all IP addresses (networks) and then use a couple of firewall rules to lock access, this seems like a common approach.

However, with a little research on Google I came across a tool called redir which is "a TCP port redirector for UNIX". That sounded exactly like the solution I was looking for ;) Since redir is available as a Debian package, I could simply apt install it. The easiest way of getting it to run, is start it from the command line like this:


This setup redirects any TCP traffic from port 3306 of to port 3306 exposed on localhost which is the port the MySQL server is listening to. For an improved set-up you can add redir to your xinetd or inetd configuration. And since redir only works for TCP connections, you might want to give uredir a try for redirecting your UDP connections.