我有一个软件包,它被硬编码为打开与某个本地 IP 地址的连接。不幸的是,本地网络设置已更改,我无法访问源代码(说来话长)。
有没有办法 - 像 ssh 隧道一样 - 将某个 IP 地址重定向到另一个 IP 地址?
例如,我的软件将以透明的方式联系192.168.1.100
,并将其重定向到另一台机器上的真实地址。192.168.1.15
有任何想法吗?
答案1
我的一位同事向我介绍了iptables:
iptables -t nat -A OUTPUT -d 192.168.1.100 -j DNAT --to-destination 192.168.1.15
答案2
在客户端上添加服务器 IP 到服务器真实 IP 的静态路由。在服务器上将服务器 IP 地址添加为子接口。
server# ifconfig eth0:1 192.168.1.100
client# route add -host 192.168.1.100 gw 192.168.1.15
答案3
在服务器上添加服务器 IP 作为子接口。将该网络中的另一个 IP 作为子接口添加到客户端计算机。
假设他们当前在同一个网络上。
server# ifconfig eth0:1 192.168.1.100
client# ifconfig eth0:1 192.168.1.101
答案4
我认为这是可行的方法:
sudo ip addr add 192.168.1.100 dev eth0
这只是将 IP 地址添加到eth0