Web 应用程序的沙盒环境可以通过 IP 地址直接访问:http://<my_ip_address>
无需登录名。
有没有办法在我的本地机器上创建一个名为的虚拟主机,<my_ip_address>
并更改 /etc/hosts 以便它“重定向”到我的本地主机?
127.0.0.1 <my_ip_address>
那么当我加载 URL 时,http://<my_ip_address>
浏览器会指向我的本地主机吗?我已经可以重定向域名了。
答案1
主办方文件只能用于将域名与 IP 关联;它无法将 IP 映射到 IP。
更改 IP 可以通过防火墙在 Linux 上,默认防火墙由iptables命令。“man iptables”是文档。Google“explain 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。您希望执行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 指令。如果不这样做,规则可能会造成安全漏洞,因为匹配的来自远程位置的传入数据包也将被定向到本地主机。
-p 全部= 适用于所有协议(tcp、udp 和 icmp)。
-d 123.45.67.89= 数据包要发送到的原始 IP 地址(目的地)。
-j DNAT= 如果规则匹配(在本例中,如果传出的数据包的目标 IP 为 123.45.67.89),则使用 DNAT 处理它,从而改变目的地。
--到目的地 127.0.0.1= 告诉 DNAT 要做什么;用“127.0.0.1”替换原始目的地。
(注意:如果您遇到更复杂的情况,例如拦截特定网页的请求,则替代解决方案可能是使用“代理”软件。)