I have had problems like this before. Probably there is something important that I don't know about routing.
Let me introduce to you "Lasso2", a CentOS 4 www server that has been working perfectly well for years.
Now I added a second nw card (eth1), automatically using kudzu. I cannot get this dual nw setup to work. The first nw card (eth0) stopped at once working properly, when I added the second card. Hw failure is probably outruled - the connection via eth0 works normally again if I remove the eth1 card and its settings (on reboot with kudzu).
There are several symptoms with the dual nw card setup, and I cannot really get to diagnosis.
1) if you ping lasso2 (the problem machine) with the eth0 ip, the ping requests come in ok, but the ping responses leave the machine via eth2 - not good. I don't really know how to analyze routing and how to use ip (the program) to fix it, so please tell me about it.
The "ip route show" output looks perfectly normal to me, it is similar to another 2-card machine I have running (though that is Centos v5)
[root@lasso2 ~]# ip route show 62.236.221.64/28 dev eth1 proto kernel scope link src 62.236.221.75 62.220.237.96/27 dev eth0 proto kernel scope link src 62.220.237.114 169.254.0.0/16 dev eth1 scope link default via 62.236.221.65 dev eth1
2) if I ping _from_ lasso2 via eth0, it works ok, as long as the ping target is inside the same network segment. I can ping the router. If I try to ping anything beyond that, I get nothing back. This seems to be problem with ARP resolution. It seems that the broadcast address cannot return the ARP data. This is all I can get when I ping 84.20.154.60 via eth0 (representative sample, I hope):
[root@lasso2 ~]# tcpdump -i eth0 -n ! port ssh listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 00:01:36.296651 IP 80.221.171.198.2113 > 62.220.237.114.http: S 803184933:803184933(0) win 65535 <mss 1460,nop,wscale 1,nop,nop,sackOK> 00:01:36.654963 IP 65.55.37.179.36910 > 62.220.237.114.http: S 1372599588:1372599588(0) win 8192 <mss 1460,nop,nop,sackOK> 00:01:36.690083 arp who-has 84.20.154.60 tell 62.220.237.114 00:01:37.690145 arp who-has 84.20.154.60 tell 62.220.237.114
The ping itself says: "Destination Host Unreachable".
3) incoming http requests via eth0 do not work at all. I can post tcpdump results, if someone asks me to.
This is a production machine, so I cannot really experiment very much. Now I will go and remove the eth1 card for now.
- Jussi
on 6-27-2010 2:20 PM Jussi Hirvi spake the following:
I have had problems like this before. Probably there is something important that I don't know about routing.
Let me introduce to you "Lasso2", a CentOS 4 www server that has been working perfectly well for years.
Now I added a second nw card (eth1), automatically using kudzu. I cannot get this dual nw setup to work. The first nw card (eth0) stopped at once working properly, when I added the second card. Hw failure is probably outruled - the connection via eth0 works normally again if I remove the eth1 card and its settings (on reboot with kudzu).
There are several symptoms with the dual nw card setup, and I cannot really get to diagnosis.
- if you ping lasso2 (the problem machine) with the eth0 ip, the ping
requests come in ok, but the ping responses leave the machine via eth2 -
eth2 or eth1?
not good. I don't really know how to analyze routing and how to use ip (the program) to fix it, so please tell me about it.
The "ip route show" output looks perfectly normal to me, it is similar to another 2-card machine I have running (though that is Centos v5)
[root@lasso2 ~]# ip route show 62.236.221.64/28 dev eth1 proto kernel scope link src 62.236.221.75 62.220.237.96/27 dev eth0 proto kernel scope link src 62.220.237.114 169.254.0.0/16 dev eth1 scope link default via 62.236.221.65 dev eth1
Eth1 is your default route, so everything is going to try and go out that way.