Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have 2 PCs (anuin and hed), both running Linux that are connected via ethernet (192.168.1.1 and 192.168.1.3).

Both PCs can ping each other.

anuin is connected to the internet via an USB-stick (device ppp0).

What I want is hed to access the internet via anuin.

That should be very easy but it seems I am being very stupid...

Here is my routing table on hed:

hed>sudo route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         anuin           0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

hed>ping anuin
PING anuin (192.168.1.1) 56(84) bytes of data.
64 bytes from anuin (192.168.1.1): icmp_req=1 ttl=64 time=0.218 ms
64 bytes from anuin (192.168.1.1): icmp_req=2 ttl=64 time=0.191 ms
^C

On anuin I have flushed all iptables-rules and just added a masquerading rule:

anuin> sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

anuin>  cat /proc/sys/net/ipv4/ip_forward
1

anuin> sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

Unfortunately it does not work when I try:

hed> ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 8.8.8.8 icmp_seq=1 Destination Host Unreachable
From 8.8.8.8 icmp_seq=2 Destination Host Unreachable
From 8.8.8.8 icmp_seq=3 Destination Host Unreachable
^C

hed> traceroute anuin
traceroute to anuin (192.168.1.1), 30 hops max, 60 byte packets
 1  anuin (192.168.1.1)  0.203 ms  0.119 ms  0.450 ms

hed> traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  8.8.8.8 (8.8.8.8)  3003.607 ms !H  3003.600 ms !H  3003.592 ms !H

This is what I don't get: Even when the masquerading does not work - should I not at least see the one hop to the default gateway (anuin).

Can someone help me here?

share|improve this question

1 Answer 1

What does ip route get 8.8.8.8 say? If it's the wrong answer, there might be old forwading information cached from prior connection attempts. ip route flush cache should be the remedy in that case.

share|improve this answer

Your Answer

 
discard

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.