Назад | Перейти на главную страницу

Можно ли разрешить конкретному пользователю или IP-адресу обходить squidguard?

Недавно настроил малину как маленький сервер. В частности, я установил DHCP, прокси-сервер squid и squidGuard для регистрации сетевой активности, которая проходит через мою малину. На самом деле у меня есть черный список на squidGuard, в котором запрещен доступ к игровым сайтам.

Моя текущая версия ОС: Linux raspberrypi 4.14.98-v7 + # 1200 SMP Вт, 12 фев, 20:27:48 GMT 2019 armv7l GNU / Linux.

Кальмар: Версия 3.5.23, SquidGuard: 1.5 Berkeley DB 5.3.28: (9 сентября 2013 г.).

Мой squid.conf файл:

acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
redirect_program /usr/bin/squidGuard
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128
cache_dir ufs /var/spool/squid 1000 16 256
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

Мой squidGuard.conf файл:

dbhome /var/lib/squidguard/db
logdir /var/log/squidguard
time workhours {
    weekly mtwhf 08:00 - 16:30
    date *-*-01  08:00 - 16:30
}
src admin {
    ip              1.2.3.4  1.2.3.5
    user            root foo bar
    within          workhours
}

src foo-clients {
    ip    172.16.2.32-172.16.2.100 172.16.2.100 172.16.2.200
}

src bar-clients {
    ip    172.16.4.0/26
}

dest good {   }
dest local {    }
dest porn {   }
dest gamble{
    domainlist    gamble/domains
    urllist    gamble/urls
}

acl {
    admin {
            pass     any
    }
    foo-clients within workhours {
            pass     good !in-addr !porn any
    } else {
            pass any
    }
    bar-clients {
            pass    local none
    }
    default {
            pass    !gamble any
            redirect http://admin.foo.bar.de/cgi-bin/blocked.cgi? 
                     clientaddr=%a&clientname=%n
                     &clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u
    }
}

После всей этой информации, например, есть пользователь A и пользователь B, A может посещать игровые сайты, а B - нет.

Есть ли способ добиться такого результата с помощью squid / squidGuard? Но я не хочу, чтобы этот пользователь А обходил прокси-сервер, только разрешил ему просматривать сайты с азартными играми.

Есть ли способ добиться такого результата с помощью squid / squidGuard? Но я не хочу, чтобы этот пользователь А обходил прокси, а разрешал ему только просматривать сайты с азартными играми? Да, это возможно

вот пример кода, если пользователь A использует IP в диапазоне foo-clients

src foo-clients {
    ip    172.16.2.32-172.16.2.100 172.16.2.100 172.16.2.200
}
acl {
    admin {
            pass     any
    }
    foo-clients {
            pass     good gamble !porn any
    } 
    bar-clients {
            pass    local none
    }
    default {
            pass    !gamble any
            redirect http://admin.foo.bar.de/cgi-bin/blocked.cgi? 
                     clientaddr=%a&clientname=%n
                     &clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u
    }
}