`
兄弟连果果
  • 浏览: 22634 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux配置多线路ADSL的方法

阅读更多
Linux配置多线路ADSL的方法

此文档可以说明双ADSL及多ADSL增加线路的配置过程。
Linux配置多线路ADSL的方法
powered by KindGeorge http://kindgeorge.at.3322.org\经过一段时间的观察,证明运行良好,现把设置过程及方法总结一下,欢迎指正.
此文档可以说明双adsl及多adsl增加线路的配置过程.
实验环境:
操作系统: RedHat7.3
两条adsl,长期观察线路稳定,动态ip,带宽2M,
三块网卡: eth0 tulip,接内网
eth1 3c59x,接第一条adsl
eth2 8139too,接第二条adsl
ethn xxxx,(如果还有的话....)
目的:用两条adsl共同上网,分担负载,实现一般的简单负载平衡,带动内网上网.
1.添加网卡
插入网卡,启动机器,如果需要双线路上网,就要三块网卡了,配置网卡也可以参考其他资料.
配置为找到相应的型号模块,例如:eth2是8139的网卡
[root@kindgeorge root]# vi /etc/modules.conf
alias parport_lowlevel parport_pc
alias eth0 tulip
alias eth1 3c59x
alias eth2 8139too
把新的线路插在eth2上
2.配置adsl
方法一:
(1)运行adsl-setup程序,会一步一步的提示你完成配置过程.
创建ppp0和ppp1的拨号配置文件,并保存配置,一般保存在/etc/sysconfig/network-scripts/ifcfg-ppp1
(2)确定/etc/sysconfig/network-scripts/ifcfg-ppp0文件,其中的PIDFILE参数设为:
PIDFILE=/var/run/ppp-adsl.pid
修改/etc/sysconfig/network-scripts/ifcfg-ppp1文件,将其中的PIDFILE参数设为:
PIDFILE=/var/run/ppp-adsl1.pid
如果你有更多的线路,可以继续增加0,1,2,3....等
这是为了使不同的拨好用不同的pid,如果不修改此参数将无法启动第二条线路接口。
(3)配置文件一般是:
USERCTL=no BOOTPROTO=dialup NAME=DSLppp1 DEVICE=ppp1 TYPE=xDSL ONBOOT=yes PIDFILE=/var/run/pppoe-adsl1.pid FIREWALL=NONE PING=. PPPOE_TIMEOUT=20 LCP_FAILURE=3 LCP_INTERVAL=20 CLAMPMSS=1412 CONNECT_POLL=6 CONNECT_TIMEOUT=60 DEFROUTE=yes SYNCHRONOUS=no ETH=eth2 (对应新线路的网卡) PROVIDER=DSLppp1 USER=isp提供的新用户名字2 PEERDNS=no
方法二:
(1)直接拷贝
cp /etc/sysconfig/network-scripts/ifcfg-ppp0 /etc/sysconfig/network-scripts/ifcfg-ppp1
(2)修改其中的ppp0为ppp1,
修改PIDFILE=/var/run/pppoe-adsl.pid 为PIDFILE=/var/run/pppoe-adsl1.pid
修改采用的新接线路的网卡,例如:改ETH=eth1 为ETH=eth2
(3)增加新线路的帐号和密码. 帐号密码一般是保存在/etc/ppp/chap-secrets 和pap-secrets
我们只需要在最后增加新的用户名2和密码2即可.
/etc/ppp/chap-secrets文件一般是这样的:
# Secrets for authentication using CHAP
# client server secret IP addresses
"用户名1" * "密码1"
"用户名2" * "密码2"
"用户名n" * "密码n"
3.启动ppp接口
因为adsl-start 命令缺省只能启动第一的ppp接口。所以要启动两个接口,必须指定配置文件。
可以用:方法一:
ifup ppp0
ifup ppp1
(ifup pppn...)
或方法二:
adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp0
adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp1
(adsl-start /etc/sysconfig/network-scripts/ifcfg-pppn)
4.查看新设置是否启动:
方法一:执行: ifconfig
出现ppp0 和ppp1 ,并且均得到ip了.说明成功了,结果象这样:
ppp0 Link encap:Point-to-Point Protocol inet addr:218.114.37.137 P-t-P:61.142.110.30 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:165721 errors:0 dropped:0 overruns:0 frame:0 TX packets:123673 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:157324193 (150.0 Mb) TX bytes:14068892 (13.4 Mb)
ppp1 Link encap:Point-to-Point Protocol inet addr:218.114.35.62 P-t-P:61.142.110.30 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:560055 errors:0 dropped:0 overruns:0 frame:0 TX packets:439711 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:530025378 (505.4 Mb) TX bytes:80895162 (77.1 Mb)
方法二: 执行ip高级命令: ip link ls
也可以检验ppp0和ppp1,结果象这样:
1: lo: mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:50:bf:07:4e:32 brd ff:ff:ff:ff:ff:ff 3: eth1: mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:01:02:9a:31:b9 brd ff:ff:ff:ff:ff:ff 4: eth2: mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:79:44:71 brd ff:ff:ff:ff:ff:ff 268: ppp1: mtu 1492 qdisc pfifo_fast qlen 3 link/ppp 273: ppp0: mtu 1492 qdisc cbq qlen 3 link/ppp
方法三: 用命令测试反应
ping -I ppp0 202.96.134.133 (测试ppp0的线路状况)
ping -I ppp1 202.96.134.133 (测试ppp1的线路状况)
ping -I ppp2 ......n (如果还有多条的话)
5.如果单单是要实现链路负载平衡,让ppp0和ppp1分担负载,那么我们象以下设置一下配置:
(1)启动路由,允许转发echo 1 > /proc/sys/net/ipv4/ip_forward
(2)进行伪装:
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp1 -j MASQUERADE
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o pppn -j MASQUERADE (如果还有多条的话)
(3)修改网关
ip route replace default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
说明: 用replace的原因是当原来没有网关时会增加这个网关,当已经存在网关时,会修改原来的网关.
用add 也可以,但是当已经存在默认网关时就要先delete再add.
两个weight 1的意思是这两条链路的权值是相等的,两条链路承担的网络流量是相等的。
有一点是需要说明的,因为路由表是基于缓存的,所以在实际中两条链路并不能100%的平分流量
nexthop NEXTHOP 设置多路径路由的下一跳地址。NEXTHOP比较复杂,它的语法和以下高层参数类似:
via ADDRESS--表示下一跳路由器;
dev NAME--表示输出设备;
weight NUMBER--在多路由路径中,这个元素的权重。表示相对带宽或者服务质量。
如果你有多条线路,那么继续在其中增加 nexthop dev ppp2(ppp3......)即可
(4) 刷新路由
ip route flush cache
6.即时检查数据的方向
用tcpdump 分别监察两条线路,用下面命令:
tcpdump -i ppp0 tcpdump -i ppp1 tcpdump -i ppp2......n (有多条的话)
7.为了每次启动时自动启动,把命令写在启动脚本里面,在 /etc/rc.local 后面增加:
ifup ppp0 ifup ppp1 echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp1 -j MASQUERADE ip route replace default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1 ip route flush cache
结果:运行数月,效果稳定良好。
上网会明显加快,为何呢,因为两条线路分摊了负载.例如,内网80人同时上网, 如果网络是一条2M的adsl,那么整条线路都拥挤,挤得死死的,每人分得的带宽可能只有30k.大家都会明显感觉上网很慢。
如果增加多一条线路,那么两条2M共同分摊拥挤程度,这样,可能每人分得的带宽就会变成60K,是原来的加倍,以这种形式来加快上网速度,增加了并发连接的个数。
分享到:
评论

相关推荐

    Linux操作系统下ADSL拨号上网详细步骤

    在Linux操作系统中,特别是Ubuntu 6.06 LTS (Dapper Drake)环境下,...总的来说,配置Linux ADSL拨号上网涉及网络基础、终端命令操作以及问题排查技巧,熟练掌握这些步骤将帮助用户在无路由器的情况下顺利接入互联网。

    ROS多ADSL分流

    4. 设置路由规则:为了使数据包能够正确地通过多条ADSL线路,你需要配置路由规则。这可能涉及到静态路由、策略路由或者基于目的地址的动态路由。 5. 监控和优化:通过内置的监控工具,你可以实时查看各条ADSL线路的...

    Linux系统下ADSL拨号上网方法.docx

    在Linux系统中,特别是Ubuntu 6.06 LTS (Dapper Drake)版本,ADSL拨号上网的方法主要涉及到PPP(Point-to-Point Protocol)over Ethernet(PPPoE)技术。PPPoE是一种将PPP协议封装在以太网协议中的方式,常用于DSL...

    鸟哥的Linux与ADSL私房菜 html

    这些只是《鸟哥的Linux与ADSL私房菜》部分涵盖的知识点,实际教程中还会涉及更多高级主题,如shell脚本、系统管理、服务器配置等。学习这个教程有助于提升Linux操作技能,理解和应用ADSL技术,以及进一步理解开源...

    Ubuntu_Linux_中_ADSL_PPPoE_宽带上网设置

    综上所述,本文详细介绍了如何在Ubuntu Linux系统中使用ADSL PPPoE设置宽带上网的方法,既包括了图形化界面设置,也涵盖了命令行设置的具体步骤。无论您是新手还是经验丰富的用户,都能从中找到适合自己的解决方案。

    Ubuntu下的ADSL上网配置

    尤其是Linux系统,它相较于Windows系统提供了更多的自定义配置选项,但也要求用户具备一定的技术知识。Ubuntu作为一款流行的Linux发行版,其网络配置方法也备受关注。本文将详细介绍在Ubuntu系统下进行ADSL上网配置...

    fedora 13怎么拨号连上adsl

    6. **配置DNS**:在IPv4设置中,将方法更改为“自动(PPPoE)仅地址”。在DNS服务器字段中,输入你的ISP提供的DNS服务器地址,多个地址之间用逗号分隔。 7. **保存并应用更改**:完成上述配置后,点击“应用”按钮...

    ADSL路由器多路宽带在网络教学中的一个应用.pdf

    实验设计中,采用一台装有四块网卡的Linux服务器,一块连接内部网络,其余三块连接外部网络,分别对应ADSL线路1、ADSL线路2和数字线路1,形成三条2M带宽的接入线路协同工作。通过IP地址的随机分配策略,Linux/BSD...

    一种ADSL无线路由器及使用该路由器在桥接模式下实现强制门户的方法和系统.pdf

    本篇文档介绍了一种针对ADSL无线路由器的技术发明,该发明涉及一种在桥接模式下实现强制门户功能的方法和系统。强制门户(Captive Portal)是一种网络安全功能,通常用于公共Wi-Fi网络,它强制网络访问者在访问...

    在Linux下共享接入.pdf

    在Linux操作系统环境下,实现多台机器共享一条ADSL线路接入互联网,需要遵循一定的步骤和技术。以下是一份详细的操作指南: 首先,确保Linux服务器配置了两块网卡,一块用于连接宽带的入户线(例如,eth0),另一块...

    成功配置双adsl宽带叠加的经历

    最后,设置了海蜘蛛路由的IP地址,配置了多线路均衡负载功能,并开启了PPPoE服务。这里的知识点涉及虚拟机技术,软路由的安装和配置,以及宽带负载均衡的原理和设置方法。 五、双宽带叠加的测试和效果评估 在内容的...

    搭建简单的Linux操作系统局域网服务器

    首先,需要下载最新版本的 Redhat Linux 操作系统,然后安装到服务器上,并配置网络设置。接着,需要安装 Squid 代理服务器软件,并对其进行配置,使其能够提供 WWW 的代理服务。最后,需要配置聊天功能和防火墙功能...

    linux配置PPPOE服务器

    PPPOE(Point-to-Point Protocol over Ethernet)是一种在以太网上承载PPP协议的技术,常用于ADSL等宽带接入服务,使得多台设备可以通过同一物理线路进行独立的拨号上网。 首先,我们来看配置过程中的关键步骤: 1...

    LINUX下一种宽带接入PPPoE的设计与实现.pdf

    【描述】: 本文探讨了在Linux操作系统下实现宽带接入PPPoE的方法,特别关注了ADSL技术在宽带接入中的应用。 【标签】: Linux操作系统、系统开发、参考文献、专业指导 【部分内容】: 介绍了一种在Linux环境下实现...

    苏迪思推出Linux版本免费软件电话.pdf

    总结起来,苏迪思推出的Linux版本免费软件电话是一款专为Linux用户设计的网络电话应用,可能包含了ADSL网络配置和优化的功能,为用户提供了一套完整的通信解决方案,并且注重系统的兼容性和专业支持,尤其适用于那些...

    ADSL-optimizer

    在数字用户线路(ADSL)技术中,包调度扮演着至关重要的角色,它直接影响到网络连接的质量和服务质量(QoS)。传统的包调度方法在ADSL环境中往往不能达到最佳效果,主要原因在于它们未能正确处理ADSL特有的开销问题...

    adsl_ipchange.zip

    ADSL拨号换IP是一种常见的方法,它通过断开并重新连接ADSL线路来获取新的公网IP。本文将详细探讨如何使用Java开发语言编写一款实现ADSL换IP功能的桌面软件。 首先,我们需要理解ADSL拨号的基本原理。ADSL...

    ADSL optimizer-开源

    对于用户而言,使用ADSL优化器可能需要一定的技术背景,因为它涉及到网络配置和Linux操作。不过,通过调整优化器的参数设置,用户可以针对自己的具体网络环境进行优化,提升ADSL连接的性能。而对于开发者来说,这是...

    linux下PPPoE拨号客户端,自动获取PPPoE服务器地址

    它允许用户通过ADSL、VDSL等DSL线路或某些类型的有线电视网络来建立和维护PPP连接。在本场景中,我们需要在Linux环境下配置一个PPPoE拨号客户端,以便自动获取PPPoE服务器的地址。 首先,我们讨论一下PPPoE的工作...

    Linux策略路由技术在远程教学网络带宽合并中的应用.pdf

    因此,通常会接入多家电信运营商的ADSL线路,甚至从同一家ISP购买多条带宽。然而,这些独立的宽带并未提供叠加效应,需要用户自行通过带宽合并来提升网络体验。 带宽合并是一种技术,将多条等速或不等速的外网带宽...

Global site tag (gtag.js) - Google Analytics