Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Apr 2001 00:33:15 -0700
From:      "Ted Mittelstaedt" <tedm@toybox.placo.com>
To:        "Bill Desjardins" <bill@carracing.com>, <freebsd-questions@FreeBSD.ORG>
Subject:   RE: FreeBSD as a hi-perf router
Message-ID:  <00cb01c0cafe$7e1ce260$1401a8c0@tedm.placo.com>
In-Reply-To: <Pine.BSF.4.21.0104220242160.66477-100000@mail.carracing.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I run a full BGP table on a FreeBSD system and have used
FreeBSD extensively for routing.

You DON'T want to do what you think you want to do. :-)

Here is what you DO want to do:


 uplink/uplinks from providers
        |
        |
------------------------------
|  FreeBSD system            |
|                            |
|  nic1   nic2    nic3       |
------------------------------
    |      |       |
    |      |       |
------------------------------------------------
|  Big, fat 100BaseT switch                    |
|                                              |
| cust1  cust2  cust3  cust4  cust5  cust6 ... |
-------------------------------------------------
   |       |     |        |     |      |
   |       |     |        |     |      |


Hopefully, you can see what's going on here with the ASCII
art.  Let's say, for example, that your default allocation
to customers is a /29.  A possible example might be:

FreeBSD System

  nic1
    cust1 subnet 192.168.1.0/29
    cust2 subnet 192.168.1.8/29
    cust3 subnet 192.168.1.16/29
  nic2
    cust4 subnet  192.168.1.24/19
    cust5 subnet  192.168.1.32/29
  ....

Now, you don't need to use nic1, nic2, nic3 on the FreeBSD system,
this is purely dependent on what the average bandwidth you are feeding,
you might want to just use a single nic to the switch. Since you
are saying 40-60Mbts total, then a single 100BaseT nic in the FreeBSD
system should do the trick.

But, the point is that you want all the customers coming into the
switch, and you want to alias multiple subnets on the ethernet
interface/interfaces from the FreeBSD system.

Your thinking 1 physical interface on the FreeBSD system per subnet,
(because obviously you have 1 subnet per customer)  You need to unlearn
and start thinking of multiple virtual interfaces on each physical
interface.  Let the switch provide the multiple physical interfaces,
that is what it's designed for.  If you get a good switch you can even
program MAC filters in it that will block traffic from customer port to
customer port, if your afraid one of your customers is going to be a
smartass
and run a sniffer.

If you start thinking of how you might setup redundancy
you will see how quickly that stacking large numbers of physical
interfaces in the FreeBSD system is going to make a spare router
(in my opinion, a necessity in this setup) very expensive to implement.

Ted Mittelstaedt                      tedm@toybox.placo.com
Author of:          The FreeBSD Corporate Networker's Guide
Book website:         http://www.freebsd-corp-net-guide.com


>-----Original Message-----
>From: owner-freebsd-questions@FreeBSD.ORG
>[mailto:owner-freebsd-questions@FreeBSD.ORG]On Behalf Of Bill Desjardins
>Sent: Saturday, April 21, 2001 11:53 PM
>To: freebsd-questions@FreeBSD.ORG
>Subject: FreeBSD as a hi-perf router
>
>
>Hello,
>
>I am looking to setup a FreeBSD based router running a bunch of
>4 port 100Mbit cards. The machine I have slated for this is a Compaq 2500
>running dual Pentium Pro's (200Mhz/512k). I am planning to use this as a
>co-lo router running dummynet for customers on their own network
>segments. My question is...is anyone using FreeBSD under these conditions
>and what type of performance may I expect out of it? I eventually
>plan to get another 100Mbit from another provider and run BGP4 via
>GateD. Is this reasonably feasable? I expect bandwidth to easily exceed
>40Mbit up to 60Mbit possibly. By then I hope to have saved enough for a
>large cisco, but until then I am very cost limited
>
>As for reliability, the compaq has a raid which I plan to run raid 0/1 for
>the best reliability. I have also thought about using pico BSD, but havent
>researched it enough to see if it is feasable.
>
>Suggestions,Comments tips & pointers, greatly appreciated.
>
>regards,
>
>Bill
>
>--
>Bill Desjardins - bill@carracing.com - (USA) 305.205.8644
>Unix/Network Consulting - perl/mod_perl/SQL development
>http://www.CarRacing.com - Powered by FreeBSD/mod_perl
>
>
>To Unsubscribe: send mail to majordomo@FreeBSD.org
>with "unsubscribe freebsd-questions" in the body of the message
>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00cb01c0cafe$7e1ce260$1401a8c0>