SQUID и два канала интернета

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

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

ajiexaxxx
Сообщения: 5

SQUID и два канала интернета

Сообщение ajiexaxxx »

Добрый день!
Помогите пожалуйста решить такую проблему.
Есть шлюз - CentOS 6.2, два канала интернета - один PPPOE, второй ethernet + сетвая для доступа в лан.
Инет разадется натом - отдельно для каждого из этих двух каналов, также есть прозрачный прокси (SQUID), все запросы к http соответственно завернуты на него.
Все прекрасно и замечательно работает за исключение одного - при изменении шлюза по умолчанию (скриптом или руками) squid запрещает доступ по http. При обратном восстановлении - все начинает работать.
Система дает приритет pppoe соединению - соответственно pppoe является гланым интернет каналом (что и должно быть) и именно с его шлюзам все работает, но если прописать шлюз ethernet канала - нат работает, а доступ по http запрещает squid, для нормальной работы приходится удалять правило по перенаправлению http запросов на squid.
Вопрос - как сделать так чтобы squid работал после изменения шлюза по умолчанию, точнее ничего не запрещал(работал в соответствии с заданными правилами)?
Спасибо.
С Уважением, Алексей.

Конфиг squid-а

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

------------------------------------------------------------------------------------------------------------------------------------------------------------------
visible_hostname CENTOSProxy
#
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# 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:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# 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

# 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

#################################### Правила доступа для ОРК ############################

acl special_url dstdomain xxx.ru

acl manager7 src 192.168.0.11
http_access allow manager7 special_url
http_access deny manager7

acl manager8 src 192.168.0.18
http_access allow manager8 special_url
http_access deny manager8

acl manager1 src 192.168.0.2
http_access allow manager1 special_url
http_access deny manager1

acl manager11 src 192.168.0.38
http_access allow manager11 special_url
http_access deny manager11

acl comp36 src 192.168.0.36
http_access allow comp36 special_url
http_access deny comp36

acl manager5 src 192.168.0.5
http_access allow manager5 special_url
http_access deny manager5

acl comp5 src 192.168.0.15
http_access allow comp5 special_url
http_access deny comp5

acl manager10 src 192.168.0.25
http_access allow manager10 special_url
http_access deny manager10

acl buhgalter7 src 192.168.0.7
http_access allow buhgalter7 special_url
http_access deny buhgalter7

################################################################################
#######

################################# Вся остальная сеть ##################################

acl mynetwork src 192.168.0.0/24
http_access allow localhost
http_access allow mynetwork
http_access deny all

################################################################################
######

# Squid normally listens to port 3128
http_port 3128 intercept

# We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?

# 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
------------------------------------------------------------------------------------------------------------------------------------
Спасибо сказали:
Аватара пользователя
McSim
Сообщения: 419
Статус: Экспериментатор
ОС: заGNU/Linux Debian

Re: SQUID и два канала интернета

Сообщение McSim »

а если после смены маршрута шлюза по умолчанию делать рестарт squid?
Спасибо сказали:
ajiexaxxx
Сообщения: 5

Re: SQUID и два канала интернета

Сообщение ajiexaxxx »

McSim писал(а):
10.05.2012 16:09
а если после смены маршрута шлюза по умолчанию делать рестарт squid?


Делал конечно же - не помогает. Не знаю почему.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: SQUID и два канала интернета

Сообщение IMB »

Думается мне, что Squid тут ничего не значит, так как у меня работал с тремя каналами, настроенными через nexthop.
Выложите таблицу маршрутизации во всех вариантах конфигурации.
Спасибо сказали:
ajiexaxxx
Сообщения: 5

Re: SQUID и два канала интернета

Сообщение ajiexaxxx »

IMB писал(а):
10.05.2012 17:44
Думается мне, что Squid тут ничего не значит, так как у меня работал с тремя каналами, настроенными через nexthop.
Выложите таблицу маршрутизации во всех вариантах конфигурации.


Возможно, у меня оно тоже работает на виртуальных машинах с двумя каналами интернета которые работают через ethernet. А в реали с pppoe и ethernet возникает проблема. На самом деле я думал что можно как-то адаптировать squid для такой ситуации. Читал про "tcp_outgoing_address" но получается если я его укажу, то сквид будет четко работать через один канал. Кстати, может быть можно каким-либо образом настроить приоритет каналов в сквиде? Т.е. чтобы в случае если основной канал работает то все шло через него, а если отпал, то тогда все пойдет через второй. Можно это как-то реализовать с помощью "tcp_outgoing_address"?

Выкладываю текущую-основную таблицу маршрутизации.

Destination Gateway Genmask Flags Metric Ref Use Iface
80.x.x.x 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
87.x.x.x 0.0.0.0 255.255.255.252 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

Если pppoe отключить, то система сама кидает 87.x.x.x на место основного шлюза.
Спасибо сказали:
ajiexaxxx
Сообщения: 5

Re: SQUID и два канала интернета

Сообщение ajiexaxxx »

IMB писал(а):
10.05.2012 17:44
Думается мне, что Squid тут ничего не значит, так как у меня работал с тремя каналами, настроенными через nexthop.
Выложите таблицу маршрутизации во всех вариантах конфигурации.


Забыл спросить - у вас все каналы интернета подключены как ethernet т.е. никаких pppoe?
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: SQUID и два канала интернета

Сообщение IMB »

ajiexaxxx писал(а):
11.05.2012 11:36
Забыл спросить - у вас все каналы интернета подключены как ethernet т.е. никаких pppoe?

Да. Проверьте ещё раз правила маршрутизации и настройки iptables, скорее всего "косяк" в них.
Спасибо сказали:
ajiexaxxx
Сообщения: 5

Re: SQUID и два канала интернета

Сообщение ajiexaxxx »

IMB писал(а):
11.05.2012 13:52
ajiexaxxx писал(а):
11.05.2012 11:36
Забыл спросить - у вас все каналы интернета подключены как ethernet т.е. никаких pppoe?

Да. Проверьте ещё раз правила маршрутизации и настройки iptables, скорее всего "косяк" в них.


Ошибок нет - это точно. Т.к. конфигурация очень простая + конкретно сейчас это сделано даже через штатные средства самого редхата(centos), и как я писал выше - тоже самое работает на виртуалках, но там два канала ethernet.

Хотел еще у вас с просить - на какой ОС(дистрибутив) у вас это все работает? Интересно просто для справки.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: SQUID и два канала интернета

Сообщение IMB »

ajiexaxxx писал(а):
12.05.2012 09:14
Хотел еще у вас с просить - на какой ОС(дистрибутив) у вас это все работает? Интересно просто для справки.

Debian GNU/linux.
Спасибо сказали: