Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


how to set up linux so machines _by default_ access INTERnet thru socks

Posted on 2000-03-15
Medium Priority
Last Modified: 2010-03-18
I have 3 systems on my lab network:

A: linux box with 2 interfaces, connected to INTRAnet ( mask via token ring on tr0, connected to lab network ( mask via ethernet on eth0
B: windoze box, lab network ( specified) on eth adapter
C: mac box, lab network ( specified) on eth adapter

The mac and the windoze can access the INTRAnet and the INTERnet through ip forwarding and ip masquerading on the linux, the default INTRAnet gateway being, the DNS server at In my environment a socks server is used to connect the INTRAnet with the INTERnet; it is at

A socks client by Hummingbird (which allows all appz to use the socks server for INTERnet connections) is available for Windows 9x. It is installed and works fine through the linux box.

The Mac is an older model running system 7.6.1. As far as I know, no socks client is available for it.  Thus, appz which are not 'socks-aware' are not able to make INTERnet connections. I'm aware that the Mac versions of Netscape Navigator, Fetch 3.0 (ftp client), Anarchie (archie/ftp client), Microsoft Internet Explorer, etc. support socks--I want to enable EVERY network app on the Mac to use socks.  

How would I set up the linux box so that any machine on the lab network (windows, mac, etc.) would _by default_ access the INTERnet through the socks server at without having to have a socks client installed?

If a solution allows the linux box itself (as a client of the socks server) to access the INTERnet, it would be great, but its not necessary. The main thing is to allow the Mac to have full INTERnet access through the socks server.


Question by:valdese
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
LVL 40

Expert Comment

ID: 2621649
Actually I think you might be able to find some clients for the Mac that support SOCKS. The SOCKS FAQ (http://www.socks.nec.com/socksfaq.html#q7) says:

"Netscape's Navigator, NCSA's Mosaic, Fetch 3.0 (ftp client), Anarchie (archie/ftp client), Microsoft's Internet Explorer, and PointCast's client support SOCKS"

Author Comment

ID: 2621705
Edited text of question.

Author Comment

ID: 2621708
Edited text of question.
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 40

Expert Comment

ID: 2621754
I don't think there's anything that would "un-socks" the network. Basically it would have to be a "socks to raw gateway", and I've never heard of anything like that.

Author Comment

ID: 2624410
Adjusted points from 85 to 170

Author Comment

ID: 2637285
Adjusted points from 170 to 200

Accepted Solution

hoax earned 400 total points
ID: 2709612
Assuming the Linux box is running a 2.2.x kernel with ipchains and transparent proxy support:
1. Run a small TCP proxy. The proxy should listen on _SOMEPORT_.
Socksify the proxy using the Linux socksification method you normally use (you might not have to do anything if you simply replace libraries).
2. Using ipchains redirect all TCP traffic originating from to _SOMEPORT_. The appropriate command is:
"ipchains -I input -s -p tcp -d ! -j REDIRECT _SOMEPORT_".
I'm assuming all 8.37.* addresses are on the INTRAnet and should not be accessed through the SOCKS proxy.
If you want the mac to be able to access the linux box directly under its address, you'll need to add a few ipchains commands - you can always access it through the address, however.
3. Setup the mac to route through the Linux box.

This should allow TCP connections from the mac to be transparently redirected through the SOCKS server. It will not allow the mac to run any local server (e.g. FTP must be in passive mode). It also won't allow ICMP (i.e. ping won't work). It could probably be enhanced to work with UDP if you're using SOCKS v5 by using a UDP proxy similar to the TCP proxy and redirecting UDP traffic to it.

I recommend using tcpxd (http://quozl.us.netrek.org/tcpxd/tcpxd-0.4.tar.gz) as the proxy. You'll need to modify the code slightly - the proxy is currently built to redirect all incoming connections to a single host:port combination. Find out where it makes the "connect" call, and instead use the address returned by "getsockname". On redirected connections, "getsockname" will return the original destination instead of the local one.

Hope this helps,


Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have seen several blogs and forum entries elsewhere state that because NTFS volumes do not support linux ownership or permissions, they cannot be used for anonymous ftp upload through the vsftpd program.   IT can be done and here's how to get i…
Note: for this to work properly you need to use a Cross-Over network cable. 1. Connect both servers S1 and S2 on the second network slots respectively. Note that you can use the 1st slots but usually these would be occupied by the Service Provide…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…

604 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question