djh@cci632.UUCP (Daniel J. Hazekamp) (06/15/89)
First, the scenario: We have 2 local ethernets with different Class C internet addresses connected via a gateway host. A single host on Net A, has some leased line connections to additional offsite ethernets. All hosts are running 4.2 BSD Networking software. Net B ---------------------------------------------------- | ----------- | local | | gateway | | host | ----------- | ---------------------------------------------------- Net A | ----------- | remote | | gateway | | host | ----------- leased lines to offsite Nets ----> | | I've replaced the 'local gateway host' with an ethernet bridge. Net B ---------------------------------------------------- | ----------- | ethernet| | bridge | ----------- | ---------------------------------------------------- Net A | ----------- | remote | | gateway | | host | ----------- leased lines to offsite Nets ----> | | I then added routing information to allow hosts on Nets A and B to talk to each other through the bridge. On Net B hosts: /etc/route add NetA NetB 0 On Net A hosts: /etc/route add NetB NetA 0 At this point, telnet, ftp, rlogin, etc all work between hosts on Nets A and B. The problem is that I can't get to any hosts on the offsite networks from Net B hosts. Under the original setup, I assigned the 'default' route to the 'remote' gateway host as follows: /etc/route add default rgateway 1 With the new setup, this fails on all the Net B hosts, even though I have a valid route to Net A. The error message returned is 'Network Unreachable'. This is clearly bogus, since I can rlogin, ftp, etc to all the Net A hosts. Any help would be appreciated. Note: I realize that one solution is to modify the setup such that Nets A and B are simply 2 segments with the same Class C net address. We'd like to avoid this if at all possible. Dan Hazekamp Computer Consoles Inc. Rochester, NY UUCP: rochester!cci632!djh Internet: cci632!djh@cs.rochester.edu -- Dan Hazekamp rochester!cci632!djh Computer Consoles Inc. (CCI) uunet!ccicpg!cci632!djh Rochester, NY uunet!rlgvax!cci632!djh
dupont@inria.inria.fr (Francis Dupont) (07/23/89)
I apologize for the long include, but it is necessary to explain the problem before ... In article <29219@cci632.UUCP>, djh@cci632.UUCP (Daniel J. Hazekamp) writes: > First, the scenario: > > We have 2 local ethernets with different Class C internet addresses > connected via a gateway host. A single host on Net A, has some leased line > connections to additional offsite ethernets. All hosts are running 4.2 BSD > Networking software. Net B ---------------------------------------------------- | ----------- | local | | gateway | | host | ----------- | ---------------------------------------------------- Net A | ----------- | remote | | gateway | | host | ----------- leased lines to offsite Nets ----> | | > I've replaced the 'local gateway host' with an ethernet bridge. Net B ---------------------------------------------------- | ----------- | ethernet| | bridge | ----------- | ---------------------------------------------------- Net A | ----------- | remote | | gateway | | host | ----------- leased lines to offsite Nets ----> | | > I then added routing information to allow hosts on Nets A and B to talk to > each other through the bridge. > > On Net B hosts: > /etc/route add NetA NetB 0 > > On Net A hosts: > /etc/route add NetB NetA 0 > > At this point, telnet, ftp, etc all work between hosts on Nets A and B. > > The problem is that I can't get to any hosts on the offsite networks > from Net B hosts. Under the original setup, I assigned the 'default' > route to the 'remote' gateway host as follows: > > /etc/route add default rgateway 1 > > With the new setup, this fails on all the Net B hosts, even though > I have a valid route to Net A. The error message returned is > 'Network Unreachable'. This is clearly bogus, since I can rlogin, > ftp, etc to all the Net A hosts. The solution is not in manuals, but is rather simple : you give a fake internet address in NetB to rgateway, put the route via this address and publish an ARP entry with the Ethernet address of rgateway and its IP address in NetB. /etc/route add default rgateway-B 1 /etc/arp -s rgateway-B rgateway-ether pub The last command is not in regular BSD 4.2 networking, but you need only one machine with this capability. It works because the network software need only the ethernet address of next hop when the route is a route through a gateway (its metric is > 0). But all the gateways must have 'interface' routes (with metric 0) from the local host to them, if not you get an 'Network Unreachable' error when you try to add a route through such a gateway. Francis.Dupont@inria.fr