The task is to redirect locally ports.
So for example, when you go in browser to http://a.a.a.a:80, you would like to be always redirected to http://b.b.b.b:80.
-> http://a.a.a.a:80
------------ -------------- | Host | ---> | a.a.a.a:80 | ------------ --------------
-> http://a.a.a.a:80
------------ -------------- | Host | ---> | b.b.b.b:80 | ------------ --------------
What first comes to one’s mind? Right, to just add a line to /etc/hosts:
127.0.0.1 localhost a.a.a.a b.b.b.b
That’s absolutely wrong, because with hosts file you can’t map one IP address to another.
The right way is to alter iptables OUTPUT table:
iptables -t nat -A OUTPUT -p tcp -d a.a.a.a --dport 80 -j DNAT --to-destination b.b.b.b:80
The explanation of this command is here.