Configuring an R2T1 for bonded T1
This article details the configuration of a Rhino R2T1 for a bonded T1 using Debian Lenny. In this example, the interface is configured to use ethernet framing, not PPP, on a point-to-point WAN connection with a host 192.168.106.1, set as the default route; this side is configured as 192.168.106.2. Some basic traffic shaping is also used in this example, but not required.
First, you will need to install the linux-headers Debian package. This is needed in order to compile the Zaptel and Rhino drivers from source.
apt-get install linux-headers
Next, you will need to download the Zaptel and Rhino driver sources to /usr/src. This process has only been tested with Zaptel 18.104.22.168, Rhino driver 2.2.6, and running kernel 2.6.20-15-server.
wget http://downloads.asterisk.org/pub/telephony/zaptel/releases/zaptel-22.214.171.124.tar.gz http://dist.rhinoequipment.com/source/2.2.6
The next step is to unpack the sources
tar -xzvf zaptel-126.96.36.199.tar.gz
tar -xjvf rhino-2.2.6.tbz2
You will need to edit Zaptel's
/usr/src/zaptel-188.8.131.52/kernel/zconfig.h file to enable data T1 functions.
CONFIG_ZAPTEL_WATCHDOG #define lines.
Then compile and install:
make && make install
make && make install
Lastly, you must configure Zaptel and networking on your system...
Make sure the requisite kernel modules are loaded in
/etc/init.d/configzaptel if it doesn't exist already to bring up the R2T1 before networking starts
# Run ztcfg so that the hdlc network devices are created on boot
/etc/zaptel.conf must contain the span lines:
And for signaling, set:
iface hdlc0 inet static
pre-up sethdlc hdlc0 hdlc-eth
iface hdlc1 inet static
pre-up sethdlc hdlc1 hdlc-eth
iface bond0 inet static
post-up /sbin/ifenslave -f bond0 hdlc0 hdlc1
post-up tc qdisc add dev bond0 root handle 1: prio priomap 1 2 2 2 1 2 0 0 0 1 1 1 1 1 1 1
You may also want to enable IPv4 packet forwarding. Setting up NAT, firewalls, etc is outside the scope of this article. This will provide simple pass-through forwarding. Edit
/etc/sysctl.conf and add:
Finally, it's time to reboot. You could reload everything by hand, but this tests that everything is setup correctly and the machine can reboot unattended.
This article can fairly easily be expanded to 3 or 4, or maybe even more T1's, as long as the opposite side is configured in a matching style. Simply define the extra spans and additional hdlcX adapters, adding them to the bond0 interface. Alternatively, this can be adopted to a single T1, just move all the bond0 configuration to hdlc0, remove references to bond0, and remove the ifensalve post-up line from
R1T1, R1T1-e, R1T1-ec, R1T1-e-ec, R2T1, R2T1-e, R2T1-ec, R2T1-e-ec, R4T1, R4T1-e, R4T1-ec, R4T1-e-ec
data, t1, bonded, hdlc, ethernet