wanpipe/doc/README.ethernet_bridge

327 lines
10 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Ethernet Bridging over WANPIPE Frame Relay
Author: Nenad Corbic
November 20, 2000
Introduction
------------
Ethernet bridging over WANs all ows the Wide Area
Network to operate as an exact analog of an ordinary Ethernet
LAN. Traffic is not limited to IP, but any network protocol
supported by Ethernet can be run transparently over a bridged
WAN. These include IPX/SPX, AppleTalk and VINES. DHCP services
can be used for IP management.
Bridging has particular application over one-to-many networks
such as Frame Relay. ADSL networks often use a Frame Relay
connection from the DSLAM to an ISP, with each DLCI supporting
traffic from one DSL line. A Linux machine running bridged
Ethernet over Frame Relay can provide a very attractive
concentrator for such a system at the ISP end.
This implementation is based on work done by Mark Wells
<mark@pc-intouch.com>, who did much of the original work
on bridging for WANPIPE.
Bridging over Frame Relay
-------------------------
The Linux kernel contains the Ethernet bridging module
that will be used to bridge the Frame Relay link to the Ethernet
network. However, the Linux Bridge only supports Ethernet
network interfaces, not Frame Relay: bridging is based on
Ethernet MAC addresses.
To interface WANPIPE Frame Relay network interfaces to the
kernel bridge, it first must be reconfigured as an Ethernet
network interface that will convert the Frame Relay header
into the Ethernet header during data transmission. Thus,
from the kernel point of view, WANPIPE Frame Relay links
would behave like standard Ethernet connections.
Since the bridge works with MAC addresses, layer two of the
OSI model, not IP, all interfaces that are directly connected
to the bridge must not be configured for IP. This step has
been automated using the wancfg configuration utility, by
selecting the BRIDGE option in network interface setup.
Thus, the Frame Relay network interface, configured for
bridging would look as following, in the wanpipe#.conf
configuration file.
Ex: [interfaces]
wp1_fr16 = wanpipe1, 16, BRIDGE, comment
On the remote side of the Frame Relay link, WANPIPE network
interfaces should be configured as BRIDGE_NODE(s).
Since these interfaces will not be directly connected
to the kernel bridge, they must be configured with IP
addresses. The wancfg configuration utility will require
the user to input IP addresses for each BRIDGE_NODE.
Note: if a DHCP server is used, set the BRIDGE_NODE IP
address to a arbitrary value, since a DHCP client will
override it when the interface activates.
Configuring WANPIPE for bridging
--------------------------------
To make the WANPIPE Frame Relay bridging easier
to configure and install, WANPIPE configuration utility
wancfg, and the wanrouter startup script will setup the
virtual Ethernet interfaces according to the following
options:
* If the WANPIPE network interfaces reside in the
server where the kernel bridge is going to be implemented,
then such interfaces should be configured as a BRIDGE.
In this case, WANPIPE virtual Ethernet interface will
be configured without IP information. Once the interface
is started, the user must add the virtual interface
(wp1fr16e) to the kernel bridge using the bridge
configuration utility. Example of a BRIDGE interface
is wpfr16e, in diagram below.
* If the WANPIPE network interface is located at the
remote end of the bridge, meaning that the other side
of the link is connected to a bridge, such interfaces
should be configured as a BRIDGE_NODE.
In this case, WANPIPE virtual Ethernet interface will
be configured with IP information. Example of such
interface is wp1fr16e, on diagram below.
The BRIDGE Network Interface
----------------------------
The WANPIPE virtual Ethernet network interfaces configured
for BRIDGE operation mode are interfaces that directly connect to
the Linux kernel bridge. Example of such interface is wpfr16e,
in diagram above.
The WANPIPE configuration utility, wancfg, will setup the
wanpipe#.conf configuration file for bridging. During startup,
the wanrouter startup stcript will load the appropriate kernel
modules and configure the virtual Ethernet network interfaces
without IP information.
The BRIDGE NODE Network Interface
---------------------------------
The WANPIPE virtual Ethernet network interfaces configured as
BRIDGE NODES are interfaces that are remotely connected to the
Linux kernel bridge. Example of such interface is wp1fr16, in
diagram above.
The WANPIPE configuration utility, wancfg, will setup the
wanpipe#.conf configuration file for bridging. During startup,
the wanrouter startup script will load the appropriate kernel
modules and configure the virtual Ethernet network interfaces
with IP information.
Since the bridge is on the remote end, no further
configuration is needed. Assuming that the remote side has
been successfully configured, the Remote Host would be able
to ping the LAN.
Example WANPIPE Bridge Configuration
-------------------------------------
In this example we'll assume configuration as in diagram
above. The configuration will be split into three parts:
* Configuring the WANPIPE on the bridge,
* Linux Kernel Bridge
* WANPIPE remotely connected to the bridge.
This example assumes that WANPIPE drivers and utilities were
installed properly on each system.
Setting up Linux for Wanpipe and Bridging
-----------------------------------------
* For WANPIPE installation instructions please
refer to the WanpipeForLinux.pdf document.
* The WANPIPE setup utility will patch the new
kernel with the latest WANPIPE drivers that
include the WANPIPE bridging support.
However, before recompiling the kernel, the
Linux kernel must also be update with the latest
bridging code.
* The latest bridging patches and utilities can be
downloaded from http://projects.openrock.net/bridge/.
* The bridge patch should be applied to the kernel
using the patch command
- copy the patch into the linux source
directory /usr/src/linux
- patch the kernel : patch -p1 < patch_name.diff
* Once both the WANPIPE drivers and the kernel
bridge have been updated proceed with WanpipdForLinux.pdf
instructions on how to recompile the kernel.
WANPIPE on the bridge server
----------------------------
* Create the WANPIPE configuration file using the
/usr/sbin/wacfg utility. The wancfg
utility contains all the help files necessary to
lead you through the protocol and hardware configuration.
However, for each Frame Relay interface setup, the
operation mode must be set to BRIDGE. Note: There will
be no option for IP setup.
* Once the configuration file (wanpipe1.conf) is complete,
start the WANPIPE device using the wanrouter start command.
This command will load all necessary WANPIPE modules and
setup all network interfaces. In this case all WANPIPE
interfaces are configured without IP information.
wanrouter start
* Run ifconfig and confirm the encapsulation type of each
Frame relay link configured.
Ifconfig
* Using the ifconfig command, set the eth0 IP address
to 0.0.0.0 if not already done so.
ifconfig eth 0.0.0.0
Linux Kernel Bridge
-------------------
The Linux kernel bridge must be compiled, usually as a
module, in the kernel. The bridging option can be selected from
the Networking Option menu of the kernel configurator.
* Assuming the bridge support has been compiled as
modules, proceed to load the kernel bridge as follows:
modprobe -v bridge
Note: If the bridge has been compiled directly into the kernel,
this step is not necessary. However, if the module load
fails, then the kernel has not been configured properly,
please refer to the http://projects.openrock.net/bridge/
for more information or check the kernel compilation.
* Use the brctrl utility to create a bridge and add network interfaces to it.
(http://bridge.sourceforge.net/download.html)
Ex:
Create the Bridge called "br0"
brctl addbr br0
Add an interface into the bridge "br0"
brctl addif br0 eth0
brctl addif br0 wpfr16e
brctl addif br0 wpfr17e
brctl addif br0 wpfr18e
* Once all interfaces are added, make sure that eth0
interface is not setup with IP addresses. If so, zero the
eth0 IP addresses.
ifconfig eth0 0.0.0.0
* To add IP support to the bridge server, configure the
bridge network interface br0 with appropriate IP addresses.
ifconfig br0 192.168.1.1 netmask 255.255.255.0 up
Since we cannot configure IP addresses to any network
interfaces that are directly connected to the bridge,
currently there is no way of accessing the bridge
server itself using IP. Therefore, an IP address must
be defined for the bridge itself. The kernel bridge
has a special network interface that can be configured
with IP. This network interface has the same name as
the bridge; In the case above the interface name would
be br0. Using the ifconfig() command an IP address must
be manually applied to the bride network interface.
WANPIPE Bridge Node
-------------------
* Create the WANPIPE configuration file using the
/usr/sbin/wacfg utility. The wancfg utility
contains all the help files necessary to lead you through
the protocol and hardware configuration. However, for each
Frame Relay interface setup, the operation mode must be
set to BRIDGE_NODE and IP information must be setup.
Note: When setting IP information, make sure that the
IP network address is the same as the LAN network
address. Bridge cannot connect two different networks.
* Once the configuration file (wanpipe1.conf) is complete,
start the WANPIPE device using the wanrouter start command.
This command will load all necessary WANPIPE modules and
setup all network interfaces. In this case all WANPIPE
interfaces are configured without IP information.
wanrouter start
Note: if a DHCP server is used, set the BRIDGE_NODE IP
address to a arbitrary value, since a DHCP client
will override it when the interface activates.
Assuming that the other end has been configured,
one should be able to ping the remote LAN.