There's a couple of issues here:
The "ipmitool" command on it's own uses a local interface to the ipmi controller. This is why you need to load the modules in order to use ipmitool from the same host. If you're on a remote host you can use ipmitool over the network, using something like "ipmitool -I lan -H hostname -U username -P password chassis status", substituing appropriate values for hostname, username and password.
If you're not using the dedicated IPMI controller ethernet port, then you may need to actively tell the IPMI controller to use the onboard ethernet port. These IPMI controllers default to an "auto fallback", so if you have an ethernet cable plugged into the dedicated LAN port at the time the IPMI controller is powered up, it will use the dedicated port, otherwise it will fallback. So if you've changed your mind about which port to use, this might be occuring.
The onboard port the IPMI controller piggybacks on is LAN1. Are you sure you're using LAN1? It may not be the same as the interface that your linux install thinks is eth0.
Finally, I've definitely seen connectivity issues when using IPMI over a non-dedicated port. The way the ethernet controller in the IPMI piggybacks onto your host ethernet port can result in DHCP issues, as well as network card driver crashes. I've also seen the situation where the IPMI IP address on a non-dedicated port is accessible from a remote machine, but not from the local one (which isn't a problem generally, because you can use the ipmitool kernel interface anyway).
I always advocate using a dedicated port where available.
In all cases, to reset the IPMI controller you need to either use the ipmitool interface once you get that working, or to physically remove power from the machine (off at the wall/PDU etc - turning the machine off from the button at the front isn't enough, as the IPMI controller is still powered)