URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 23548
[ Назад ]

Исходное сообщение
"iptables, iproute, 2 аплинка. Помогите понять приципы."

Отправлено IvanN , 21-Фев-12 09:55 
Здравствуйте.

Помогите, пожалуйста, разобраться. Есть два аплинка к одному провайдеру. Необходимо пропорционально поделить между ними трафик. Т.е. балансировку нагрузки. При этом соединения по определенным портам всегда должно идти через тот интерфейс, с которого были установлены. Теряюсь в догадках как такое можно провернуть...

Раньше, при одном аплинке, я пользовал связку iptables+bind+squid+netams. Вот рабочие правила для старой конфигурации:


#!/bin/bash

/sbin/modprobe ip_queue
/sbin/modprobe ip_nat_ftp
/sbin/modprobe nf_conntrack_ftp

IPT="/sbin/iptables"
INET="eth0"
LAN="eth1"
NETWORK="192.168.0.0/24"
SQUID="3128"
WWW="80,81,8080"


$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP

$IPT -N INPUT_LAN
$IPT -N INPUT_INET

#================SQUID==================

$IPT -t nat -A PREROUTING -s $NETWORK ! -d $NETWORK -p tcp -m multiport --dport $WWW -j REDIRECT --to-ports $SQUID
$IPT -A OUTPUT -o $LAN -p tcp -m tcp --sport $SQUID -m state --state NEW,RELATED,ESTABLISHED -j QUEUE

#==============NETAMS===================


$IPT -A FORWARD -i $LAN -o $INET -p ALL -j QUEUE
$IPT -A FORWARD -i $INET -o $LAN -p ALL -j QUEUE


#=============SERVER====================
$IPT -A INPUT -i $INET -p icmp -j ACCEPT
$IPT -A INPUT -i $INET -j INPUT_INET
$IPT -A INPUT -i $LAN -j INPUT_LAN
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -j INPUT_INET

$IPT -A OUTPUT -p icmp -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT
$IPT -A OUTPUT -o $INET -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -o $INET -p udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -o $INET -p tcp --sport 22 -j ACCEPT
$IPT -A OUTPUT -o $INET -p tcp --sport 80 -j ACCEPT
$IPT -A OUTPUT -o $INET -p tcp -m multiport --dport $WWW -j ACCEPT

#++++=============LAN==================

$IPT -A INPUT_LAN ! -s $NETWORK -j DROP
$IPT -A INPUT_LAN -m state --state INVALID -j DROP
$IPT -A INPUT_LAN -s $NETWORK -p icmp -j ACCEPT
$IPT -A INPUT_LAN -p tcp -m tcp --dport $SQUID -m state --state NEW,RELATED,ESTABLISHED -j QUEUE
$IPT -A INPUT_LAN -j ACCEPT

#=================INET=================
$IPT -A INPUT_INET -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT_INET -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT_INET -p tcp --sport 8245 -j ACCEPT
$IPT -A INPUT_INET -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A INPUT_INET -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT_INET -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT_INET -p udp --dport 53 -j ACCEPT
$IPT -A INPUT_INET -p udp --sport 53 -j ACCEPT
$IPT -A INPUT_INET -p tcp --syn -j DROP

#================NAT==================

$IPT -t nat -A POSTROUTING -s $NETWORK -o $INET -j MASQUERADE


Трафик на 80-й порт заворачивается на "прозрачный" сквид, со сквида на биллинг.
Весь FORWARD идет на биллинг, там считается и фильтруется куда можно, куда нельзя.
Сейчас от биллинга можно избавиться... Дайте пинка в нужном направлении =)


Содержание

Сообщения в этом обсуждении
"iptables, iproute, 2 аплинка. Помогите понять приципы."
Отправлено PavelR , 21-Фев-12 13:46 

> Сейчас от биллинга можно избавиться... Дайте пинка в нужном направлении =)

Вы в курсе, что вы пишете в раздел "Маршрутизаторы CISCO и др. оборудование."?


"iptables, iproute, 2 аплинка. Помогите понять приципы."
Отправлено IvanN , 21-Фев-12 14:39 
>> Сейчас от биллинга можно избавиться... Дайте пинка в нужном направлении =)
> Вы в курсе, что вы пишете в раздел "Маршрутизаторы CISCO и др.
> оборудование."?

упс. по запарке ошибся разделом.

Удалите ветку, пожалуйста.