What is QGTunnel doing to route our traffic?
This is a sample of a question we have received a few times at Support:
Is XLRoutes, via the QGTunnel app, acting as middleware that’s intercepting all network IO? If so, is it sending all requests through the proxy or is it only sending a request through the proxy if the remote destination is one of the remote destinations that we have created a tunnel for via the dashboard?
Or, rather, do I need to specifically connect to XLRoutes with whatever Ruby code I’m using to hit an FTP server? We only need requests to one particular FTP server to go through the proxy.
Short Answer:
When you setup the QGTunnel, you are opening up a socket on the localhost that looks like the TCP server on the remote end (FTP, SFTP, whatever). The socket is open on the specified “Local Port” or on the same port of the remote destination if you do not specify it.
If you enable transparent mode and use a hostname (not IP address) for the remote destination, then we override the DNS for that hostname to go to localhost. This allows your source code to not change, since the DNS record will resolve to localhost.
If you do not enable transparent mode or you are using an IP address, then you need to change your software to point to localhost instead of the final destination.
The tunnel then takes all of the traffic it receives and forwards it through our proxies and onto the final destination.
If you have more in-depth questions, write us at Support any time.