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:3306to 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.