1樓 發表於 2007-4-17 23:47
|
||||||||||||||||
看到很多兄弟在搞ADSL負載均衡,下面是今晚的安裝日誌。由於是第一次寫安裝日誌,所以寫作水平很差,加上時間又太晚了,難免有很多錯誤,需要的同志就湊或着看吧。不正確的地方,或需要改進的地方,歡迎多提意見。EMAIL:[email protected] 另外:我不知道在這裏怎麼修飾文字,因爲我認爲需要注意的地方我都加粗了,需要的話我附帶了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負載均衡安裝日誌
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.