我已经搜索了有关如何执行此操作的详细信息,但没有成功 - 我想知道是否有人可以提供一些建议。
我有 2 个网卡(在我的情况下是 LAN 和 3G),LAN 是我的主要接口(静态),3G 是动态的。
我在机器上安装了自定义代理服务器,可以通过 LAN 的静态外部 IP 端口 19000 访问。它可以工作,但它通过我的主要 LAN 接口路由,我需要通过 3G 接口路由此代理流量。
我的接口和路由表如下所示:
eth0 Link encap:Ethernet HWaddr 0e:93:9f:f1:98:10
inet addr:10.100.9.35 Bcast:10.100.9.255 Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr 02:1e:10:1f:00:00
inet addr:10.226.59.139 Bcast:10.226.59.143 Mask:255.255.255.248
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.100.9.1 0.0.0.0 UG 0 0 0 eth0
10.100.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.226.59.136 0.0.0.0 255.255.255.248 U 0 0 0 eth1
ip route list
default via 10.100.9.1 dev eth0
10.100.9.0/24 dev eth0 proto kernel scope link src 10.100.9.35
10.226.59.136/29 dev eth1 proto kernel scope link src 10.226.59.139
接口 eth0 是我的 LAN 卡,接口 eth1 是我的 3G 卡。问题还在于,3G 接口 IP 每次重新连接到移动互联网时都会不断变化,因此 eth1 上的 IP 每次都不同。
因此,假设使用 squid 代理可以将 http_port 配置为 tcp_outgoing_address,但是如果 eth1 地址每次都会改变,那么应该设置什么地址?
例如。
http_port 19000
tcp_outgoing_address ?
我做了一个小测试,将一个外部 Web IP 添加到路由表,然后通过代理访问它,并且它通过 3G eth1 正确路由。
ip route replace 216.146.206.83 dev eth1
但在这种情况下,我应该添加到我的代理服务器以将每个访问的IP添加到我的路由表中并强制它通过eth1,但这可能会导致路由表中出现大量IP...
我现在不知道还能尝试什么。帮忙吗?欢迎任何建议。