Is there a module to provide node access based on Ip address?
The Restrict IP  module is what you're looking for.

This module allows administrators to restrict access to the site to an administrator defined set of IP addresses.
Anyone trying to access the site from an IP address not in the list of allowed IP addresses will be redirected to an access denied page with the message &quot;Your address is not in the list of allowed IP addresses&quot;. No blocks will be rendered, and no javascript will be added to the page. This will happen for any and all pages these users try to access.