Xref: utzoo comp.protocols.tcp-ip:6674 comp.dcom.lans:2634 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!bionet!ames!killer!texbell!bellcore!jupiter!karn From: karn@jupiter (Phil R. Karn) Newsgroups: comp.protocols.tcp-ip,comp.dcom.lans Subject: Re: Super Cheap IP router (< $1000) Message-ID: <15134@bellcore.bellcore.com> Date: 4 Apr 89 22:35:51 GMT References: <583@accuvax.nwu.edu.NWU.EDU> <1989Apr4.000727.2759@utzoo.uucp> <25098@amdcad.AMD.COM> Sender: news@bellcore.bellcore.com Reply-To: karn@jupiter.bellcore.com (Phil R. Karn) Organization: Bell Communications Research, Inc Lines: 35 >Well, for one thing, Phil's code associates an IP address with the *host*, >not with each interface. (See? KA9Q isn't *perfect*... yet.) I consider that a feature, not a bug. :-) Seriously, I have always considered the Internet approach of giving addresses to interfaces rather than to hosts to have been a bad move, and my approach of "one IP address per customer" was a deliberate design decision based on how I wanted the amateur packet radio TCP/IP network to evolve. Nevertheless, you can still make my code emulate a conventional Ethernet router with two distinct addresses by merely enabling proxy ARP. You assign the router running KA9Q an address on each network. One of these addresses becomes the host address for the system; the other is entered into the ARP table with the "publish" subcommand such that it answers ARP requests for that address with the Ethernet address of the appropriate interface. For example, consider a system with two Ethernet interfaces and two IP addresses as follows: Interface A: Ethernet addr 02:60:8c:0:0:1 IP addr 1.2.3.4 Interface B: Ethernet addr 02:60:8c:0:0:2 IP addr 44.0.0.1 The autoexec.net file would contain, among other things, the following two lines: ip address [1.2.3.4] arp publish [44.0.0.1] ethernet 02:60:8c:0:0:2 This will make the system behave just as it should for purposes of routing packets. The only precaution you have to make is to use the router's "primary" IP address whenever you want to talk directly to it as a host. Of course, it is then operating as a host, not a router... Phil