пробую настроить связку shorewall + transparent squid на cds
Результат - ноль
Может есть где вменяемая дока для кальки
и еще вопрос - пинг в инет по IP настроить удалось, а вот по ДНС -нет.
shorewall ни как не хочет воспринимать строку с правилом 53/ACCEPT
Я делал по этому подобию
https://habrahabr.ru/post/314718/
https://habrahabr.ru/post/272733/
но столкнулся с загрузкой камня сквидом под 100%, с чем связано хз.
Если что то вот конфа:
"Прозрачный» Squid с разграничением доступа"
Создаем pem-файлик
Перейдем в каталог /etc/squid. Создадим pem файлик, необходимый для SSL-Bump’инга:
openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squidCA.pem -out squidCA.pem
Итак, файл /etc/squid/squid.conf:
acl localnet src 192.168.10.0/24 # RFC1918 possible internal network
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
dns_nameservers 192.168.10.190 192.168.10.6
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
#прозрачный порт указывается опцией intercept
http_port 3128 intercept options=NO_SSLv3:NO_SSLv2
#также нужно указать непрозрачный порт, ибо если захотите вручную указать адрес
#прокси в браузере, указав прозрачный порт, вы получите ошибку доступа, поэтому нужно
#указывать непрозрачный порт в браузере, если конечно такое желание будет, к тому же в логах #сыпятся ошибки о том, что непрохрачный порт не указан=)
http_port 3130 options=NO_SSLv3:NO_SSLv2
#и наконец, указываем HTTPS порт с нужными опциями
https_port 3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem
always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
#укажем правило со списком блокируемых ресурсов (в файле домены вида .domain.com)
acl blocked ssl::server_name "/etc/squidGuard/db/blockedsites"
acl step1 at_step SslBump1
ssl_bump peek step1
#терминируем соединение, если клиент заходит на запрещенный ресурс
ssl_bump terminate blocked
ssl_bump splice all
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
coredump_dir /var/cache/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
cache_dir aufs /var/cache/squid 10240 16 256
maximum_object_size 512000 KB
reply_body_max_size none
minimum_object_size 3 KB
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
logfile_rotate 4
#Т.к. нам надо блокировать еще и http а не только https то подключаем squidGuard
url_rewrite_program /usr/bin/squidGuard
url_rewrite_children 10
Правим squidGuard.conf
logdir /var/log/squidGuard
dbhome /etc/squidGuard/db
dest blockedsites {
domainlist blockedsites
}
acl {
default {
pass !blockedsites all
redirect http://cvrros.edu.yar.ru/images/vedutsya_tehnicheskie_raboti_ili_stra_55/stop_w171_h170.png
}
}
Dbhome папка содержашая файлы с запрещенными сайтами в данном случае у нас там один файлик blockedsites
При обращении по http на запрещенный сайт выдаст стандартную заглушку Squid’а, а по https — «ERR_SSL_PROTOCOL_ERROR».
Заруливаем весь трафик в шореволе на сквидовые порты:
REDIRECT loc 3128 tcp 80
REDIRECT loc 3129 tcp 443
Если нужен клиент в обход прокси пишем в правиле IP-адрес с символом !
REDIRECT loc:!192.168.10.111 3128 tcp 80
REDIRECT loc:!192.168.10.111 3129 tcp 443
Необходимо, чтобы у клиентов и в настройках Squid’а были одинаковые DNS!
Получил 100% cpu в работе…