A good starting point would be to check the hardware compatability list on Mandrake's website. Also check the HCL on this website.
One of the most compatable ethernet cards would be any that contain a Realtek chipset like a RTL8139. 3COM, Dlink NICs also work with linux without problems.
Any switch will be compatable with linux.
Ethernet modem? Are you asking about a cable / DSL or dialup modem?
Dialup modems can be a problem. The first choice would be an external modem that connects via a RS232 communication port i.e. the small 9 pin D connector on the back of the PC. Lacking a a com port check the compatability lists. Most if not all internal modems are winmodems these days. AFAIK not all internal modem chipsets have linux drivers. See
http://linmodems.org/
With broadband modems anything that has a RJ45 network port should work.
That way you do not need to worry about a compatable USB driver.