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

Прокси-сервер Squid: ошибка ACL по запросу curl

мой squid.conf (squid3)

acl localnet src 192.168.1.0/255.255.255.0
acl localweb src 192.168.199.0/255.255.255.0
http_port 3128 transparent
http_access allow localnet
http_access allow localweb

мой (сервер squid, который также запускает сервер dhcp) ip:

eth0 ip: 192.168.1.10 bcast: 192.168.1.255 сетевая маска: 255.255.255.0

eth1 ip: 192.168.199.1 bcast: 192.168.199.255 сетевая маска: 255.255.255.255

Клиентская команда, с которой я хотел бы работать:

curl -x 192.168.1.10:3128 www.google.com

Исходный IP-адрес клиента, на котором запущен curl:

IP 192.168.199.10 bcast 192.168.199.255 сетевая маска 255.255.255.0

В дополнение к серверу я также добавил следующие правила iptables:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128

Проблема в том, что при выполнении запроса клиенту возвращается следующее сообщение:

192.168.199.10 TCP_DENIED GET www.google.com Err_Access_Denied by squid localhost (squid 3.1.19)

Если я сделаю простой sudo cat /var/log/squid3/access.log, я увижу:

1 192.168.199.10 TCP_DENIED / 403 3629 ПОЛУЧИТЬ http://www.google.com

И если я сделаю curl -L -V, я получу много информации, но подведу итог:

GET HTTP / 1.1 Пользовательский агент ***** curl
Хост: www.google.com Принять: / Прокси-соединение: Keep-Alive HTTP 1.0, предполагается закрытие после тела HTTP / 1.0 403 Запрещенный сервер: squid / 3.1.19 X-Cache: Отсутствует с localhost x-Cache-Lookup: НЕТ с localhost: 3128 Через: 1.0 localhost (squid /3.1.19) Закрытие соединения # 0

Итак, я предполагаю, что мой клиент достигает хоста, на котором запущен squid, но Squid не может переслать запрос. я имел http_access allow all , но это тоже не сработало.