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 ![]() :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT 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 ![]() ![]() :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( ![]() # 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负载均衡安装日志
最新推荐文章于 2021-05-14 01:32:27 发布