多ADSL共用时,复制/etc/ppp/pppoe.conf到/etc/ppp/pppoe2.conf,在/etc/ppp/chap-secrets和pap-secrets中加入另一条线的用户名和密码,用
pppoe-start /etc/ppp/pppoe2.conf
跑起第二条ADSL(注意pid文件要设为不同,否则起不来)
后
(1)启动路由,允许转发echo 1 > /proc/sys/net/ipv4/ip_forward
(2)进行伪装:
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp+ -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 (有多条的话)
成功后结果:
root@test:/server/adsl# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
219.135.184.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
219.135.184.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
root@test:/server/adsl# ip route
219.135.184.1 dev ppp0 proto kernel scope link src 58.62.45.167
219.135.184.1 dev ppp1 proto kernel scope link src 121.32.34.158
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.1
127.0.0.0/8 dev lo scope link
default
nexthop dev ppp0 weight 1
nexthop dev ppp1 weight 1
root@test:/server/adsl#
阅读(1504) | 评论(0) | 转发(0) |