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