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>