To allow your server to receive pings you'll need to do something like:
iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
As for the other issue: If you're going through a router/gateway, the MAC address the other side sees will be that of its gateway, not the original host. Your MAC address is only used to get the frame to a router (or to another host on the same network). The router then strips your MAC, replacing it with its own as it sends it down the next link. With that in mind, it makes perfect sense that your rules won't work unless your laptop is on the same network as your server.
A good iptables tutorial is here