我有 AP 2 接口,它们的 ip 分别是 192.168.200.1、192.168.201.1,从每个接口进行 HTTP 访问我将其重定向到不同的 squid 端口
192.168.200.0/24 ==> 192.168.200.1:3129
192.168.201.0/24 ==> 192.168.200.1:3130
在 iptables.conf 中添加以下行
-A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.200.1:3129
-A PREROUTING -i wlan1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.201.1:3130
并在 squid3.conf 中
http_port 192.168.200.1:3129 intercept name=ap1
http_port 192.168.201.1:3130 intercept name=ap2
access_log daemon:/var/log/squid3/ap1/access.log squid
access_log daemon:/var/log/squid3/ap2/access.log squid
但是现在要将相同的数据写入两个文件,如何将访问数据分离到每个 access.log 文件中。
答案1
据我所知,Squid 不支持将事件内部拆分到不同的 access_log 文件,而 Apache 则可以按虚拟主机进行记录。
如果当前的 acces_log 不包含您需要的信息,您可以使用日志格式指示。
如果你需要不同的日志文件是为了生成统计数据,那么运行预处理脚本来按客户端 IP 地址过滤现有日志就很简单了