Centos 7 + squid 3.5.2 + iptables/firewalld

21 Записи
3 Пользователи
0 Reactions
61 Тыс. Просмотры
Записи: 4
(@aldyn)
New Member
Присоединился: 8 лет назад

А не могли-бы выложить примерные рабочие конфигурации iptables и Squidа - есть проблема с Sams2 в  примерно такой-же конфигурации, для анализа и поиска причины проблемы.

Ответить
Записи: 926
Admin
(@zerox)
Prominent Member
Присоединился: 11 лет назад

iptables не вижу смысла приводить, у меня там очень большая конфигурация. Сервер, где установлен squid, имеет полный выход в интернет. Этого полностью достаточно для нормальной работы прокси у пользователей. Рекомендую начинать отладку именно с такой конфигурации.

Вот конфиг сквида, который генерирует самс. Руками в этот конфиг не лазию, все через web интерфейс.

auth_param ntlm program /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --domain=XS
auth_param ntlm children 30
auth_param ntlm keep_alive off
acl auth proxy_auth REQUIRED
#
# Recommended minimum configuration:
#

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
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
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

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

#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow auth
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

# Squid normally listens to port 3128
http_port 3128

# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

#
# Add any of your own refresh_pattern entries above these.
#
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

# TAG: acl
acl Sams2Time1 time MTWHFAS 23:00-23:59
acl Sams2Template1 proxy_auth user1
acl Sams2Template1 proxy_auth user2
acl Sams2Template1 proxy_auth user3
acl Sams2Template1 proxy_auth user4
acl Sams2Template1 proxy_auth user5
acl Sams2Template1 proxy_auth user6
acl Sams2Template1 proxy_auth user7
acl Sams2Template1 proxy_auth user8
acl Sams2Template1 proxy_auth user9
acl Sams2Template1 proxy_auth user10

# TAG: url_rewrite_access
acl Sams2Proxy dst 10.1.3.127
url_rewrite_access deny Sams2Proxy

# TAG: url_rewrite_program
url_rewrite_program /usr/local/bin/sams2redir

# TAG: url_rewrite_children
url_rewrite_children 5

# TAG: delay_pools

# TAG: delay_class

# TAG: delay_access

# TAG: delay_parameters

# TAG: http_access
# Setup Sams2 HTTP Access here
http_access allow Sams2Template1
http_access allow Sams2Template3


# TAG: http_access2

# TAG: icp_access

visible_hostname xs-proxy

Вот конфиг самса:

;
; This is config file for sams2
; A line started with ; or # is a comment
;

; Database engine
; To use an engine it must be enabled during configuration
DB_ENGINE=MySQL
;DB_ENGINE=PostgreSQL
;DB_ENGINE=unixODBC

; Hostname where database is runing
; This parameter is not neccesary for unixODBC engine
DB_SERVER=localhost

; Database name
SAMS_DB=sams2db

;
ODBC=0
PDO=0
; Source as defined in odbc.ini
; This parameter is not neccesary for engine other than unixODBC
ODBCSOURCE=sams_mysql

; Username for database connection
DB_USER=sams

; Password for database connection
DB_PASSWORD=R1nex44m

SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/etc/squid
SQUIDLOGDIR=/var/log/squid
SQUIDCACHEDIR=/usr/local/apache2

WBINFOPATH=/usr/local
SAMSPATH=/usr/local
SQUIDPATH=/usr/sbin
SQUIDGUARDLOGPATH=/var/log
SQUIDGUARDDBPATH=/var/db/squidguard
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
REJIKPATH=/usr/local/rejik
SHUTDOWNCOMMAND=shutdown -h now

; Proxy id
; Identificator of proxy, starting from 1
CACHENUM=1

Ответить
Записи: 4
(@aldyn)
New Member
Присоединился: 8 лет назад

В принципе всё точно такое-же - за исключением отсутствия в конфиге Squid visible_hostname xs-proxy 

 и другого интервала времени. Sams2 аналогичен. Всё дело похоже в неверных настройках iptables. Вникать в iptables довольно трудно, потихоньку вникаю в логику.

Прокси был в той-же подсети, что и тестовый комп - из-за этого в экспериментах с PREROUTING и NAT Sams2 часто падал. Вечером буду пробовать с компом из другой подсети.

Хотелось-бы посмотреть строки iptables касательно перенаправления 80,8080-х портов на 3128. Вариантов много в интернете - у меня пока не получается.  

Ответить
Записи: 926
Admin
(@zerox)
Prominent Member
Присоединился: 11 лет назад

Я не использую перенаправление портов на itables. Настройки прокси указаны у каждого пользователя на компьютере. При перенаправлении портов прокси работает в так называемом прозрачном режиме и при этом не может блокировать доступ к https сайтам. А сейчас почти все сайты такие. Так что нет смысла в этом. 

Для блокировки https сайтов в прозрачном режиме, нужно редактировать исходники сквида. Подробнее об этом можно прочитать на хабре -  https://habrahabr.ru/post/267851/

Ответить
Записи: 4
(@aldyn)
New Member
Присоединился: 8 лет назад

Чё-то я совсем плаваю... то есть, при использовании вложенной вами iptables.sh, подставив свои айпишки сетевых карт, с данными конфигами Squid и Sams2, политикой в домене задаю юзерам прокси-порт 3128 - и имею профит... Пробовал на нескольких компах. https идёт, а http нет. Грешил на Sams2, но и в iptables.sh совсем нет упоминания про порт 3128 и NAT закомментен. Непрозрачному Squid'у совсем не нужно перенаправление и NAT!?    Как слепой котёнок тычусь и в целом конешно кривые hands.dll:)

Ответить
Страница 4 / 5
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar