Hosts só pode ser usado para associar um nome de domínio a um IP; não é possível mapear o IP para IP.
A alteração de IPs pode ser feita por um firewall . No Linux, o firewall padrão é controlado pelos comandos iptables . "homem iptables" é a documentação. Google "explica iptables" para explicações introdutórias.
Alguns links:
Especificamente, você deseja alterar as solicitações de saída do seu PC para um endereço IP ( <my_ip_address>
), para que elas passem para um endereço IP diferente, neste caso 127.0.0.1. Você deseja executar NAT ( Network Address Translation ), dado o "IP de destino" ( <my_ip_address>
; por exemplo, 123.45.67.89), alterando-o para um "IP de destino diferente" "(127.0.0.1).
Tente isto (no lugar de 123.45.67.89 , coloque o ip_address que precisa ser alterado):
iptables -t nat -A OUTPUT -p all -d 123.45.67.89 -j DNAT --to-destination 127.0.0.1
Detalhes:
-t nat = tabela para traduzir um endereço para outro
-A OUTPUT = anexa à lista de regras para pacotes gerados localmente e enviados. AVISO DE SEGURANÇA: Certifique-se de que a regra inclua esta diretiva OUTPUT. Se você não fizer isso, a regra criaria uma possível falha de segurança, pois a correspondência de pacotes recebidos de locais remotos também seria direcionada para o host local.
-p all = aplica-se a todos os protocolos (tcp, udp e icmp).
-d 123.45.67.89 = o endereço IP original para o qual o pacote estava indo (seu destino).
-j DNAT = se a regra corresponder (nesse caso, se um pacote de saída tiver o IP de destino 123.45.67.89), manipule-o com DNAT, que altera o destino.
- até o destino 127.0.0.1 = diz à DNAT o que fazer; substitua o destino original por "127.0.0.1".
(OBSERVAÇÃO: se você tivesse uma situação mais complexa, como interceptar solicitações para páginas da Web específicas, uma solução alternativa poderia ser usar o software "proxy").