Here’s how you can set up SSH tunneling on a Linux/Unix/BSD server to bypass NAT (Network Address Translation):
- Connect to the remote server with ssh:
ssh [user]@[remote_server_IP] -L [local_port]:[remote_server_IP]:[remote_port]
For example, if you want to connect to a remote MySQL server running on remote_server_IP
on port 3306
, you would use the following command:
ssh [user]@[remote_server_IP] -L 3306:localhost:3306
- Start the tunnel: After you have connected to the remote server, the tunnel will be established, and you can use
localhost:[local_port]
to connect to the remote service on[remote_server_IP]:[remote_port]
. In the example above, you would connect tolocalhost:3306
to access the remote MySQL server.
Note: The -L
option tells ssh to bind the specified [local_port]
to [remote_server_IP]:[remote_port]
on the remote server. The connection to the remote service will be made through the encrypted ssh tunnel, bypassing NAT.