The simple difference is that for an unreachable host, the last hop router is returning an ICMP destination unreachable response. Most routers will hardware process ACLs or rate limits, but generation of ICMP responses require CPU resources so it is common practice to not generate them.
I have my Linux box with integrated NIC (eth1) connected via router to the public network. Able to ping itself but not able to ping the gateway of the router: [root@linux2 root]# ping 192.168.15.1 PING 192.168.15.1 (192.168.15.1) 56(84) bytes of data. From 192.168.15.7 icmp_seq=1 Destination Host Unreachable From 192.168.15.7 icmp_seq=2 Destination Host Unreachable From 192.168.15.7 icmp_seq=3 Destination Host Unreachable Some of the relevant information : [root@linux2 root]# ifconfig eth1 Link encap:Ethernet HWaddr 00:13:20:3F:02:B1 inet addr:192.168.15.7 Bcast:192.168.15.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:64 errors:0 dropped:0 overruns:0 frame:0 TX packets:61 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:2562 (2.5 Kb) Interrupt:23 Base address:0xd840 Memory:dfaff000-dfaff038 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:727 errors:0 dropped:0 overruns:0 frame:0 TX packets:727 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:52749 (51.5 Kb) TX bytes:52749 (51.5 Kb) [root@linux2 rc.d]# cat /etc/resolv.conf nameserver 68.87.64.196 nameserver 68.87.66.196 [root@linux2 root]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.15.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.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 192.168.15.1 0.0.0.0 UG 0 0 0 eth1 An external card (eth0) in the PCI slot is working fine. When connected to the router from eth0 instead of eth1, by giving the same Static IP Address(192.168.15.7), I am able to ping the outside world. The ifconfig details for the eth0 NIC as follows: [root@linux2 root]# ifconfig eth0 Link encap:Ethernet HWaddr 00:12:17:4E:A3:29 inet addr:192.168.15.7 Bcast:192.168.15.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:28 errors:0 dropped:0 overruns:0 frame:0 TX packets:35 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3148 (3.0 Kb) TX bytes:2756 (2.6 Kb) Interrupt:16 Base address:0xb400 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:1717 errors:0 dropped:0 overruns:0 frame:0 TX packets:1717 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:125854 (122.9 Kb) TX bytes:125854 (122.9 Kb) ----------------------------------------------------------------------------------------- Please help! Thanks, RPKosuri