The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Debian iptables iproute squid, !*! chapayev, 08-Сен-10, 23:08  [смотреть все]
Здравствуйте!
Дано:Сервер на debian lenny с тремя интерфейсами,два из которых внешние.На нем крутится сквид с аутинтификацией на AD.
Задача: Нужно сделать так чтоб веб трафик делился на эти два канала (только порт 80)
История:Был испробован iproute2 с балансировкой по весам (весь траф делится согласно weight), но при нем ssl pos  терминалы работают через раз , что не приемлемо.
Был истробован iproute + iptables CONMARK +random ,но в этой конфигурации отказался работать squid и на се попытки подключения выдавал только "access denied"
Подскажите пожалуйста где косяк , и как его обойти.
Ниже приведены конфиги обоих способов:

1.
#!/bin/bash                                
ip route flush table T1                    
ip route flush table T2                    
ip rule delete table T1
ip rule delete table T2
ip rule add from x.x.x.x table T1
ip rule add from y.y.y.y table T2

ip route add x.x.x.0/24 via x.x.x.y dev ppp0 table T1
ip route add y.y.y.0/25 via y.y.y.x dev eth2 src y.y.y.y table T1
ip route add 10.168.0.0/24 dev eth0 src 10.168.0.254 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add default dev ppp0 table T1

ip route add y.y.y.0/25 via y.y.y.x dev eth2 table T2
ip route add x.x.x.0/24 via x.x.x.y dev ppp0 src x.x.x.x table T2
ip route add 10.168.0.0/24 dev eth0 src 10.168.0.254 table T2
ip route add 127.0.0.0/8 dev lo table T2
ip route add default via y.y.y.x dev eth2 table T2

ip route add default scope global nexthop dev ppp0 weight 1 nexthop via y.y.y.x dev eth2 weight 1
ip route flush cache

(x.x.x.x,y.y.y.y -адреса интерфеисов)
(x.x.x.0 ,y.y.y.0 -сети провайдеров)
(x.x.x.y,y.y.y.x -гейты провайдеров)


2.
###################Balancer###################
/sbin/iptables -t mangle -N balancer
###############################################
/sbin/iptables -t mangle -A OUTPUT -p tcp -m multiport --dport 80,443 -m state --state NEW,RELATED -j balancer
########################

# 34% mark with 1
/sbin/iptables -t mangle -A balancer -j CONNMARK --set-mark 1
/sbin/iptables -t mangle -A balancer -m statistic --mode random --probability 0.49 -j RETURN

# all remaining packetsark with2
/sbin/iptables -t mangle -A balancer -j CONNMARK --set-mark 2
/sbin/iptables -t mangle -A balancer -m statistic --mode random --probability 1 -j RETURN

#MARKING ALL PACKETS
/sbin/iptables -t mangle -A OUTPUT -p tcp -m multiport --dport 80,443 -j CONNMARK --restore-mark
/sbin/iptables -t mangle -A OUTPUT  -m mark --mark 1 -j ACCEPT #а эти цепочки просто для поверки
/sbin/iptables -t mangle -A OUTPUT  -m mark --mark 2 -j ACCEPT




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру