Файл Hosts может использоваться только для связи доменного имени с 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 ( преобразование сетевых адресов ), учитывая «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 = добавить в список правил для локально сгенерированных исходящих пакетов. ПРЕДУПРЕЖДЕНИЕ О БЕЗОПАСНОСТИ: Убедитесь, что правило содержит эту директиву OUTPUT. Если вы этого не сделаете, правило создаст возможную дыру в безопасности, поскольку соответствующие входящие пакеты из удаленных местоположений также будут направлены на локальный хост.
-p all = применяется ко всем протоколам (tcp, udp и icmp).
-d 123.45.67.89 = исходный IP-адрес, на который собирался пакет (пункт назначения).
-j DNAT = если правило соответствует (в этом случае, если исходящий пакет имеет IP-адрес получателя 123.45.67.89), обработайте его с помощью DNAT, который изменяет пункт назначения.
--to-destination 127.0.0.1 = сообщает DNAT, что делать; замените первоначальный пункт назначения на «127.0.0.1».
(ПРИМЕЧАНИЕ. Если у вас возникла более сложная ситуация, например, перехват запросов для определенных веб-страниц, альтернативным решением может быть использование программного обеспечения «прокси».)
iptables -t nat --list --line-numbers
затем удалите те, которые никогда не управляют этим числом:iptables -t nat -D OUTPUT <number>