Bridging mini-HOWTO
Christopher Cole
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
March 2001
| Revision History | ||
|---|---|---|
| Revision 1.22 | 2002-05-20 | Revised by: tab |
| Converted to Docbook 4.1 SGML and added GFDL per Christopher Cole | ||
| Revision 1.21 | 2001-03-07 | Revised by: cc |
This document describes how to setup an ethernet bridge. What is an ethernet bridge? An ethernet bridge is a device that controls data packets within a subnet in an attempt to cut down the amount of traffic. A bridge is usually placed between two separate groups of computers that talk within themselves, but not so much with the computers in the other group. A good example of this is to consider a cluster of Macintoshes and a cluster of unix machines. Both of these groups of machines tend to be quite chatty amongst themselves, and the traffic they produce on the network causes collisions for the other machines who are trying to speak to one another. A bridge would be placed between these groups of computers. The job of the bridge is then to examine the destination of the data packets one at a time and decide whether or not to pass the packets to the other side of the ethernet segment. The result is a faster, quieter network with less collisions.
- Table of Contents
- 1. Setup
- 2. Common Problems
- 3. Copyright
-
- 3.1. GNU Free Documentation License
- 3.2. PREAMBLE
- 3.3. APPLICABILITY AND DEFINITIONS
- 3.4. VERBATIM COPYING
- 3.5. COPYING IN QUANTITY
- 3.6. MODIFICATIONS
- 3.7. COMBINING DOCUMENTS
- 3.8. COLLECTIONS OF DOCUMENTS
- 3.9. AGGREGATION WITH INDEPENDENT WORKS
- 3.10. TRANSLATION
- 3.11. TERMINATION
- 3.12. FUTURE REVISIONS OF THIS LICENSE
- 3.13. How to use this License for your documents
1. Setup
-
Get Bridge Config: BRCFG.tgz
-
BRCFG may also be found at: http://coledd.com/networking/bridge
-
Enable multiple ethernet devices on your machine by adding this line to your /etc/lilo.conf, and re-run lilo:
append = "ether=0,0,eth1"
If you have three interfaces on your bridge, use this line instead:
append = "ether=0,0,eth1 ether=0,0,eth2"
More interfaces can be found by adding more ether statements. By default a stock Linux kernel probes for a single ethercard, and once one is found the probe ceases. The above append statement tells the kernel to keep probing for more ethernet devices after the first one is found. Alternatively, the boot parameter can be used instead:
linux ether=0,0,eth1
Or, with 3 interfaces, use:
linux ether=0,0,eth1 ether=0,0,eth2
-
Recompile the kernel with BRIDGING enabled.
-
A bridge should not have an IP address. It CAN, but a plain bridge doesn't need one. To remove the IP address from your bridge, go to /etc/sysconfig/network-scripts/ (for a RedHat system) and copy ifcfg-lo0 to ifcfg-eth0 & ifcfg-eth1. In these two new files, change the line containing DEVICE=lo to DEVICE=eth0 and DEVICE=eth1. Since other distributions may deviate from this, you may need to refer to additional documentation. If there are more than 2 interfaces to this bridge, be sure to make the corresponding configurations to those, as well.
-
Reboot so you are running the new kernel with BRIDGING in it, and also to make sure that an IP addresses are not bound to the network interfaces.
-
Once the system is backed up, put the ethernet cards into promiscuous mode, so they will look at every packet that passes by its interface:
All interfaces which are connected to network segments to be bridged are to be put into promiscuous mode.ifconfig eth0 promisc ; ifconfig eth1 promisc
-
Turn bridging ON using the brcfg program:
brcfg -ena
-
Verify that there is different traffic on each interface:
tcpdump -i eth0 (in one window) tcpdump -i eth1 (in another window) -
Run a sniffer or tcpdump on another machine to verify the bridge is separating the segment correctly.
2. Common Problems
- Q: I get the message ioctl(SIOCGIFBR) failed: Package not installed . What does this mean?
- Q: Machines on one side cannot ping the other side!
- Q: I cannot telnet/ftp from the bridge! Why?
- Q: What do I need to set up in the way of routing?
- Q: The bridge appears to work, but why doesn't traceroute show the bridge as a part of the path?
- Q: Is it necessary to compile IP_FORWARD into the kernel?
- Q: Why are the physical ethernet addresses for port 1 and port 2 the same according to the brcfg program? Shouldn't they be different?
- Q: Bridging does not appear to be an option when performing a make config on the kernel. How does one enable it?
- Q: Too many hubs (4 or more) are chained one after another in series, cause timing problems on an ethernet. What effect does a bridge have in a subnet that is layered with hubs?
- Q: Can a bridge interface to both 10Mb and 100Mb ethernet segments? Will such a configuration slow down the rest of the traffic on the high speed side?
A:
- Did you enable bridging using brcfg -ena? (brcfg should say bridging is ENABLED)
- Did you put the interfaces into promiscuous mode? (issue the ifconfig command. The PROMISC flag should be on for both interfaces.)
- If using multiple-media interface adapters, make sure that the correct one is enabled. You may need to use the config/setup program that came with the network interface card.
A: Yes, a bridge can tie together a 10Mb segment with a 100Mb segment. As long as the network card on the fast network is 100Mb capable, TCP takes care of the rest. While it's true that the packets from a host in the 100Mb network communicating to a host in the 10Mb network are moving at only 10Mb/s, the rest of the traffic on the fast ethernet is not slowed down.
3. Copyright
Copyright © 2002 Christopher Cole
3.1. GNU Free Documentation License
Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
3.6. MODIFICATIONS
-
Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
-
List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
-
State on the Title page the name of the publisher of the Modified Version, as the publisher.
-
Preserve all the copyright notices of the Document.
-
Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
-
Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
-
Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
-
Include an unaltered copy of this License.
-
Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
-
Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
-
In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
-
Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
-
Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
-
Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
3.12. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
3.13. How to use this License for your documents
Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.






Comments
Subscribe to Comments Feed