How to allow all connections from specific IP address?

How to properly allow all connections from specific IP address?

"All connections" means don't match tcp on your specific IP allow rule!

Just remove -p tcp and you'll have ping (ICMP) and all the other IP protocol stuff allowed.

Also please note that the OUTPUT rule here is not useful. With the first rule you allow tcp to 192.168.0.45, with the second one you allow anything to anybody. So the first one has no effect!

In order to get what you want edit the input rule:

iptables -A INPUT -s 192.168.0.45/32 -j ACCEPT

And remove the OUTPUT rule you made for 192.168.0.45.