Файл хостів може використовуватися лише для асоціації доменного імені з IP; він не може зіставити IP на IP.
Змінення IP-адрес може бути здійснено через брандмауер . В Linux брандмауер за замовчуванням управляється командами iptables . "man iptables" - це документація. Google "пояснить iptables" для вступних пояснень.
Деякі посилання:
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
Зокрема, ви хочете змінити запити OUTGOING зі свого ПК на IP-адресу ( <my_ip_address>
), щоб вони замість цього перейшли на іншу IP-адресу, у цьому випадку 127.0.0.1. Ви хочете виконати NAT ( Network Address Translation ) з урахуванням "IP-адреси призначення" ( <my_ip_address>
; наприклад, 123.45.67.89), змінивши його на інший "IP-адреса призначення" (127.0.0.1).
Спробуйте це (замість 123.45.67.89 поставте ip_address, який потрібно змінити):
iptables -t nat -A OUTPUT -p all -d 123.45.67.89 -j DNAT --to-destination 127.0.0.1
Деталі:
-t nat = таблиця для перекладу однієї адреси на іншу
-A OUTPUT = додати до списку правил для локально генерованих, вихідних пакетів. ПОПЕРЕДЖЕННЯ ПРО БЕЗПЕКА: Переконайтесь, що правило містить цю директиву про вихід. Якщо цього не зробити, правило створило б можливий отвір у захисті, оскільки відповідні вхідні пакети з віддалених місць також будуть спрямовані на localhost.
-p all = застосовується до всіх протоколів (tcp, udp та icmp).
-d 123.45.67.89 = початкова IP-адреса, до якої збирався пакет (його призначення).
-j DNAT = якщо правило відповідає (у цьому випадку, якщо вихідний пакет має призначення IP 123.45.67.89), тоді обробляйте його з DNAT, що змінює призначення.
--to-призначення 127.0.0.1 = повідомляє DNAT, що робити; замініть початкове місце призначення на "127.0.0.1".
(ПРИМІТКА. Якщо у вас склалася більш складна ситуація, наприклад перехоплення запитів на конкретні веб-сторінки, альтернативним рішенням може бути використання програмного забезпечення "проксі".)