мой 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 , но это тоже не сработало.