TEQL and Subnet problem

Linux Advanced Routing and Traffic Control

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

 



(In case there is a typo in the LARTC email address I sent just now. Sorry
if you receive duplicate messages)

TEQL and Subnet problem

I have a network topology shown below, and I am trying to use TEQL. 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 P1.eth1 or P2.eth1? By routing table as I have done
below? Configuration details (ifconfig, route) are shown below. (A text
file is attached too.)

Your help is highly appreciated!



1. Topology


 teql0 144.34

      _                                            _

     |_|----   eth0                     eth0  ----|_|teql0: 144.66

       | P2 |--------------------------------| P3 |

       |____|  144.21                 144.27 |____|

    eth1 |                                      | eth1

  144.33 |                                      | 144.65

         |            eth0    eth1              |

         |_______________|----|_________________|
                  144.32 | P1 | 144.64

                         |____|



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, as shown
between P2.eth0 and P3.eth0; (2) 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.



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"





TEQL and Subnetting problem

I have a network topology shown below, and I am trying to use TEQL. 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 P1.eth1 or P2.eth1? By routing table as I have done below? Configuration details (ifconfig, route) are shown below.


1. Topology
   
 teql0 144.34                                    
      _                                            _ 
     |_|----   eth0                     eth0  ----|_|teql0: 144.66
       | P2 |--------------------------------| P3 |
       |____|  144.21                 144.27 |____|
    eth1 |                                      | eth1
  144.33 |                                      | 144.65
         |            eth0    eth1              | 	
         |_______________|----|_________________|
                  144.32 | P1 | 144.64
                         |____|

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, as shown between P2.eth0 and P3.eth0; (2) 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.

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