我是一名软件开发人员,有时我会把工作带回家。但是,每次我这样做时,我都需要将我的软件连接的 IP 地址从 172.28.38.270 更改为 127.0.0.1。我曾尝试通过这种方式在主机文件中进行更改,127.0.0.1 172.28.38.270
但由于某种原因,这种方法不起作用,当我使用 172... IP 时,它仍然尝试连接到 172... 而不是 127...。
有人知道如何解决这个问题吗?或者我是否只需要继续更改 IP?
答案1
首先,172.28.38.270 不是有效的 IP。如果您希望将某个 IP 重定向到您的本地主机,只需设置一个虚拟接口并将其与您想要重定向的 IP 关联:
#ifconfig eth0:0 172.28.2.1/24
答案2
处理此问题最简单的方法是使用主机名而不是 IP 来引用远程 PC。然后,您只需要在主机文件在您使用的两台机器上。换句话说,myfancydnsname.int
在客户端应用程序的主机名字段中使用 而不是172.28.38.270
。这将允许您在您最有可能感兴趣的 TCP\IP 堆栈位置管理所有这些。
主机文件不提供创建 IP 别名的机制(它们修改主机名,而主机名在堆栈上比 IP 别名高出很多)。要执行的操作因 OS\setup 而异。以下是一些示例,说明如何创建真正的 IP 别名:
#Linux
sudo ifconfig en1 inet 33.33.33.33/32 alias
#Windows
netsh interface ip add address "Local Area Connection" 33.33.33.33 255.255.255.255
如您所见,这两种方法都只需将另一个 IP 添加到当前接口即可。因此,您将用33.33.33.33
想要假装的 IP 替换它(172.28.38.270
)。缺点是此 IP 必须在两个网络上都有效。这意味着,只有当您不介意更改网络的其余部分以匹配这个新子网时,我才会为您提供问题的解决方案。否则您还希望它如何工作?想想看,如果您要模仿另一个 IP,那么该 IP 必须在网络上有效,路由器才会知道如何处理它。
如果您安装了虚拟机,则可以使用虚拟适配器来解决这个问题。这将允许您模拟整个子网,从而绕过将当前子网变为兼容子网的要求。