在squid 3.3.8中使用external_acl_type

时间:2013-12-09 11:05:37

标签: python mysql squid

使用Squid 3.3.8,我需要从Mysql检查客户端ip / mac。我听说过external_acl_types并写了一个小python脚本。这个脚本接受一个参数[ip / mac]并用mysql表检查它,如果没有结果它打印“ERR”,如果有这个IP的记录则打印“OK”。我读到帮助程序必须返回“ERR”或“OK”,这就是为什么这样设计的原因。但是现在我不知道如何获取客户端的ip / mac地址作为参数传递给脚本..任何人都可以解释一下吗?或者也许有人知道我在哪里可以得到这种类型的鱿鱼帮助程序..

此致

1 个答案:

答案 0 :(得分:1)

我也使用squid_db_auth进行身份验证,请使用

    sub ip_check_client()

  {
 my %hostname;

while (<>) {
    my $line = $_;
    my($host, $rest) = split / /, $line, 2;
    if ($host =~ /^\d+\.\d+\.\d+\.\d+$/) {
       unless (exists $hostname{$host}) {
       $hostname{$host} = gethostbyaddr(inet_aton($host), AF_INET);
        }
        if ($hostname{$host}) {
        $line = "$hostname{$host} $rest";
        }
        }
           return $line;
     }
  }

请仅用于ip捕获