Не могу настроить прозрачный прокси для VLAN-ов.
На Cisco 2960 организовано 10 VLAN-ов.
Для организации доступа в Интернет стоит шлюз на ASP Linux V
eth0 подключен к trunk порту Cisco 2960, созданы виртуальные vlan-устройства eth0.1, eth0.2, ... eth0.10
Вопрос: как пробросить трафик с VLAN-ов через iptables на squid, достаточно ли стандартных настроек squid.Настройка прозрачного прокси без VLAN-ов (eth0 (intranet) — eth1 (internet) затруднений не вызывает.
> Не могу настроить прозрачный прокси для VLAN-ов.
> На Cisco 2960 организовано 10 VLAN-ов.
> Для организации доступа в Интернет стоит шлюз на ASP Linux V
> eth0 подключен к trunk порту Cisco 2960, созданы виртуальные vlan-устройства eth0.1, eth0.2,
> ... eth0.10
> Вопрос: как пробросить трафик с VLAN-ов через iptables на squid, достаточно ли
> стандартных настроек squid.
> Настройка прозрачного прокси без VLAN-ов (eth0 (intranet) — eth1 (internet) затруднений
> не вызывает.Достаточно, а чем именно трафик из вланов отличается если он раскрывается на интерфесе, как у вас, делайте аналогичные правила redirect для интерфейсов eth0.1, eth0.2 ну может access list в прокси придется поправить если в влан подсети другие используются.
>[оверквотинг удален]
>> eth0 подключен к trunk порту Cisco 2960, созданы виртуальные vlan-устройства eth0.1, eth0.2,
>> ... eth0.10
>> Вопрос: как пробросить трафик с VLAN-ов через iptables на squid, достаточно ли
>> стандартных настроек squid.
>> Настройка прозрачного прокси без VLAN-ов (eth0 (intranet) — eth1 (internet) затруднений
>> не вызывает.
> Достаточно, а чем именно трафик из вланов отличается если он раскрывается на
> интерфесе, как у вас, делайте аналогичные правила redirect для интерфейсов eth0.1,
> eth0.2 ну может access list в прокси придется поправить если в
> влан подсети другие используются.vlan1 - 192.168.1.0/24
vlan2 - 192.168.2.0/24
.....................
и.т.д
В iptables прописан redirect для всех интерфейсов, а в access list прописаны все подсети. Чуть позже выложу конфигурациооные файлы.
>[оверквотинг удален]
>> Достаточно, а чем именно трафик из вланов отличается если он раскрывается на
>> интерфесе, как у вас, делайте аналогичные правила redirect для интерфейсов eth0.1,
>> eth0.2 ну может access list в прокси придется поправить если в
>> влан подсети другие используются.
> vlan1 - 192.168.1.0/24
> vlan2 - 192.168.2.0/24
> .....................
> и.т.д
> В iptables прописан redirect для всех интерфейсов, а в access list прописаны
> все подсети. Чуть позже выложу конфигурациооные файлы.eth0.1 - 192.168.1.253
eth0.2 - 192.168.2.253
......................
eth0.10 - 192.168.10.253iptables
# Generated by iptables-save
*nat
:PREROUTING ACCEPT [37:3041]
:POSTROUTING ACCEPT [2:185]
:OUTPUT ACCEPT [17:1157]
-A PREROUTING -s 192.168.1.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.2.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.3.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.4.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.5.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.6.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.7.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.8.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.9.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -s 192.168.10.0/255.255.255.0 -i eth1 -j DROP
-A PREROUTING -i eth0.1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.253:3128
-A PREROUTING -i eth0.2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.253:3128
-A PREROUTING -i eth0.3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.3.253:3128
-A PREROUTING -i eth0.4 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.4.253:3128
-A PREROUTING -i eth0.5 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.5.253:3128
-A PREROUTING -i eth0.6 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.6.253:3128
-A PREROUTING -i eth0.7 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.7.253:3128
-A PREROUTING -i eth0.8 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.8.253:3128
-A PREROUTING -i eth0.9 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.9.253:3128
-A PREROUTING -i eth0.10 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.253:3128-A POSTROUTING -o eth1 -j SNAT --to-source inet-ip
COMMIT
# Completed
# Generated by iptables-save
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [15:972]
-A INPUT -s 192.168.1.0/255.255.255.0 -i eth0.1 -j ACCEPT
-A INPUT -s 192.168.2.0/255.255.255.0 -i eth0.2 -j ACCEPT
-A INPUT -s 192.168.3.0/255.255.255.0 -i eth0.3 -j ACCEPT
-A INPUT -s 192.168.4.0/255.255.255.0 -i eth0.4 -j ACCEPT
-A INPUT -s 192.168.5.0/255.255.255.0 -i eth0.5 -j ACCEPT
-A INPUT -s 192.168.6.0/255.255.255.0 -i eth0.6 -j ACCEPT
-A INPUT -s 192.168.7.0/255.255.255.0 -i eth0.7 -j ACCEPT
-A INPUT -s 192.168.8.0/255.255.255.0 -i eth0.8 -j ACCEPT
-A INPUT -s 192.168.9.0/255.255.255.0 -i eth0.9 -j ACCEPT
-A INPUT -s 192.168.10.0/255.255.255.0 -i eth0.10 -j ACCEPT-A INPUT -d 127.0.0.1 -j ACCEPT
-A INPUT -d 192.168.1.253 -j ACCEPT
-A INPUT -d 192.168.2.253 -j ACCEPT
-A INPUT -d 192.168.3.253 -j ACCEPT
-A INPUT -d 192.168.4.253 -j ACCEPT
-A INPUT -d 192.168.5.253 -j ACCEPT
-A INPUT -d 192.168.6.253 -j ACCEPT
-A INPUT -d 192.168.7.253 -j ACCEPT
-A INPUT -d 192.168.8.253 -j ACCEPT
-A INPUT -d 192.168.9.253 -j ACCEPT
-A INPUT -d 192.168.10.253 -j ACCEPT-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 5 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT-A FORWARD -i eth0.1 -j ACCEPT
-A FORWARD -i eth0.2 -j ACCEPT
-A FORWARD -i eth0.3 -j ACCEPT
-A FORWARD -i eth0.4 -j ACCEPT
-A FORWARD -i eth0.5 -j ACCEPT
-A FORWARD -i eth0.6 -j ACCEPT
-A FORWARD -i eth0.7 -j ACCEPT
-A FORWARD -i eth0.8 -j ACCEPT
-A FORWARD -i eth0.9 -j ACCEPT
-A FORWARD -i eth0.10 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.1.253 -j ACCEPT
-A OUTPUT -s 192.168.2.253 -j ACCEPT
-A OUTPUT -s 192.168.3.253 -j ACCEPT
-A OUTPUT -s 192.168.4.253 -j ACCEPT
-A OUTPUT -s 192.168.5.253 -j ACCEPT
-A OUTPUT -s 192.168.6.253 -j ACCEPT
-A OUTPUT -s 192.168.7.253 -j ACCEPT
-A OUTPUT -s 192.168.8.253 -j ACCEPT
-A OUTPUT -s 192.168.9.253 -j ACCEPT
-A OUTPUT -s 192.168.10.253 -j ACCEPT
-A OUTPUT -s inet-ip -j ACCEPT
COMMIT
# Completed on Thu Mar 17 17:40:25 2011squid.conf
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
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 configuration:
acl inet src inet-ip
acl vlan_1 src 192.168.1.1-192.168.1.253
acl vlan_2 src 192.168.2.1-192.168.2.253
acl vlan_3 src 192.168.3.1-192.168.3.253
acl vlan_4 src 192.168.4.1-192.168.4.253
acl vlan_5 src 192.168.5.1-192.168.5.253
acl vlan_6 src 192.168.6.1-192.168.6.253
acl vlan_7 src 192.168.7.1-192.168.7.253
acl vlan_8 src 192.168.8.1-192.168.8.253
acl vlan_9 src 192.168.9.1-192.168.9.253
acl vlan_10 src 192.168.10.1-192.168.10.253delay_pools 1
delay_class 1 2
delay_parameters 1 -1/-1 20000/400000
delay_access 1 allow vlan_3
delay_access 1 deny all#acl sites_porn dstdom_regex "/etc/squid/porno_ban"
#http_access deny vlan_3 sites_porn
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_portshttp_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow vlan_3
http_access allow inet
http_access deny allicp_access allow all
http_port 3128 transparent
server_persistent_connections offaccess_log /var/log/squid/access.log squid
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320coredump_dir /var/spool/squid
>[оверквотинг удален]
> -A PREROUTING -i eth0.6 -p tcp -m tcp --dport 80 -j DNAT
> --to-destination 192.168.6.253:3128
> -A PREROUTING -i eth0.7 -p tcp -m tcp --dport 80 -j DNAT
> --to-destination 192.168.7.253:3128
> -A PREROUTING -i eth0.8 -p tcp -m tcp --dport 80 -j DNAT
> --to-destination 192.168.8.253:3128
> -A PREROUTING -i eth0.9 -p tcp -m tcp --dport 80 -j DNAT
> --to-destination 192.168.9.253:3128
> -A PREROUTING -i eth0.10 -p tcp -m tcp --dport 80 -j DNAT
> --to-destination 192.168.10.253:3128Я чего то не понимаю или зачем dnat?
По мне так правило должно выглядетьiptables -t nat -A PREROUTING -i eth0.10 -p tcp --dport 80 -j REDIRECT --to-port 3128
или даже так
iptables -t nat -A PREROUTING -i eth0.+ -p tcp ! -d 192.168.0.0/16 --dport 80 -j REDIRECT --to-port 3128или у вас сквид стоит на третьей удаленной машинке?
>[оверквотинг удален]
>> -A PREROUTING -i eth0.10 -p tcp -m tcp --dport 80 -j DNAT
>> --to-destination 192.168.10.253:3128
> Я чего то не понимаю или зачем dnat?
> По мне так правило должно выглядеть
> iptables -t nat -A PREROUTING -i eth0.10 -p tcp --dport 80 -j
> REDIRECT --to-port 3128
> или даже так
> iptables -t nat -A PREROUTING -i eth0.+ -p tcp ! -d
> 192.168.0.0/16 --dport 80 -j REDIRECT --to-port 3128
> или у вас сквид стоит на третьей удаленной машинке?Сквит стоит не на третей машине, а это один из многих вариантов, который пробовал в настройках iptables. Ваш вариант опробывал первым - та же картина.
Попробую поднять шлюз на другом Linuxe, может ASP кривой, мы его преобрели акурат перед его смертью.
Главное, что Вы подтвердили мои предположения, что виртуальные интерфейсы ничем не отличаются от обычных и то что мне нужно сделать - реально.
Смотрите логи squid если там совсем ничего нет после того как настроили редирект на 3128, то проблема в правилах iptables