TEQL and Subnet problem (reformatted)

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



TEQL and Subnet problem

I have a network topology shown below, and I am trying to use TEQL. P1,
P2 and P3 are three linux machines, and each has two network cards. P2
and P3 are connected in two ways: (1) directed connection between
P2.eth0 and P3.eth0; (2) connection via P1. P1 acts as the gateway. TEQL
is installed on P2 and P3 to load-balance packet transmission by
round-robin sending packets to eth0 and eth1. I defined P2.teql0,
P2.eth1, P1.eth0 as 16.119.144.32/30 subnet, and defined P3.teql0,
P3.eth1, P1.eth1 as 16.119.144.64/30 subnet.

My problem is: When I ping to P3.teql0 from P2 ("[P2]# ping
16.119.144.66"), the traffic can never go from P2.eth1, and all traffic
only goes to P1.eth0. What P2.eth1 (16.119.144.33) did is broadcasting
an ARP asking for the MAC address of 16.119.144.66, although I have
specified the route to 16.119.144.64/30 is through gateway
16.119.144.32, as shown below. Similarly, when I use ttcp ("ttcp -t -s
-n -T -v 200 16.119.144.66"), traffic can never go through P2.eth1. On
the other hand, if I "ping -I eth1 16.119.144.66", the ping can go
through P2.eth1, P1.eth0, P1.eth1, and to P3.teql0 with no problem.
What's wrong and how to fix it? In addition, how to ensure traffic of
"ping 16.119.144.66" will go from P2.teql0 instead of P2.eth0 or
P2.eth1? By routing table as I have done below? Configuration details
(ifconfig, route) are shown below.


1. Topology

 teql0 144.34
      _
_
     |_|-------  eth0: 144.21              eth0: 144.27   ------|_|
teql0: 144.66
       | P2  |------------------------------------------------------| P3
|
       |____|
|____|
  eth1: |                                                              |
eth1:
144.33 |                                                              |
144.65
          |
|
          |_______________|------|________________|
                eth0: 144.32   | P1 |   eth1: 144.64
                                     |___ |


Machines, network interfaces and their IPs:
P1: 
- eth0: 16.119.144.32
- eth1: 16.119.144.64
P2:
- eth0: 16.119.144.21
- eth1: 16.119.144.33
- teql0: 16.119.144.34
P3:
- eth0: 16.119.144.27
- eth1: 16.119.144.65
- teql0: 16.119.144.66


2.IP configuration

(1) P1:

[root@princeton1 root]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:81:00:5F:FC
          inet addr:16.119.144.32  Bcast:16.119.145.255
Mask:255.255.254.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:428 errors:0 dropped:0 overruns:0 frame:0
          TX packets:439 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:36966 (36.0 Kb)  TX bytes:36526 (35.6 Kb)
          Interrupt:11

eth1      Link encap:Ethernet  HWaddr 00:10:B5:48:1A:54
          inet addr:16.119.144.64  Bcast:16.119.145.255
Mask:255.255.254.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:399 errors:0 dropped:0 overruns:0 frame:0
          TX packets:371 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:34174 (33.3 Kb)  TX bytes:33739 (32.9 Kb)
          Interrupt:5 Base address:0x7800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:81 errors:0 dropped:0 overruns:0 frame:0
          TX packets:81 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7094 (6.9 Kb)  TX bytes:7094 (6.9 Kb)

(2) P2:

[root@princeton2 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:12:79:94:10:AF
          inet addr:16.119.144.21  Bcast:16.119.145.255
Mask:255.255.254.0
          inet6 addr: fe80::212:79ff:fe94:10af/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1035 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1569 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:89851 (87.7 KiB)  TX bytes:1756828 (1.6 MiB)
          Interrupt:201

eth1      Link encap:Ethernet  HWaddr 00:12:79:94:10:AE
          inet addr:16.119.144.33  Bcast:16.119.145.255
Mask:255.255.254.0
          inet6 addr: fe80::212:79ff:fe94:10ae/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:200 errors:0 dropped:0 overruns:0 frame:0
          TX packets:165 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:15954 (15.5 KiB)  TX bytes:13792 (13.4 KiB)
          Interrupt:209

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5253 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5253 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7687091 (7.3 MiB)  TX bytes:7687091 (7.3 MiB)

teql0     Link encap:UNSPEC  HWaddr
FA-FE-3B-C3-BA-00-F4-EF-00-00-00-00-00-00-00-00
          inet addr:16.119.144.34  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1272 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:1706684 (1.6 MiB)


(3) P3:

[root@princeton3 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:12:79:3C:6F:2D
          inet addr:16.119.144.27  Bcast:16.119.145.255
Mask:255.255.254.0
          inet6 addr: fe80::212:79ff:fe3c:6f2d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1558 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1074 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1757749 (1.6 MiB)  TX bytes:80452 (78.5 KiB)
          Interrupt:201

eth1      Link encap:Ethernet  HWaddr 00:12:79:3C:6F:2C
          inet addr:16.119.144.65  Bcast:16.119.145.255
Mask:255.255.254.0
          inet6 addr: fe80::212:79ff:fe3c:6f2c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:223 errors:0 dropped:0 overruns:0 frame:0
          TX packets:316 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:23057 (22.5 KiB)  TX bytes:28712 (28.0 KiB)
          Interrupt:209

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2784 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2784 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3473742 (3.3 MiB)  TX bytes:3473742 (3.3 MiB)

teql0     Link encap:UNSPEC  HWaddr
EB-FE-3B-B3-5B-00-F4-DF-00-00-00-00-00-00-00-00
          inet addr:16.119.144.66  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:690 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:38556 (37.6 KiB)


3.Routing Tables

(1) P1:

[root@princeton1 root]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
16.119.144.64   0.0.0.0         255.255.255.252 U     0      0        0
eth1
16.119.144.32   0.0.0.0         255.255.255.252 U     0      0        0
eth0
16.119.144.0    0.0.0.0         255.255.254.0     U     0      0
0 eth1
16.119.144.0    0.0.0.0         255.255.254.0     U     0      0
0 eth1
127.0.0.0         0.0.0.0         255.0.0.0            U     0      0
0 lo
0.0.0.0            16.119.144.1    0.0.0.0            UG   0      0
0 eth0

(2) P2:

[root@princeton2 ~]# route -n
Kernel IP routing table
Destination      Gateway             Genmask         Flags Metric Ref
Use Iface
16.119.144.66   0.0.0.0              255.255.255.255 UH    0      0
0 teql0
16.119.144.32   0.0.0.0              255.255.255.255 UH    0      0
0 eth1
16.119.144.64   16.119.144.32   255.255.255.252 UG    0      0        0
eth1
16.119.144.0     0.0.0.0             255.255.254.0     U      0      0
0 eth0
16.119.144.0     0.0.0.0             255.255.254.0     U      0      0
0 eth1
0.0.0.0             16.119.144.1        0.0.0.0            UG    0
0        0 eth0

(3) P3:

[root@princeton3 ~]# route -n
Kernel IP routing table
Destination      Gateway         Genmask               Flags   Metric
Ref    Use Iface
16.119.144.64   0.0.0.0              255.255.255.255  UH         0
0        0 eth1
16.119.144.34   0.0.0.0              255.255.255.255  UH         0
0        0 teql0
16.119.144.32   16.119.144.64    255.255.255.252  UG        0      0
0 eth1
16.119.144.0     0.0.0.0              255.255.254.0      U          0
0        0 eth0
16.119.144.0     0.0.0.0              255.255.254.0      U          0
0        0 eth1
169.254.0.0       0.0.0.0              255.255.0.0         U          0
0        0 eth1
0.0.0.0             16.119.144.1       0.0.0.0               UG        0
0        0 eth0


4. Enable IP Forwarding on P1

IP forwarding needs only to be enabled on P1. This part should be OK.
(1) In /etc/sysconfig/network, add "FORWARD_IPV4=yes"
(2) "echo 1 > /proc/sys/net/ipv4/ip_forward". The default value in Linux
is 0.
(3) To enable IP forwarding automatically after reboot, change
"net.ipv4.ip_forward=1" in /etc/sysctl.conf.
(4) Dislab packet filtering:
"echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter"
"echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter"
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux