Answers:
主机文件只能用于将域名与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
具体来说,您想将PC的OUTGOING请求更改为IP地址(<my_ip_address>
),以使它们转到另一个IP地址,在本例中为127.0.0.1。给定“目标IP”(例如123.45.67.89),您要执行NAT(网络地址转换),将其<my_ip_address>
更改为其他“目标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>