Squid代理服务器能否支持不同用户绑定不同网卡?
我使用了basic_ncsa_auth进行用户身份验证,我的需求是实现不同用户使用不同的网卡出口IP访问目标站点,我在vmware虚拟机环境下部署Squid 6.6版本,vmware上配置了两块网卡:10网段,20网段。vmware虚拟机运行ip addr后本机ip是:192.168.10.100
我的思路如下:
1,用户user1代理使用10网段出口IP(102.168.10.xxx),user2用户访问代理使用20网段出口ip(192.168.20.xxx)。
我在Windows使用cmd运行:curl -x user2:user2@192.168.10.101:3128 http://www.baidu.com,我的目的是这个出口IP需要变更为20网段,但是Squid日志出口ip仍然是10网段,必须要把@后面的ip修改为20网段才可以实现,但是这样就无意义了?我的测试失败。
2,思路二,通过设置不同端口,实现不同出口ip。比如访问192.168.10.101:1111,出口ip是10网段的网卡1,访问192.168.10.101:2222,出口ip是20网段的网卡2
我的思路以上两个,哪一个通过修改Squid.conf更容易实现,但是我测试下来没有任何效果!
我参考的是这篇文档:http://www.junww.com/server/2017/0214/218.html
思路二:基于不同端口的出口IP绑定
这种方法通过不同端口来实现不同的出口IP,理论上更容易实现。可以在Squid配置文件中设置不同的监听端口,并为每个端口指定不同的出口IP:
使用
tcp_outgoing_address
选项进行网络配置定义访问控制列表 (ACL)
根据用户 IP 地址或其他标识符创建 ACL。
配置
tcp_outgoing_address
为每个 ACL 指定不同的出口 IP。
示例配置
在这个示例中,来自
192.168.1.0/24
网段的请求将通过10.0.0.1
出口 IP 访问目标网站,而来自192.168.2.0/24
网段的请求将通过10.0.0.2
出口 IP 访问目标网站。你可以根据实际需求调整 ACL 和出口 IP 的配置。如果有更多的用户或网卡,可以继续添加相应的 ACL 和
tcp_outgoing_address
规则。