Squid как прозрачный прокси сервер (что значит строка 10.0.0.0/24)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Cartmans
Сообщения: 6
ОС: sasas

Squid как прозрачный прокси сервер

Сообщение Cartmans »

хочу настроить Squid как прозрачный прокси. На компе 2 сетевухи:
eth0 192.168.1.35 для выхода в интернет
eth1 192.168.2.1 для подключения к локальной сети
в одном посте было описания конфига Squid такого содержания

Код: Выделить всё

 eth0 192.168.1.111 для выхода в интернет
 eth1 10.0.0.1 для подключения к локальной сети
http_port 3128
acl lan src 192.168.1.111 10.0.0.0/24
http_access allow localhost
http_access allow lan
http_access deny all

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy  on
httpd_accel_uses_host_header on

так вот мне не совсем понятно что значит строка 10.0.0.0/24
это что краткая форма записи диапазона ip адресов типа (10.0.0.0 ; 10.0.0.1; 10.0.0.2 …. 10.0.0.24 ) или что то другое ?
Спасибо сказали:
Аватара пользователя
butch
Сообщения: 331
ОС: :OC

Re: Squid как прозрачный прокси сервер

Сообщение butch »

Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Squid как прозрачный прокси сервер

Сообщение danger08 »

Cartmans писал(а):
14.05.2009 12:53
так вот мне не совсем понятно что значит строка 10.0.0.0/24
это что краткая форма записи диапазона ip адресов типа (10.0.0.0 ; 10.0.0.1; 10.0.0.2 …. 10.0.0.24 ) или что то другое ?

http://www.squid-cache.org/Doc/config/acl/

http://ru.wikipedia.org/wiki/IP-адрес
http://ru.wikipedia.org/wiki/Маска_подсети
http://ru.wikipedia.org/wiki/Бесклассовая_маршрутизация
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Cartmans
Сообщения: 6
ОС: sasas

Re: Squid как прозрачный прокси сервер

Сообщение Cartmans »

т.е в моем случаи нужно так :
acl lan src 192.168.1.35 192.168.2.0/24
Спасибо сказали:
Burmuley
Сообщения: 44

Re: Squid как прозрачный прокси сервер

Сообщение Burmuley »

Cartmans писал(а):
14.05.2009 13:34
т.е в моем случаи нужно так :
acl lan src 192.168.1.35 192.168.2.0/24


скорее
acl lan src 192.168.2.0/24
--
Registered Linux user number 366113.
Спасибо сказали:
Cartmans
Сообщения: 6
ОС: sasas

Re: Squid как прозрачный прокси сервер

Сообщение Cartmans »

В общем сейчас мой конфиг выглядит так

Код: Выделить всё

 http_port 3128 transparent
 dns_nameservers 192.168.1.1
 acl all src all
 acl manager proto cache_object
 acl lan src 192.168.1.35 192.168.2.0/24

 acl localhost src 127.0.0.1/255.255.255.255
 acl SSL_ports port 443        # https
 acl SSL_ports port 563        # snews
 acl SSL_ports port 873        # rsync
 acl Safe_ports port 80        # http
 acl CONNECT  method CONNECT

 http_access allow localhost
 http_access allow manager localhost
 http_access allow lan
 http_access deny CONNECT !SSL_ports
 http_access deny all

пытаюсь теперь настроить брандмауэр добавив для этого правила пересылки http-запросов, приходящих на порт 80, на порт прокси-сервера Squid

Код: Выделить всё

iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to 192.168.1.35:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128

но при попытки добавить первое правило получаю ошибку «Bad argument `–dport'»
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Squid как прозрачный прокси сервер

Сообщение danger08 »

Cartmans писал(а):
14.05.2009 15:29
пытаюсь теперь настроить брандмауэр добавив для этого правила пересылки http-запросов, приходящих на порт 80, на порт прокси-сервера Squid

Код: Выделить всё

iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to 192.168.1.35:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128

но при попытки добавить первое правило получаю ошибку «Bad argument `–dport'»

И правильно ругается, читайте здесь: http://www.opennet.ru/docs/RUS/iptables/#DNATTARGET.
Скажу сразу, чтобы squid работал только на локалку, никаких DNAT-правил не нужно.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Cartmans
Сообщения: 6
ОС: sasas

Re: Squid как прозрачный прокси сервер

Сообщение Cartmans »

Попробовал настроить как показано в http://itdoc.com.ua/2009/01/ustanovka-debi...arent-iptables/

но ничего не получилось , сейчас у меня следующее:
скрипт /etc/network/if-up.d/00-firewall следующего
содержания:

Код: Выделить всё

#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin
#
# удалить все действующие правила
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
# Всегда принимать трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT
# Разрешить соединения, которые инициированы изнутри (eth1)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить доступ из LAN-сети к внешним сетям
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Запретить forward извне во внутреннюю сеть
iptables -A FORWARD -i eth0 -o eth0 -j REJECT

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


конфигурационный файл squid'а — /etc/squid/squid.conf

Код: Выделить всё

 http_port 127.0.0.1:3128
 http_port 192.168.1.35:3128 transparent
 dns_nameservers 192.168.1.1
 acl all src all
 acl manager proto cache_object
 acl office  src  192.168.1.35 192.168.2.0/24

 acl localhost src 127.0.0.1/255.255.255.255
 acl SSL_ports port 443        # https
 acl SSL_ports port 563        # snews
 acl SSL_ports port 873        # rsync
 acl Safe_ports port 80        # http
 acl CONNECT  method CONNECT

 http_access allow localhost
 http_access allow manager localhost
 http_access allow office

 http_access deny CONNECT !SSL_ports
Спасибо сказали:
Burmuley
Сообщения: 44

Re: Squid как прозрачный прокси сервер

Сообщение Burmuley »

http_port 127.0.0.1:3128 transparent
http_port 192.168.1.35:3128 transparent

ибо когда пакет редиректится на локалхосте, то и подключение идет через lo интерфейс, а там он у Вас не в прозрачном режиме...

еще лучше сделать так:

http_port 3128 transparent
и добавить правило
iptables -A INPUT -i eth1 --dport 3128 -j REJECT
--
Registered Linux user number 366113.
Спасибо сказали: