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

Исходное сообщение
"Нат FreeBSD"

Отправлено E.T. , 23-Апр-09 02:55 
Доброго всем!

Вообщем попросили помочь решить задачку. "Местячковый провайдер" c ~100 абонентами.

NAT реализован с помошью pf на freebsd. До сих пор все абоненты натились в 1 внешний айпи, но это доставляет ряд неудобств - как например невозможность нормально качать нахаляву с rapidshare и ему подобных. Также вышестоящий провайдер выделил 1 сеть  из которой свободен 1 адрес.

конструкция подобного рода:

nat on em0 from 192.168.1.0/24 to any -> { $ip1,$ip2 }

оказалась мало применимой - так как это просто балансировщик (round-robin), те он по очереди натит в эти айпи каждое новое соединение, что не понимает например аська, скайп.

опция source-hash - работает только для непрерывного блока айпи :(

Так вот, с помощью чего можно настроить nat чтобы сеть нормально натилась в эти 2 айпи.

Делить абонетскую сеть(виртуально) пополам не предлагать, за новую сеть провайдер просит денег (а их сами понимаете нету никогда).

Спасибо.


Содержание

Сообщения в этом обсуждении
"Нат FreeBSD"
Отправлено masters , 23-Апр-09 10:45 
>Доброго всем!
>
>Вообщем попросили помочь решить задачку. "Местячковый провайдер" c ~100 абонентами.
>
>NAT реализован с помошью pf на freebsd. До сих пор все абоненты
>натились в 1 внешний айпи, но это доставляет ряд неудобств -
>как например невозможность нормально качать нахаляву с rapidshare и ему подобных.
>Также вышестоящий провайдер выделил 1 сеть  из которой свободен 1
>адрес.

Не могу сказать насчет pf, никогда с ним не работал. Но у меня такая схема организована на ipfw.

Вешаешь на сетевушку 2 ip. Потом поднимаешь по НАТу на каждый ip:
natd -a 195.184.x.17 -p 8778
natd -a 198.184.x.22 -p 8668

А потом правилами в ipfw раскидываешь:
ipfw add 1200 divert 8668 ip from "table(1)" to any
ipfw add 1200 divert 8668 ip from any to "table(1)"
...

А в таблицы добавляешь ip пользователей, например у меня это делает биллинг.