|
skyPipes Manual Index |
Alexey Kuznetsov's ip Command Reference ip-cref
|
This page is a description of how to troubleshoot specific problems with the Advanced Router running skyPipes.
Secondary IP addresses not receiving/responding to requests
Some ISPs' routers seem to have difficulty establishing ARP or TCP route cache entries for secondary IP addresses on an interface if no traffic has originated at that address from that interface. This problem manifests itself during testing when some external IP addresses associated with an internal host respond properly, but one (or more) of them fail without any traffic even showing up on the external interface to which the IP address is assigned. This problem should have been fixed by a comprehensive set of pings which have been appended to the end of the Configuration shell script, but this troubleshooting tip has been left in place just in case.
If this condition should occur, it is easily and quickly fixed by using the following method. Using the
ip addr command, all addresses assigned to the interface must be deleted, then just the address that is not responding must be added to the card as the primary IP address. Then a single ping to the gateway is enough to establish the interface as being the route to that IP address. Running the arrc.sh script from the skyPipes site directory then restores all settings to normal operation.
Here is an example. Let us assume that eth2 is an external interface on an Advanced Router running skyPipes. eth2 has a gateway IP address of 64.2.134.161, and a broadcast IP address of 64.2.134.191. It has a primary IP address of 64.2.134.190, in a space of 32 addresses. It has three secondary addresses: 64.2.134.164, 64.2.134.174, and 64.2.134.180. When requests are made of the address 64.2.134.174 from somewhere in the internet, no traffic shows up on eth2, even though ip addr list shows each of the addresses properly assigned to the interface:[root@advancedrouter root]# ip addr show eth2
4: eth2: <BROADCAST,MULTICAST,PROMISC,UP#gt; mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:07:e9:80:c4:fb brd ff:ff:ff:ff:ff:ff
inet 64.2.134.190/27 brd 64.2.134.191 scope global eth2
inet 64.2.134.164/27 brd 64.2.134.191 scope global secondary eth2
inet 64.2.134.174/27 brd 64.2.134.191 scope global secondary eth2
inet 64.2.134.180/27 brd 64.2.134.191 scope global secondary eth2
So, first all IP addresses assigned to the card must be deleted. This can be done using ip addr del on just the primary address. All secondary IP addresses are automatically deleted when the primary IP address is deleted using this command:[root@advancedrouter root]# ip addr del 64.2.134.190 dev eth2
Now the troubled IP address must be added to the interface as the primary IP address:[root@advancedrouter root]# ip addr add 64.2.134.174/27 brd 64.2.134.191 dev eth2
A single ping of the gateway through that interface will now establish the route:[root@advancedrouter root]# ping -I eth2 64.2.134.161
PING 64.2.134.161 (64.2.134.161) from 64.2.134.174 eth2: 56(84) bytes of data.
64 bytes from 64.2.134.161: icmp_seq=1 ttl=255 time=0.694 ms
--- 64.2.134.161 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.694/0.694/0.694/0.000 ms
Finally, run the arrc.sh configuration script to restore normal settings:[root@advancedrouter root]# /var/www/<skyPipes application directory name>/arrc.sh
Copyright © 2003 Derek Doyle <dtd@skybuilders.com>.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".



