Quote Originally Posted by chip.ling
I think the netmask value here is for the gateway you try to reach to the outside world and if you set the value to 255.255.255.0, it will limit your address to your local network only. In my case, I want my machine being able to access all possible address on the internet so 0.0.0.0 make sense to me.
As I said, I don't use the route command, so I'll want to do some reading and testing with it when I next get a chance. But all of my experience is that 0.0.0.0 is always a bad netmask. As to reaching the outside world, you local system should use the IP address that you are trying to reach and the netmask to determine if the gateway should be used or not. A netmask of 0.0.0.0 indicates that the address is always on the local LAN and so a gateway would never be used. I'm guessing that your somewhat unusual router is likely seeing the IP address as it comes into the switch and knows that it needs to be routed to the WAN port anyway, but things might break for you if your network grows to include additional switches unless this netmask issue is resolved. You may also have some problems the broadcast address and with Address Resolution Protocol with that netmask. And, in fact, this very well could give a clue as to why the same IP address is being handed out more than once! If ARP is broken due to a bad netmask then the routers tables may never be updated to reflect that the IP address is in use and not available for further use (although that still leaves a lot to be explained, like how it manages to route your traffic back to you).

Quote Originally Posted by chip.ling
Please do a testing on your end by boot up a knoppix cd with DHCP mode on and after it boots up. Type the route command on the console and see if your result is same as mine.
I will look at both the route command and it's man page when I have time, although to be honest I haven't even booted Knoppix lately. Again I would ask that you also take a little time and look up netmask on Google and see if you can find me any references that explain validly using 0.0.0.0 as a netmask.

You might also want to use ethereal to sniff the network connection and see the ARP traffic that goes on every couple of minutes to see if your system is actually receiving and responding properly to ARP packets. I don't see how it could be with that netmask, since it would not recognize a broadcast as a broadcast, but would think it was a packet intended for someone else.