Hi, all. I''ve tried to set up load balance using both of TEQL and nexthop but in vain. Please tell me where should I correct my setup/notions. Thanks a lot. I use a version 2.2.16-22 kernel (from Redhat 7.0 precompiled). Connectivity: ============--------- | PC1 |(211.23.43.88) (211.23.43.81) /28 network | eth0|---------------- ADSL Router 1 ------- Same ISP but | |(211.75.156.252) (211.75.156.249)/29 network | eth1|---------------- ADSL Router 2 ------- different gateway | | | eth2|(intranet) --------- Using TEQL: ==========[root@clust3 /root]# tc qdisc qdisc teql0 8003: dev eth0 qdisc teql0 8004: dev eth1 [root@clust3 /root]# ip addr 1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 brd 127.255.255.255 scope host lo 2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc teql0 qlen 100 link/ether 00:c0:f6:b1:68:31 brd ff:ff:ff:ff:ff:ff inet 211.23.43.88/28 brd 211.23.43.95 scope global eth0 3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc teql0 qlen 100 link/ether 00:e0:4c:39:74:de brd ff:ff:ff:ff:ff:ff inet 211.75.156.252/29 brd 211.75.156.255 scope global eth1 4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:c0:f6:b1:57:e1 brd ff:ff:ff:ff:ff:ff inet 192.168.0.224/24 brd 192.168.0.255 scope global eth2 5: teql0: <BROADCAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/generic inet 211.75.156.252/29 scope global teql0 inet 211.23.43.88/28 scope global teql0 [root@clust3 /root]# ip route 211.75.156.248/29 dev teql0 proto kernel scope link src 211.75.156.252 211.23.43.80/28 dev teql0 proto kernel scope link src 211.23.43.88 192.168.0.0/24 dev eth2 proto kernel scope link src 192.168.0.224 127.0.0.0/8 dev lo scope link default dev teql0 scope link [root@clust3 /root]# ping 211.23.43.81 PING 211.23.43.81 (211.23.43.81) from 211.23.43.88 : 56(84) bytes of data. 64 bytes from gw0 (211.23.43.81): icmp_seq=0 ttl=254 time=1.055 msec [root@clust3 /root]# ping 211.75.156.249 PING 211.75.156.249 (211.75.156.249) from 211.75.156.252 : 56(84) bytes of data. 64 bytes from gw1 (211.75.156.249): icmp_seq=0 ttl=64 time=1.149 msec [root@clust3 /root]# ping 211.23.16.116 (some internet address) PING 211.23.16.116 (211.23.16.116) from 211.75.156.252 : 56(84) bytes of data. From lh1 (211.75.156.252): Destination Host Unreachable [root@clust3 /root]# traceroute -n 211.23.16.116 traceroute to 211.23.16.116 (211.23.16.116), 30 hops max, 38 byte packets 1 211.23.43.88 3009.191 ms !H 2999.928 ms !H 3009.885 ms !H Using TEQL but more tricky ========================== (other parameters stayed the same) [root@clust3 /root]# ip route 211.75.156.248/29 dev teql0 proto kernel scope link src 211.75.156.252 211.23.43.80/28 dev teql0 proto kernel scope link src 211.23.43.88 192.168.0.0/24 dev eth2 proto kernel scope link src 192.168.0.224 127.0.0.0/8 dev lo scope link default equalize nexthop via 211.23.43.81 dev teql0 weight 1 nexthop via 211.75.156.249 dev teql0 weight 1 [root@clust3 /root]# ping ljm PING ljm (211.23.16.116) from 211.23.43.88 : 56(84) bytes of data. (no response here) --- ljm ping statistics --- 26 packets transmitted, 0 packets received, 100% packet loss [root@clust3 /root]# traceroute -n ljm traceroute to ljm (211.23.16.116), 30 hops max, 38 byte packets 1 211.23.43.81 1.200 ms 1.106 ms 1.097 ms 2 10.23.43.254 52.294 ms 50.076 ms 49.577 ms 3 168.95.225.94 42.060 ms 39.402 ms 47.919 ms 4 168.95.225.69 87.703 ms 49.975 ms 49.951 ms 5 211.23.16.116 90.643 ms 101.042 ms 137.353 ms (Test at 211.23.16.116) ljm:~$ ping 211.75.156.252 PING 211.75.156.252 (211.75.156.252) from 211.23.16.116 : 56(84) bytes of data. 64 bytes from 211.75.156.252: icmp_seq=0 ttl=251 time=583.872 msec ljm:~$ ping 211.23.43.88 PING 211.23.43.88 (211.23.43.88) from 211.23.16.116 : 56(84) bytes of data. --- 211.23.43.88 ping statistics --- 6 packets transmitted, 0 packets received, 100% packet loss ljm:~$ traceroute -n 211.23.43.88 traceroute to 211.23.43.88 (211.23.43.88), 30 hops max, 40 byte packets 1 211.23.16.254 63.665 ms 49.588 ms 50.368 ms 2 168.95.225.62 52.108 ms 45.403 ms 46.223 ms 3 168.95.225.36 52.886 ms 49.627 ms 50.394 ms 4 * * * ljm:~$ traceroute -n 211.75.156.252 traceroute to 211.75.156.252 (211.75.156.252), 30 hops max, 40 byte packets 1 211.23.16.254 50.059 ms 66.848 ms 49.462 ms 2 168.95.225.62 46.122 ms 46.13 ms 46.496 ms 3 168.95.225.34 66.211 ms 49.667 ms 50.291 ms 4 211.75.156.249 90.048 ms 96.67 ms 140.575 ms 5 211.75.156.252 84.296 ms 103.313 ms 81.974 ms Equal Cost Without TEQL (To be sure, teql0 is dettached and set down) ======================[root@clust3 /root]# ip addr 1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 brd 127.255.255.255 scope host lo 2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:c0:f6:b1:68:31 brd ff:ff:ff:ff:ff:ff inet 211.23.43.88/28 brd 211.23.43.95 scope global eth0 3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:39:74:de brd ff:ff:ff:ff:ff:ff inet 211.75.156.252/29 brd 211.75.156.255 scope global eth1 4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:c0:f6:b1:57:e1 brd ff:ff:ff:ff:ff:ff inet 192.168.0.224/24 brd 192.168.0.255 scope global eth2 5: teql0: <BROADCAST,NOARP> mtu 1500 qdisc pfifo_fast qlen 100 link/generic [root@clust3 /root]# ip route 211.75.156.248/29 dev eth1 scope link src 211.75.156.252 211.23.43.80/28 dev eth0 scope link src 211.23.43.88 192.168.0.0/24 dev eth2 proto kernel scope link src 192.168.0.224 127.0.0.0/8 dev lo scope link default equalize nexthop via 211.23.43.81 dev eth0 weight 1 nexthop via 211.75.156.249 dev eth1 weight 1 [root@clust3 /root]# ping gw0 PING gw0 (211.23.43.81) from 211.23.43.88 : 56(84) bytes of data. 64 bytes from gw0 (211.23.43.81): icmp_seq=0 ttl=254 time=2.360 msec [root@clust3 /root]# ping gw1 PING gw1 (211.75.156.249) from 211.75.156.252 : 56(84) bytes of data. 64 bytes from gw1 (211.75.156.249): icmp_seq=0 ttl=64 time=1.848 msec [root@clust3 /root]# ping -R ljm PING ljm (211.23.16.116) from 211.23.43.88 : 56(124) bytes of data. 64 bytes from ljm (211.23.16.116): icmp_seq=0 ttl=251 time=108.360 msec RR: lh0 (211.23.43.88) 0.0.0.0 <---- ?????? tp-b-c6r6.router.hinet.net (168.95.225.94) ljm (211.23.16.116) ljm (211.23.16.116) tp-b-c6r5.router.hinet.net (168.95.225.62) gw0 (211.23.43.81) lh0 (211.23.43.88) 64 bytes from ljm (211.23.16.116): icmp_seq=1 ttl=251 time=104.320 msec (same route) [root@clust3 /root]# traceroute -n ljm traceroute to ljm (211.23.16.116), 30 hops max, 38 byte packets 1 211.23.43.81 1.195 ms 1.101 ms 1.094 ms 2 10.23.43.254 45.981 ms 49.400 ms 55.687 ms 3 168.95.225.94 43.254 ms 39.596 ms 40.620 ms 4 168.95.225.69 46.018 ms 49.208 ms 66.728 ms 5 211.23.16.116 96.789 ms 99.233 ms 92.604 ms (Test at 211.23.16.116) 1. ping 211.23.43.88 : replies only by eth0, inspected using tcpdump 2. ping 211.75.156.252: replies only by eth1, inspected using tcpdump 3. wget http://211.23.43.88/large.iso Traffic goes merely through eth0, so that load balance is not realised. If you''ve read here, thanks a lot! I''m totally confused by TEQL and Equal Cost. I''ve read all pages that google could find by keyword ''TEQL'', 2.4 Advanced Routing HOW-TO, and LRP Load Balance HOW-TO. There are indeed a grate lacune of document in this category... -- 原鄉人的血液沒有回到原鄉,是不會停止沸騰的。(鍾理和) Fingerprint20 = CE32 D237 02C0 FE31 FEA9 B858 DE8F AE2D D810 F2D9