Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There's a server (node A), acting as the end point of a GRE tunnel. Also there is an Ubuntu server (node B, it sees Internet) acting as the termination point for the GRE tunnel. Some devices (nodes C1,2,3..) are connected to the server A and they see the server B, but not the rest of the internet, even DNS lookup doesn't work.

What do I have to configure on the server B to forward/route the traffic from and to devices C to the Internet. Ideally I'd also like to allow access to some addresses only. The question doesn't concern so much the topology, that bit seems pretty straight forward; the thing is that I'm just sort of lost in the tools like iptables/squid/route/etc, techniques like forwarding/routing/bridgin/etc and abbreviations OMG/why/are/there/so/many/abbreviations!

EDIT Server network configuration:

  • Server A has an external IP 94.x.x.x (I really don't know anything else about it)
  • A and B are connected through a GRE tunnel
  • Server B has two network devices:
    • eth0 with address 72.y.y.y (this is the Internet interface)
    • tun0 with address (this is the GRE tunnel interface)
  • Terminals C# have IP's in the range

So the question is to forward the traffic from the subnet to the Internet and vice versa (if the original IP of the request didn't change it would be perfect).

share|improve this question
Without all the actual config parameters of the servers in question, it's unlikely that anyone's going to be able to give you an answer that you'll actually understand. – womble Jul 31 '11 at 18:39
it's good to start somewhere, what info do you think is important mentioning? – Elijah Saounkine Jul 31 '11 at 19:00
The config parameters of the servers in question. – womble Jul 31 '11 at 20:35
I added some configuration specs in hope it will help at all.. – Elijah Saounkine Aug 1 '11 at 9:24
up vote 2 down vote accepted

I hate it that I didn't get to the bottom of the problem, but really, it's impossible to learn all those abbreviations/protocols/prototypes in two days.

Anyway, the set up seemed to work just by sharing the Internet connection (MASQUERADE) on the eth0 interface, i.e. adding the following rule to the iptables

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.