Linux下的双线ADSL负载均衡安装日志
来源:互联网 发布:科幻世界淘宝店怎么了 编辑:程序博客网 时间:2024/04/29 12:33
1楼 发表于 2007-4-17 23:47
看到很多兄弟在搞ADSL负载均衡,下面是今晚的安装日志。由于是第一次写安装日志,所以写作水平很差,加上时间又太晚了,难免有很多错误,需要的同志就凑或着看吧。不正确的地方,或需要改进的地方,欢迎多提意见。EMAIL:ssffzz1@126.com 另外:我不知道在这里怎么修饰文字,因为我认为需要注意的地方我都加粗了,需要的话我附带了PDF文件,也可以打印的,没有密码。
LINUX双线ADSL负载均衡
系统环境:
双线均衡服务器:赛扬1.7,128内存,30G内存。软件为FC6.
PPPOE服务器:P133,32内存128MCF卡。软件为ROUTEROS.
测试结构如下:
|------------------|
PC1-----均衡服务器 PPPOE服务器--------路由器-----INTERNET
|------------------|
IP地址分配如下:
PC1: 192.168.10.88 GW 192.168.10.1
PPP0: 10.0.1.4 GW 10.0.0.1
PPP1:10.0.1.5 GW 10.0.0.1
一、 安装均衡服务器软件:
1、 安装FC6,安装开发包,这样在编译IPID模块的时候很方便。为防止网卡号的混乱先安装一块网卡,装完后依次插入其余2块网卡,每插一块启动一次,完成驱动的安装,如果出现网卡命名的错误,则修改/etc/modprobe.conf和/etc/sysconfig/hwconf文件,还有/etc/network-script/if-ethx文件。
2、 禁用SELINUX:修改/etc/selinux/config:文件,SELINUX=disable
3、 去掉IPV6支持:
#/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=gw.jl.com
4、 去掉不必要的服务:这个利用setup程序完成好了。
5、 加入一些IPTABLES的模块:修改/etc/sysconfig/iptables-config文件,在原来的模块配置条目(就一条)下面加入
IPTABLES_MODULES= “ip_conntrack_ftp”
IPTABLES_MODULES=”ip_nat_netbios_ns”
IPTABLES_MODULES=”ip_nat_ftp”
6、 配置网卡ETH0
#/etc/sysconfig/ifcfg-eth0
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth0
BROADCAST=192.168.10.255
HWADDR=00:19:5B:34:58:CB
IPADDR=192.168.10.1
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=yes
7、 配置网卡ETH1 ETH2
#/etc/sysconfig/ifcfg-eth1
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:19:5b:34:58:ce
#/etc/sysconfig/ifcfg-eth2
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:19:5b:34:58:c8
8、 配置ADSL,这里不要配置添加缺省网关,同时要修改PID文件,要不两条PPP链路不能同时使用,文件如下:
#/etc/sysconfig/ifcfg-ppp0
USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=yes
PIDFILE=/var/run/pppoe-ppp0.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=no
SYNCHRONOUS=no
ETH=eth1
PROVIDER=DSLppp0
USER=ppp0
PEERDNS=no
DEMAND=no
#/etc/sysconfig/ifcfg-ppp1
USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp1
DEVICE=ppp1
TYPE=xDSL
ONBOOT=yes
PIDFILE=/var/run/pppoe-ppp1.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=no
SYNCHRONOUS=no
ETH=eth2
PROVIDER=DSLppp1
USER=ppp1
PEERDNS=no
DEMAND=no
9、 配置均衡网关,把它方到/etc/ppp/ip-up文件中去,这样一旦拨号成功,就添加均衡网关。同时修改TCP的超时值。
#!/bin/bash
# This file should not be modified -- make local changes to
# /etc/ppp/ip-up.local instead
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
LOGDEVICE=$6
REALDEVICE=$1
[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post --realdevice ${REALDEVICE} ifcfg-${LOGDEVICE}
/etc/ppp/ip-up.ipv6to4 ${LOGDEVICE}
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"
ip route add default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
echo "86400" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
exit 0
10、 按照IPID模块的编译方法,编译IPID模块。
11、 配置防火墙及NAT
# Generated by iptables-save v1.3.5 on Wed Apr 18 00:10:26 2007
*mangle
REROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
OSTROUTING ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j TTL --ttl-set 128
-A POSTROUTING -o ppp0 -j IPID --ipid-inc 1
-A POSTROUTING -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1440
-A POSTROUTING -o ppp1 -j TTL --ttl-set 128
-A POSTROUTING -o ppp1 -j IPID --ipid-inc 1
-A POSTROUTING -o ppp1 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1440
COMMIT
# Completed on Wed Apr 18 00:10:26 2007
# Generated by iptables-save v1.3.5 on Wed Apr 18 00:10:26 2007
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -s 192.168.10.0/255.255.255.0 -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 127.0.0.1 -j ACCEPT
-A INPUT -d 127.0.0.1 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -p gre -j DROP
-A FORWARD -s 192.168.10.0/255.255.255.0 -j ACCEPT
-A FORWARD -d 192.168.10.0/255.255.255.0 -j ACCEPT
COMMIT
# Completed on Wed Apr 18 00:10:26 2007
# Generated by iptables-save v1.3.5 on Wed Apr 18 00:10:26 2007
*nat
REROUTING ACCEPT [0:0]
OSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -o ppp1 -j MASQUERADE
COMMIT
# Completed on Wed Apr 18 00:10:26 2007
12、 开启转发,及IP动态地址
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl( and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_dynaddr = 1
13、配置好nameserver服务器,/etc/resolv.conf
nameserver 202.102.134.68
14、配置文件中改变的部分,和应该注意的部分,我都加了斜体并且加粗显示了,这是要注意的地方。
二、 最后就可以在PPPOE服务器上,或者在均衡网关上看到两条PPP链路的负载均衡了。时间有限,我就不抓图了。应该说这种均衡可能是根据目的地址的均衡,因为我在PC1上开了N个迅雷任务。这样能看到均衡的结果。但如果不开任何任务只用PING程序,则基本看不到结果。
更新:
注:
1、 更改ip route add default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1 中的scope global为equalize这样的均衡效果可能要好一些。
2、 此实验在FC3下未成功。原因是MASQUERADE有缺陷,出现“MASQUERADE:Route sent us somewhere else.”错误,这需要一个内核补丁。
[ 本帖最后由 ssffzz1 于 2007-5-8 20:27 编辑 ]
LINUX双线ADSL负载均衡
系统环境:
双线均衡服务器:赛扬1.7,128内存,30G内存。软件为FC6.
PPPOE服务器:P133,32内存128MCF卡。软件为ROUTEROS.
测试结构如下:
|------------------|
PC1-----均衡服务器 PPPOE服务器--------路由器-----INTERNET
|------------------|
IP地址分配如下:
PC1: 192.168.10.88 GW 192.168.10.1
PPP0: 10.0.1.4 GW 10.0.0.1
PPP1:10.0.1.5 GW 10.0.0.1
一、 安装均衡服务器软件:
1、 安装FC6,安装开发包,这样在编译IPID模块的时候很方便。为防止网卡号的混乱先安装一块网卡,装完后依次插入其余2块网卡,每插一块启动一次,完成驱动的安装,如果出现网卡命名的错误,则修改/etc/modprobe.conf和/etc/sysconfig/hwconf文件,还有/etc/network-script/if-ethx文件。
2、 禁用SELINUX:修改/etc/selinux/config:文件,SELINUX=disable
3、 去掉IPV6支持:
#/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=gw.jl.com
4、 去掉不必要的服务:这个利用setup程序完成好了。
5、 加入一些IPTABLES的模块:修改/etc/sysconfig/iptables-config文件,在原来的模块配置条目(就一条)下面加入
IPTABLES_MODULES= “ip_conntrack_ftp”
IPTABLES_MODULES=”ip_nat_netbios_ns”
IPTABLES_MODULES=”ip_nat_ftp”
6、 配置网卡ETH0
#/etc/sysconfig/ifcfg-eth0
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth0
BROADCAST=192.168.10.255
HWADDR=00:19:5B:34:58:CB
IPADDR=192.168.10.1
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=yes
7、 配置网卡ETH1 ETH2
#/etc/sysconfig/ifcfg-eth1
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:19:5b:34:58:ce
#/etc/sysconfig/ifcfg-eth2
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:19:5b:34:58:c8
8、 配置ADSL,这里不要配置添加缺省网关,同时要修改PID文件,要不两条PPP链路不能同时使用,文件如下:
#/etc/sysconfig/ifcfg-ppp0
USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=yes
PIDFILE=/var/run/pppoe-ppp0.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=no
SYNCHRONOUS=no
ETH=eth1
PROVIDER=DSLppp0
USER=ppp0
PEERDNS=no
DEMAND=no
#/etc/sysconfig/ifcfg-ppp1
USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp1
DEVICE=ppp1
TYPE=xDSL
ONBOOT=yes
PIDFILE=/var/run/pppoe-ppp1.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=no
SYNCHRONOUS=no
ETH=eth2
PROVIDER=DSLppp1
USER=ppp1
PEERDNS=no
DEMAND=no
9、 配置均衡网关,把它方到/etc/ppp/ip-up文件中去,这样一旦拨号成功,就添加均衡网关。同时修改TCP的超时值。
#!/bin/bash
# This file should not be modified -- make local changes to
# /etc/ppp/ip-up.local instead
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
LOGDEVICE=$6
REALDEVICE=$1
[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post --realdevice ${REALDEVICE} ifcfg-${LOGDEVICE}
/etc/ppp/ip-up.ipv6to4 ${LOGDEVICE}
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"
ip route add default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
echo "86400" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
exit 0
10、 按照IPID模块的编译方法,编译IPID模块。
11、 配置防火墙及NAT
# Generated by iptables-save v1.3.5 on Wed Apr 18 00:10:26 2007
*mangle
REROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
OSTROUTING ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j TTL --ttl-set 128
-A POSTROUTING -o ppp0 -j IPID --ipid-inc 1
-A POSTROUTING -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1440
-A POSTROUTING -o ppp1 -j TTL --ttl-set 128
-A POSTROUTING -o ppp1 -j IPID --ipid-inc 1
-A POSTROUTING -o ppp1 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1440
COMMIT
# Completed on Wed Apr 18 00:10:26 2007
# Generated by iptables-save v1.3.5 on Wed Apr 18 00:10:26 2007
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -s 192.168.10.0/255.255.255.0 -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 127.0.0.1 -j ACCEPT
-A INPUT -d 127.0.0.1 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -p gre -j DROP
-A FORWARD -s 192.168.10.0/255.255.255.0 -j ACCEPT
-A FORWARD -d 192.168.10.0/255.255.255.0 -j ACCEPT
COMMIT
# Completed on Wed Apr 18 00:10:26 2007
# Generated by iptables-save v1.3.5 on Wed Apr 18 00:10:26 2007
*nat
REROUTING ACCEPT [0:0]
OSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -o ppp1 -j MASQUERADE
COMMIT
# Completed on Wed Apr 18 00:10:26 2007
12、 开启转发,及IP动态地址
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl( and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_dynaddr = 1
13、配置好nameserver服务器,/etc/resolv.conf
nameserver 202.102.134.68
14、配置文件中改变的部分,和应该注意的部分,我都加了斜体并且加粗显示了,这是要注意的地方。
二、 最后就可以在PPPOE服务器上,或者在均衡网关上看到两条PPP链路的负载均衡了。时间有限,我就不抓图了。应该说这种均衡可能是根据目的地址的均衡,因为我在PC1上开了N个迅雷任务。这样能看到均衡的结果。但如果不开任何任务只用PING程序,则基本看不到结果。
更新:
注:
1、 更改ip route add default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1 中的scope global为equalize这样的均衡效果可能要好一些。
2、 此实验在FC3下未成功。原因是MASQUERADE有缺陷,出现“MASQUERADE:Route sent us somewhere else.”错误,这需要一个内核补丁。
[ 本帖最后由 ssffzz1 于 2007-5-8 20:27 编辑 ]
4楼 发表于 2007-4-18 09:22
LZ 能解释一下 -j TCPMSS --set-mss 1440 和 -j TTL --ttl-set 128 的意思吗?
另外 请问这种 ADSL的LB 是基于包的还是基于连接的?
另外 请问这种 ADSL的LB 是基于包的还是基于连接的?
5楼 发表于 2007-4-18 13:39
-j TCPMSS --set-mss 1440 指TCP连接的最大分段尺寸协商为1440 ,这主要是为了避免传输的报文超过MTU的大小,带来重分段;
-j TTL --ttl-set 128 指将所有报文的TTL值修改为 128,其实就是TTL伪装;
-j TTL --ttl-set 128 指将所有报文的TTL值修改为 128,其实就是TTL伪装;
完全正确IPID也是实现伪装的。
刚才实验了一下,应该不是基于包的。正如《LINUX高级路由和流量控制》所说,这种路由是基于缓冲的,因此并不是100%的均衡。
我个人认为基于NAT的路由应该是基于链接的。假设是基于包的,当我们譬如用QQ的时候,因为是基于包的,这时因为有NAT的原因到达QQ服务器的包的源地址是不同的,因此无法建立链接。但基于链接的却可以建立正常的链接并通讯。
如果说没有NAT的参与,那么基于包的路由均衡如果两条链路的代价不一样,可能会导致包到达的顺序不同,就会产生重传现象。
不过在CISCO的路由器中是可以做基于包的负载均衡的,但我没有条件测试。
9楼 发表于 2007-4-18 20:32
QUOTE:
原帖由 kevin.tan 于 2007-4-18 16:55 发表于 7楼
呵呵,还是要谢谢兄ssffzz1给我们写的文档啊
顺便问一下ssffzz1兄,RouterOS好用不?是不是稳定性比自己配置的路由器要强很多呀?
呵呵,还是要谢谢兄ssffzz1给我们写的文档啊
顺便问一下ssffzz1兄,RouterOS好用不?是不是稳定性比自己配置的路由器要强很多呀?
也不是,RouterOS也是基于LINUX+IPTABLES+IPROUTE2的,基本都差不多。不过RouterOS是一个比较全面的成品的软件,你只要会设置就可以了,但它的功能是定制的,譬如想自己写个小软件运行,几乎不可能。而LINUX需要我们几乎纯手工的制作,最大的特点就是灵活。
10楼 发表于 2007-4-18 21:56
QUOTE:
原帖由 ssffzz1 于 2007-4-18 20:29 发表于 8楼
刚才实验了一下,应该不是基于包的。正如《LINUX高级路由和流量控制》所说,这种路由是基于缓冲的,因此并不是100%的均衡。
我个人认为基于NAT的路由应该是基于链接的。假设是基于包的,当我们譬如用QQ的 ...
刚才实验了一下,应该不是基于包的。正如《LINUX高级路由和流量控制》所说,这种路由是基于缓冲的,因此并不是100%的均衡。
我个人认为基于NAT的路由应该是基于链接的。假设是基于包的,当我们譬如用QQ的 ...
所以,我认为很大一部分人会有一个误区,就是用linux(NAT)可以做到负载均衡,其实应该叫冗余会比较好一些,真正的负载均衡应该是不涉及到nat的,因为在路由上,路由器只是修改nexthop的mac地址,而ip的源和目的是不变的,所以cisco的路由的负载均衡才是真正的LB 在linux上 因为router cache的问题,而且包负载在NAT上几乎是不可用,我认为LB应该做在nexthop上而不是NAT上,LZ认为呢?
33楼 发表于 2007-4-24 10:07
我觉得 ip route flush cache 即便能实现route cache的刷新 但是仍不能解决断线后的冗余
我的实验没有2个ppp口 是2个网关 一个是nat 一个是普通的forward
ip route add default scope global nexthop dev eth0 weight 1 nexthop dev eth1 weight 1
设置了之后,用tracert 一个ip是一个路由,当我down掉那个出口后,再 tracert 发现路由不通了,然后在linux上执行 ip route flush cache ,再 tracert 发现路由还是走那个口,而且linux本地的那条 ip route add default scope global nexthop dev eth0 weight 1 nexthop dev eth1 weight 1 依旧存在(正常路由在端口关闭后会消失)
可不可以理解为 down掉一个口后,仍然不能把出口流量全部走另外一个正常的口呢
我的实验没有2个ppp口 是2个网关 一个是nat 一个是普通的forward
ip route add default scope global nexthop dev eth0 weight 1 nexthop dev eth1 weight 1
设置了之后,用tracert 一个ip是一个路由,当我down掉那个出口后,再 tracert 发现路由不通了,然后在linux上执行 ip route flush cache ,再 tracert 发现路由还是走那个口,而且linux本地的那条 ip route add default scope global nexthop dev eth0 weight 1 nexthop dev eth1 weight 1 依旧存在(正常路由在端口关闭后会消失)
可不可以理解为 down掉一个口后,仍然不能把出口流量全部走另外一个正常的口呢
35楼 发表于 2007-4-24 13:36
QUOTE:
原帖由 5iwww 于 2007-4-24 10:07 发表于 33楼
我觉得 ip route flush cache 即便能实现route cache的刷新 但是仍不能解决断线后的冗余
我的实验没有2个ppp口 是2个网关 一个是nat 一个是普通的forward
ip route add default scope global nexthop d ...
我觉得 ip route flush cache 即便能实现route cache的刷新 但是仍不能解决断线后的冗余
我的实验没有2个ppp口 是2个网关 一个是nat 一个是普通的forward
ip route add default scope global nexthop d ...
应该是的。按照我的做法,如果一条ADSL断掉,不能够实现冗余。要实现的话,可以编写一个检测脚本,来根据链路的变化实现路由的相应变更。
39楼 发表于 2007-4-30 09:48
更新:
ip route add default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
语句的scope global为equalize
即:
ip route add default equalize nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
感觉这样均衡的效果要好一些。
从帖子发布至今一直运行,中间未出现过掉线和重启。感觉ADSL有时候掉线可能和线路质量有很大关系,这个是双绞铜线的线路。
ip route add default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
语句的scope global为equalize
即:
ip route add default equalize nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
感觉这样均衡的效果要好一些。
从帖子发布至今一直运行,中间未出现过掉线和重启。感觉ADSL有时候掉线可能和线路质量有很大关系,这个是双绞铜线的线路。
69楼 发表于 2007-5-11 08:21
关于等价多路vpn线路负载均衡及类似网络连接实现的方法
关于等价多路vpn线路负载均衡及类似网络连接实现的方法
+-------+ eth1(tunnel1) +-------+
| | ================| |
network1---- | A | | B |---- network 2
| | ================| |
+-------+ eth2(tunnel2) +-------+
# tc qdisc add dev eth1(tun1) root teql0
# tc qdisc add dev eth2(tun2) root teql0
# ip link set dev teql0 up
路由 A:
eth1(tun1) 10.0.0.1
eth2(tun2) 10.0.0.2
# ip addr add dev teql0 10.0.0.3/24
# ip ru add default via 10.0.1.3 dev teql0
路由B:
eth1(tun1) 10.0.1.1
eth2(tun2) 10.0.1.2
#ip addr add dev teql0 10.0.1.3/24
#ip ru add default via 10.0.0.3 dev teql0
# echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
# echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
这是一种包均衡方案.
关于等价多路vpn线路负载均衡及类似网络连接实现的方法
+-------+ eth1(tunnel1) +-------+
| | ================| |
network1---- | A | | B |---- network 2
| | ================| |
+-------+ eth2(tunnel2) +-------+
# tc qdisc add dev eth1(tun1) root teql0
# tc qdisc add dev eth2(tun2) root teql0
# ip link set dev teql0 up
路由 A:
eth1(tun1) 10.0.0.1
eth2(tun2) 10.0.0.2
# ip addr add dev teql0 10.0.0.3/24
# ip ru add default via 10.0.1.3 dev teql0
路由B:
eth1(tun1) 10.0.1.1
eth2(tun2) 10.0.1.2
#ip addr add dev teql0 10.0.1.3/24
#ip ru add default via 10.0.0.3 dev teql0
# echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
# echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
这是一种包均衡方案.
- Linux下的双线ADSL负载均衡安装日志
- linux下多条ADSL实现带宽负载均衡
- Linux下的负载均衡
- 如何理解Linux下的负载均衡?
- Linux下的负载均衡19心得
- linux下tomcat集群的负载均衡
- linux下的nginx+tomcat负载均衡
- Linux 2.6 双线负载的关键点
- linux下负载均衡(LVS安装与配置)
- Linux下安装Lnmp环境之Nginx 负载均衡配置
- Linux 下Nginx 的安装及负载均衡的简单配置
- linux下tomcat的安装,两个tomcat的配置,并与nginx负载均衡配置
- Linux 下Nginx 的安装及负载均衡的简单配置
- linux下的负载均衡,安装及配置详解(例子使用centos系统)
- Linux下安装与配置基于nginx的tomcat负载均衡和集群
- Linux下的ADSL连接
- FreeBSD双线负载均衡NAT服务器
- Linux 服务器下多网卡的负载均衡
- 局部模板特化
- 3D地形编程——之GeoMipMap基础(6)
- JavaScript 获取客户端计算机硬件及系统信息
- 《撬开苹果》与敏捷软件开发
- 讲师课程设计之问题分析
- Linux下的双线ADSL负载均衡安装日志
- silverlight 多人在线游戏
- 腾讯技术笔试试题
- Another hole...
- Deferred Shading翻译(Shawn Hargreaves 2004 GDC的经典文章)
- coreldraw使用(4)
- 面向对象的基本概念
- Windows live writer的CSDN blog 设置
- 面向对象程序设计方法学