The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"помогите с балансировкой FreeBSD 8.3 x64 IPFW"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"помогите с балансировкой FreeBSD 8.3 x64 IPFW"  +/
Сообщение от masters (ok) on 13-Янв-13, 20:01 
Есть 2 канала в интернет, нужно выпускать пользователей из одной подсети через один канал, а из второй - через другой.
Делал такое уже не раз, а вот в этом случае загвоздка какая-то. С клиента (2я подсеть) идет трассировка, доходит до последнего хопа и он не пингуется. Вижу такое в первый раз.
Через первый канал - все ОК, а вот второй выпендривается. Такое впечатление, что-то с НАТ не так, подскажите пожалуйчта.

Клиенты все подключены через PPPoE. Биллинг одним выдает адреса от 2 до 126, другим от 129 до 254.
VPN-подсеть: 192.168.254.0/24
Адрес на внутреннем интерфейсе сервера: 192.168.99.100 (на нем висит ДНС)

Вот rc.firewall

        #IP adresses
        ip1="xx.xxx.254.167"
        ip2="xx.xxx.253.166"

        #Interfaces 1 - main, 2 - second
        if1="em0"
        if2="em1"

        #Gateways
        gw1="xx.xxx.254.129"
        gw2="xx.xxx.253.129"

        #VPN networks
        vp1="192.168.254.0/25"
        vp2="192.168.254.128/25"

        ${fwcmd} add 2200 allow all from 192.168.99.0/24 to 192.168.99.100
        ${fwcmd} add 2250 allow all from 192.168.254.0/24 to 192.168.99.100
        ${fwcmd} add 2260 allow all from 192.168.99.100 to any

        #Deny internet traffic from 192.168.99.0/24
        ${fwcmd} add 2300 deny all from 192.168.99.0/24 to any
        ${fwcmd} add 2400 deny all from any to any 25,3306

        ${fwcmd} add 2430 skipto 2700 ip from ${vp2} to any
        ${fwcmd} add 2440 skipto 2700 ip from any to any out via em1
        ${fwcmd} add 2470 skipto 2770 ip from any to any in via em1

        #Forward group 1 via channel 1
        ${fwcmd} add 2500 divert 8668 ip from any to any
        ${fwcmd} add 2550 fwd ${gw1} ip from any to any out via em0

        ${fwcmd} add 2650 skipto 2900 ip from any to any

        #Forward group 2 via channel 2
        ${fwcmd} add 2700 divert 8778 ip from any to any
        ${fwcmd} add 2740 fwd ${gw2} ip from ${vp2} to any
        ${fwcmd} add 2750 fwd ${gw2} ip from any to any out via em1
        ${fwcmd} add 2770 divert 8778 ip from any to any in via em1

        #Allow local traffic
        ${fwcmd} add 2900 allow all from 192.168.99.100 to any

        #Allow all other traffic
        ${fwcmd} add 65000 pass all from any to any

В автозагрузке:

natd -a xx.xxx.254.167 -p 8668
natd -a xx.xxx.253.166 -p 8778

В итоге через первый канал пакеты ходят нормально. Через второй - интернета нет, пинги не ходят. Но трассировка идет и доходит всегда до предпоследнего хопа.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "помогите с балансировкой FreeBSD 8.3 x64 IPFW"  +/
Сообщение от user (??) on 14-Янв-13, 01:57 
>[оверквотинг удален]
> all from 192.168.99.100 to any
>         #Allow all other traffic
>         ${fwcmd} add 65000 pass
> all from any to any
> В автозагрузке:
> natd -a xx.xxx.254.167 -p 8668
> natd -a xx.xxx.253.166 -p 8778
> В итоге через первый канал пакеты ходят нормально. Через второй - интернета
> нет, пинги не ходят. Но трассировка идет и доходит всегда до
> предпоследнего хопа.

Вам бы лучше использовать расширенные таблицы + ipfw_nat.
http://birdofluck.livejournal.com/8778.html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "помогите с балансировкой FreeBSD 8.3 x64 IPFW"  +/
Сообщение от masters (ok) on 15-Янв-13, 18:36 
> Вам бы лучше использовать расширенные таблицы + ipfw_nat.
> http://birdofluck.livejournal.com/8778.html

Спасибо за статью, понял в чем мой прокол. Надо было выключить net.inet.ip.fw.one_pass.
Я почему-то раньше думал, что он нужен только для пайпов. Оказывается и для диверта нужен, чтобы пакеты возвращались назад.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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