newbie trouble with ip route

From: Markus Haberstock (mhaberstock_at_uhab.de)
Date: 04/28/04


Date: Wed, 28 Apr 2004 07:42:30 GMT

I upgraded from earlier versions to iproute2 and now have trouble to get the
old configuration running.

1. What I want to do:

                                                                 ________
                                          +------------+ / \
                                          | | / \
                            +-------------+ Provider 1 +------< Internet >
        __ | | | \ /
    ___/ \_ +------+-------+ +------------+ \________/
  _/ \__ | if1 (ppp0) |
 / \ | |
| Local network -----+ Linux router |
 \_ __/ | |
   \__ __/ | if2 (ippp1) | ________
      \___/ +------+-------+ +------------+ / \
                            | | | / \
                            +-------------+ Provider 2 +------< Remote LAN >
                                          | | \ /
                                          +------------+ \________/

I think the graphic should be quite self-explanatory. Looks simple, doesn't
it ? The router should act as a default gateway to the internet. In addition
it should dial
up to a different local network, if packets are sent to ip-Addresses in
subnet
10.100.29.0/24.

2. What's the problem ?

the gateway to the internet works fine, but the router refuses to route
packet via the
ippp1 interface to the remote LAN.
However there is no general inability to do so - it only refuses to forward
the packets, if the requests come from the local network.
What does this mean ?
- if I start traceroute on the Linux router, it dials up to the remote LAN
and works
just fine:
router:# traceroute 10.100.29.50
traceroute to 10.100.29.50 (10.100.29.50), 30 hops max, 40 byte packets
 1 10.100.29.21 40.177 ms 48.089 ms 55.143 ms
 2 10.100.29.50 63.650 ms 71.155 ms 78.047 ms

- but if I try the same thing on any of my clients in the local network, the
packets
are not forwarded:
client: # traceroute 10.100.29.50
traceroute to 10.100.29.50 (10.100.29.50), 30 hops max, 40 byte packets
 1 router (192.168.12.3) 0.248 ms 0.264 ms 0.264 ms
 2 * * *
 3 * * *
 4 * * *
 5 * * *
 6 * * *
 7 * * *

3. So far so good, no problem can be examined without a little configuration
background. So here it is:

router:# cat /proc/version
Linux version 2.4.21-99-default (root@i386.suse.de) (gcc version 3.3.1 (SuSE
Linux)) #1 Wed Sep 24 13:30:51 UTC 2003

router:# ip -V
ip utility, iproute2-ss020116
router:# ip address show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet6 ::1/128 scope host
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:10:4b:4e:9a:cf brd ff:ff:ff:ff:ff:ff
    inet 10.200.200.99/24 brd 10.200.200.255 scope global eth0
    inet6 fe80::210:4bff:fe4e:9acf/64 scope link
4: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:04:76:f4:5f:bb brd ff:ff:ff:ff:ff:ff
    inet 192.168.12.3/24 brd 192.168.12.255 scope global eth1
    inet6 fe80::204:76ff:fef4:5fbb/64 scope link
17: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 3
    link/ppp
    inet 217.236.135.185 peer 217.5.98.183/32 scope global ppp0
20: ippp1: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 30
    link/ppp
    inet 192.168.10.11 peer 10.100.29.21/32 scope global ippp1

router:# ip route ls
10.100.29.21 dev ippp1 proto kernel scope link src 192.168.10.11
217.5.98.183 dev ppp0 proto kernel scope link src 217.236.128.42
10.100.29.0/24 via 10.100.29.21 dev ippp1
10.200.200.0/24 dev eth0 proto kernel scope link src 10.200.200.99
192.168.12.0/24 dev eth1 proto kernel scope link src 192.168.12.3
default via 217.5.98.183 dev ppp0



Relevant Pages