Setting Up Multilink PPP on el6

From Alteeve Wiki
Revision as of 04:42, 24 October 2010 by Digimer (talk | contribs)
Jump to navigation Jump to search

 AN!Wiki :: How To :: Setting Up Multilink PPP on el6

This guide is meant to walk you through setting up a multilink PPP connection under Fedora 13.

Overview

Multilink PPP, MP, but sometimes referred to as MPPP, provides three main benefits.

Load Balancing

When both links are up, MP will bond the two links and provide extra bandwidth. It is important to note that both links will run at the slower speed, times two.

For example; If one link runs at 5.0 Mbps down and 800 Kbps up while the second link runs at 6.0 Mbps down and 512 Kbps up, your bonded speed will be (5.0 + 5.0) 10 Mbps down and (512 + 512) 1.24 Mbps up.

High Availability

The bonded MP can work perfectly well when a given link fails, albeit with a reduced bandwidth.

This paper bonds two DSL accounts, but this is not a requirement. In fact, it's quite common to bond connections from DSL and cable ISPs to improve availability.

Privacy

Let me say up front that MP is no replacement for proper encryption. Further, it does nothing to provide anonymity on the Internet itself.

Now, with that said, the way that MP works makes it much more difficult for people between you and your ISP to see the contents of your traffic. This is particularly useful if you are a customer of an ISP who resells a major carrier's service which uses deep packet inspection (DPI) to detect and throttle certain connection types, like bittorrent. As a side effect, other connection types like SSH are throttled as well. This can pose a serious headache for sysadmins trying to work on servers from throttled connections.

By setting up MP, a sysadmin should be able to protect their traffic's content from the prying eyes of the upstream ISP.

Requirements

There are three sets of requirements in order to make the most of this tutorial; System Administration experience and Hardware.

ISP Support

Your ISP must support MP. Otherwise this simply won't work.

Sysadmin Experience

This assumes a certain level of familiarity with the command line in Linux, specifically bash or similar. It also is assumed that you have a familiarity with networking in general and PPPoE specifically.

Technical Requirements

A computer with three network interfaces (ideally wired) is required. I'm adding a wireless link so that the router can also act as a wireless access point. If you are not concerned with this step, feel free to skip it.

For this article, an Asus Eee PC 1000H netbook will be used. Two Apple USB Ethernet Adapters (part number MB442Z/A) are used to provide the connection to two bridged DSL modems.

Let's Begin

For reference, this paper will use the following interface names for the specified roles.

  • eth0: LAN interface
  • eth1: DSL interface 1
  • eth2: DSL interface 2
  • wlan0: Wireless AP Interface

Network Setup

If you added network devices after install, they may not have correlating /etc/sysconfig/network-scripts/ifcfg-eth# files. Before we begin, we'll want to record what ifconfig reports by piping it's output to a text file for later reference.

ifconfig ~/if.txt

Switching From NetworkManager to network

Assuming that you've done a pretty standard install, we'll have to start by stopping and disabling NetworkManager and starting and enabling network. On normal workstation, NetworkManager is great as it makes the movement between networks very smooth. However, as my boss likes to say; "The more technology does for you, the more it does to you". We want to use network because it doesn't try to sort anything out for you. It does just what it is told and nothing more. Perfect for what will be our server.

These commands will disable NetworkManager and prevent it from starting with the system. Likewise it will start the network daemon and ensure that it starts again on system boot.

chkconfig NetworkManager off
chkconfig network on
/etc/init.d/NetworkManager stop
/etc/init.d/network start

Identifying Your Interfaces

Each network interface on your computer will have a unique MAC address. Before we continue, we need to know the MAC address of each interface. Given how most homes and offices have a router or server providing DHCP, I find that the easiest way to do this is to set all interfaces to DHCP and then plug a single network cable into a given interface. Then simply restart all interfaces and see which one gets an IP address.

Static Network Configuration

For now, we will put aside the wireless access point configuration as it is secondary.

With network set, we now need to create or edit ifcfg-eth# files in the /etc/sysconfig/network-scripts/ directory. Each file will control the configuration of a given physical interface

 

Any questions, feedback, advice, complaints or meanderings are welcome.
Alteeve's Niche! Enterprise Support:
Alteeve Support
Community Support
© Alteeve's Niche! Inc. 1997-2024   Anvil! "Intelligent Availability®" Platform
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.