Date: Wed, 10 May 1995 10:30:45 -0400 (EDT) From: "Michael C. Newell" <mnewell@lupine.nsi.nasa.gov> To: questions@FreeBSD.org Cc: Chris Shenton <cshenton@wirehead.hq.nasa.gov> Subject: PPP routing question Message-ID: <Pine.SUN.3.91.950510093327.6077C-100000@lupine.nsi.nasa.gov>
next in thread | raw e-mail | index | archive | help
[I appologize for this rather long message, but I've been beating my head
against the wall for some time on this problem and felt that avoid
suggestions that duplicate what I've already done I would list out each
step I took. :{)]
Hi -
I'm trying to configure PPP to correctly route a couple of subnets
through a FreeBSD box. Basically the network looks something like this:
+------+------+ 198.116.75.32 +------+------+ 198.116.75.0
| |
+----le0----+ +----ed0----+
| Box A | | Box B |
+----ppp----+ +----ppp----+
| |
= =
| |
+-----------+ +----------------+
| |
+---pppa--pppb--+
| Router A |
+------ed0------+
|
+-----+--------+---------------+ 198.116.2
|
+----+-----+
| Router B |
+-------+--+
|
|
V
Basically what I have is two boxes, Box A (SunOS 4.1.3) and Box B
(FreeBSD 1.1.5.1) connected to Router A (FreeBSD 2.0 -current supped
5/9/95) which is connected to an Ethernet which connects to Router B
(Proteon DNX) which connects to the Internet. There are two Class C
network numbers in use: 198.116.2 is the office network, and I also have
198.116.75 available for the remote nets. What we're doing is subnetting
the 198.116.75 network and using it for the remote networks so that we
don't have to mess with the main office network.
Initially I configured this as I would if I was using dedicated routers:
Address Netmask Peer
Box A le0 198.116.75.33 0xfffffff0 n/a
Box A ppp 198.116.75.50 0xfffffff0 198.116.75.49
Box B ed0 198.116.75.1 0xfffffff0 n/a
Box B ppp 198.116.75.18 0xfffffff0 198.116.75.17
Router A pppa 198.116.75.49 0xfffffff0 198.116.75.50
Router A pppb 198.116.75.17 0xfffffff0 198.116.75.18
Router A ed0 198.116.2.4 0xffffff00 n/a
Router B enet 198.116.2.1 0xffffff00
That is, I subnetted the 198.116.75 network using the upper four bits for
the network number and the lower four bits for the node number. I
allocated one network number for each Box A Ether, Box A ppp, Box B
Ether, and Box B ppp. I realize PPP links can share addresses with the
Ethernets, but in this case I chose to give them their own so that I
could get SNMP statistics on each interface individually. Also
technically RIP routing doesn't allow you to split members of a subnet
across another net, so I wanted all the PPP interfaces in the 198.116.75
network block.
(I had a similar situation earlier with a Sun workstation (SunOS 4.1.3)
acting as Router A using SLIP encapsulation with only Box B present.
That worked fine, but I wanted to allow other nets to exist, I wanted to
switch to PPP, and the Sun serial ports max out at 38.4Kbs which is Not
Good.)
The Router B box is listening for announced routes to the 198.116.75
network; that's how it knows where that net is (that is, the only net
"hard coded" in the box is 198.116.2 to which it is directly connected.)
In order to get the routes announced out, I fired up "routed -s -g" on
all the boxes and expected networks in the 198.116.75 group would thus be
announced.
What actually happens is Router A *ONLY* announces HOST routes for the
198.116.75.{17,18,49,50} hosts. It doesn't announce any of the 198.116.75
networks. Since Router B only listens to network routes (it wants a
route to 198.116.75.0) I can get to all the hosts on the 198.116.2.0 net
but not beyond. None of the hosts on the 198.116.75.0 net (Box B's
Ethernet) can get to anything outside that net.
To simplify things the person running Box A disconnected and has not
reconnected, so essentially I was able to concentrate on getting things
working for Box B only. So far, things I've tried:
a Add the 198.116.75.0 network to the /etc/gateways file with subnet
mask 255.255.255.240 marked "active". No effect.
b Add a static route in Router A's tables for the 198.116.75 network.
No effect.
c Switch from routed to gated (running RIP). No effect.
d Add a static clause to the gated configuration. No effect.
e Change the subnet mask on Box B's PPP link (both ends) to 255.255.0.255.
That gets a route announced for Box B but does not generate the correct
routing tables within Router A so all 198.116.75 networks end up going
to Box B instead of being split between Box B and Box A.
f Change the point-to-point link between Box B and Router A addressing
to Box B ppp = (198.116.75.1->198.116.2.4 0xfffffff0) and
Router A ppp = (198.116.2.4->198.116.75.1 0xfffffff0). No effect.
When I try to ping 198.116.2.1 (Router B) the RD and TD lights go on
almost solidly on the modem and no responses are seen.
g Change the above to Box B ppp = (198.116.2.80->198.116.2.4 0xffffff00)
and Router A ppp = (198.116.2.4->198.116.2.80 0xffffff00) and add a
proxy ARP for 198.116.2.80 to Router A. Box B now can reach the world,
but nothing behind it (i.e. the 198.116.75 net) can.
I continually monitored the .2 network using tcpdump looking for route
information packets during all of these tests. The *only* time a route
for the 198.116.75 network was announced was case "e", which allowed
nodes on the 198.116.75.0 subnet to be reached but didn't allow nodes on
the 198.116.75.32 subnet access. In cases where Router A had a specific
PPP interface with an address in the 198.116.75.* range a route for that
particular host (not net) WAS generated (these routes appeared in the
tables on the other hosts connected to 198.116.2 that run routed.)
At the moment the configuration for Router A is:
mnewell@sisyphus: netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 198.116.2.1 UGSc 1 220 ed0
127 127.0.0.1 URc 0 0 lo0
127.0.0.1 127.0.0.1 UH 0 2 lo0
198.116.2 link#1 UC 0 0
198.116.2.1 0:0:93:48:8:f4 UHLW 1 222 ed0 483
198.116.2.4 0:0:c0:65:98:70 UHLW 1 8 lo0
198.116.2.100 8:0:20:1b:c1:29 UHLW 1 141 ed0 1177
198.116.2.108 8:0:20:19:cc:3d UHLW 0 5 ed0 1177
198.116.75 198.116.75.17 UGc 0 0 ppp0
198.116.75.17 198.116.2.4 UH 2 728 ppp0
224 link#1 UCS 0 0
224.0.0.9 127.0.0.1 UH 0 1 lo0
mnewell@sisyphus: ifconfig -a
ed0:
flags=8963<UP,BROADCAST,NOTRAILERS,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 198.116.2.4 netmask 0xffffff00 broadcast 198.116.2.255
ether 00:00:c0:65:98:70
lp0: flags=810<POINTOPOINT,SIMPLEX> mtu 1500
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=51<UP,POINTOPOINT,RUNNING> mtu 1500
inet 198.116.2.4 --> 198.116.75.17 netmask 0xfffffff0
ppp1: flags=10<POINTOPOINT> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
tun0: flags=10<POINTOPOINT> mtu 1500
tun1: flags=10<POINTOPOINT> mtu 1500
mnewell@sisyphus:
Note that there IS a route 198.116.75 in the routing table, and it IS out
interface ppp0; however even though gated is running this route is not
being announced to the 198.116.2 network by Router A.
Can someone out there who is (hopefully) running a similar configuration
share how they got it to work??? :{)
Thanks,
Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SUN.3.91.950510093327.6077C-100000>
