ok - this should not be too hard to do. You are almost there anyway
for the internal configuration, you need to do the following things:
1.) add a Route from A to B via C. This has to happen on A's default gateway (or you modify every client on the Network A). the Route you need to add is:
this command will work for linux boxes, and it must be run on the A's default gateway (as i said before). What you do here is tell the default gateway to NOT send pakets for the 215.x.x.x network to the internet, but send them to C instead.
sudo route add -net 18.104.22.168 netmask 255.255.255.0 gw 22.214.171.124
The same things need to be done on B's default gateway, but reverse:
Now your network has the knowledge of where to find the other part.
sudo route add -net 126.96.36.199 netmask 255.255.255.0 gw 188.8.131.52
2.) enable ip_forwarding on Computer C.
In order for C to interface between the two, you must allow ip packets to pass through the computer. You can enable ip_forwarding with this command
Unfortunately, this is los upon reboot. To make this permanent, edit the /etc/sysctl.conf and remove the # from the line marked as port_forwarding.
sudo sysctl -w net.ipv4.ip_forward=1
3.) filters on computer C
After port forwarding is enabled, you also need to make sure that C does not block anything. For that to check, i will need some more input from you. Run these commands, which will print out your iptables configuration:
if they are empty and the default policies are on ACCEPT, then everything is fine since all packets can pass
sudo iptables -L -vnx
sudo iptables -L -vnx --table nat
i think that is about all that needs to be done (for now) to make this work. The routing table of C looks fine, as it does not network A (eth0) to connect to the internet.
Just one more question - why do you use internet ip-ranges for your internal network ? were they specificially assigned to you, or did you just guess them ?
If you just guessed them, then i would suggest you change them, as they will overwrite a (small) part of the internet. You may never notice, but if you do it will be a real bitch to debug this.
The ranged 10.0.0.0/8 and 192.168.0.0/16 are reserved for internal networks. I'd suggest you move your networks there.
Hope it helps