我有一台带有 3 个 IPv4 的机器。让我们以它们为例:
8.8.8.1 (eth0) (主 ip) 8.8.8.2 (eth0:1) (ip 别名) 8.8.8.3 (eth0:2) (ip 别名)
如果我创建 SSH 隧道并将浏览器配置为使用该隧道作为袜子代理,则所有传出请求似乎仅通过主 IP。因此,如果我通过 IP 别名创建隧道并将其设置为 Firefox 中的代理,然后检查显示的 IP,始终显示主 IP。
有没有办法将传出连接设置为显示为我代理的 IP 别名?
答案1
我猜你的默认路由位于 eth0 持有的网络上。您的代理流量不会直接链接到您的 IP 别名(流量是通过 sshd 进程在本地生成的,该进程将管理到您计算机的返回路径)。因此,传出/代理的流量将基本上遵循标准机制:在默认接口上使用默认路由到达目的地。
您必须根据某些标准对数据包进行专门标记,才能通过其他 IP 路由它们。这是一个复杂的主题,我建议您看一下这个网站,它是该主题的官方通才文档:https://lartc.org/
您还可以将 SSH 服务器推送到保存 8.8.8.2 地址的 LXC 容器中(例如使用桥接设置来让 LXC 访问您的网络)。由于LXC进程与主主机隔离,只能使用您提供的资源,因此其所有流量将经过8.8.8.2...
哦,另请注意,在示例和/或专用网络中使用有效的路由 IP 地址并不是一个好主意:8.8.8.0/25 是 Google 拥有的有效互联网子网。不要重叠它,否则您可能无法访问某些 Google 内容。
请改用 10.xxx 或 192.168.xx。