- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
大家好,
我在 Squid-Proxy 中设置两个输出互联网。下面是“图”我想要得到的最终结果:
SERVER1: SQUID SERVER
SERVER2: Internet2
:: Client :: ----- SERVER1 ---> INTERNET (MODEM)
v
|
| -----> SERVER2 ----> INTERNET (MODEM 2)
我在 squid.conf 中配置了以下几行:
acl route_alt dstdomain .whatismyip.com
tcp_outgoing_address <IP_SERVER2> route_alt
重新启动 Squid 并尝试访问该站点,返回以下错误:“(99) 无法分配请求的地址
”
所以谷歌搜索,我发现并做了以下事情:echo 1>/proc/sys/net/ipv4/ip_nonlocal_bind
现在尝试访问该站点时,返回以下错误:“(22) 无效参数
”
这些错误,只有“(99) 无法分配请求的地址”显示在/var/log/squid/cache.log。另一个在任何地方都找不到它。
通过 Strace 我发现了以下内容:
connect(267, {sa_family=AF_INET, sin_port=htons(80),
sin_addr=inet_addr("72.233.89.199")}, 16) = -1 EINVAL (Invalid
argument)
Squid版本是3.1.19Linux版本:Fedora 15 64位内核版本:2.6.38.6-26.rc1
感谢任何帮助。
谢谢
最佳答案
tcp_outgoing_address 必须用于指定传出连接的本地 IP,您不能在那里使用外部 IP。如果你想用 Squid 控制路由,你应该这样做:
首先,您需要在 SERVER1 中有一个额外的 IP 地址,用于通过 SERVER2 进行通信。然后在squid.conf中加入:
tcp_outgoing_address IP2_SERVER1 ACL
之后你必须配置路由:
ip rule add table 100 from IP2_SERVER1
ip route add table 100 default via IP_SERVER2
最后两行设置当数据包以 IP2_SERVER1 作为源时的路由。
关于linux - 鱿鱼 tcp_outgoing_address 失败,返回 "(22) Invalid argument",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9872300/
大家好, 我在 Squid-Proxy 中设置两个输出互联网。下面是“图”我想要得到的最终结果: SERVER1: SQUID SERVER SERVER2: Internet2 :: Client
我是一名优秀的程序员,十分优秀!