El archivo de hosts solo se puede usar para asociar un nombre de dominio con una IP; no puede asignar IP a IP.
La alteración de las direcciones IP puede realizarse mediante un firewall . En Linux, el firewall predeterminado está controlado por los comandos de iptables . "man iptables" es la documentación. Google "explica iptables" para explicaciones introductorias.
Algunos enlaces:
http://linux.die.net/man/8/iptables
http://www.linuxnix.com/2009/12/iptables-in-linux-explained.html
http://blog.adityapatawari.com/2011/12/ip-packet-filtering-iptables-explained.html
Específicamente, desea cambiar las solicitudes SALIENTES de su PC a una dirección IP ( <my_ip_address>
), para que en su lugar vayan a una dirección IP diferente, en este caso 127.0.0.1. Desea realizar NAT ( traducción de direcciones de red ), dada la "IP de destino" ( <my_ip_address>
; por ejemplo, 123.45.67.89), cambiándola a una "IP de destino" diferente (127.0.0.1).
Pruebe esto (en lugar de 123.45.67.89 , coloque la dirección_IP que necesita ser alterada):
iptables -t nat -A OUTPUT -p all -d 123.45.67.89 -j DNAT --to-destination 127.0.0.1
Detalles:
-t nat = tabla para traducir una dirección a otra
-A OUTPUT = agregar a la lista de reglas para paquetes salientes generados localmente. ADVERTENCIA DE SEGURIDAD: asegúrese de que la regla incluya esta directiva de SALIDA. Si no lo hace, la regla crearía un posible agujero de seguridad, porque los paquetes entrantes coincidentes de ubicaciones remotas también se dirigirían a localhost.
-p all = se aplica a todos los protocolos (tcp, udp e icmp).
-d 123.45.67.89 = la dirección IP original a la que iba el paquete (su destino).
-j DNAT = si la regla coincide (en este caso, si un paquete saliente tiene una IP de destino 123.45.67.89), entonces trátelo con DNAT, que altera el destino.
--to-destination 127.0.0.1 = le dice a DNAT qué hacer; reemplace el destino original con "127.0.0.1".
(NOTA: Si tuvo una situación más compleja, como interceptar solicitudes de páginas web específicas, una solución alternativa podría ser utilizar un software "proxy").
iptables -t nat --list --line-numbers
luego elimine las que nunca gobiernan por ese número:iptables -t nat -D OUTPUT <number>