强制代理流量通过特定的 3G 加密狗接口路由

强制代理流量通过特定的 3G 加密狗接口路由

我已经搜索了有关如何执行此操作的详细信息,但没有成功 - 我想知道是否有人可以提供一些建议。

我有 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...

我现在不知道还能尝试什么。帮忙吗?欢迎任何建议。

相关内容