Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: Dr.zlo от 01 Февраля 2010, 01:56:34



Название: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 01 Февраля 2010, 01:56:34
У меня вопрос по правилу pf. Помогите разабратся.
nat pass on em0 from 192.168.0.0/16 to any -> xx.xx.xx.xx/26
Если я правильно понимаю то ето правило должно раздавать белие ip клієнтам. Вопрос в том если у меня клиентов в нете бивает больше чем белих ip. Как поведьот себя ето правіло. По логіке может бить 3 варианта.
1. В inet вийдут тока те кому хватило ip.
2. В inet вийдут все но те кому не хватило ip получат последній ip.
3. В inet вийдут все но те кому не хватило ip начнут получать ip сначала таким образом што на некоторих ip будет по несколько людей.
І ещьо вопрос нужна лі мне пропісивать в аліаси все белие ip што у меня есть ілі хватит тока ifconfig inet xxx.xxx.xxx.xxx netmask 255.255.255.192.


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 01 Февраля 2010, 09:28:37
а у Вас вообще работает такой нат?


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 01 Февраля 2010, 14:39:56
сечас работает вот так nat pass on em0 from 192.168.0.0/16 to any -> em0.
Но так как нам провайдер видал с одной сети 32 ip а потом понепонятной мне досих пор причине отобрал і оставил там один ip і видал в другом діапазоне ip понятно што іх там больше. А ви как думаете будет оно вот так работать


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 01 Февраля 2010, 14:59:42
мне кажется, что назначить сетевухе em0 ПОДСЕТЬ xx.xx.xx.xx/26 не получится ) рещается это другими механизмами, с которыми я еще не сталкивался на своей практике


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 01 Февраля 2010, 16:01:25
Вообщето оно должно вот так реализововатся. Покрайней мере так пишет в доках.


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 01 Февраля 2010, 16:33:07
Да, Вы правы, можно указывать Сетевой блок CIDR.

Вот, накопал:

Цитировать
пул адресов используется для трансляции адресов в правилах nat.
   Соединение, которое имеет адрес источника транслируется в адрес пула,
   при этом базируясь на определенном методе. Это может оказаться очень
   полезным в случае. когда PF транслирует адреса для очень большой сети.

   Так как число одновременных NAT соединений на один внешний адрес
   ограниченно, выделение для этих целей пула адресов позволит
   значительно увеличить число пользователей.

   В этом примере пул из двух адресов используется для трансляции
   исходящих пакетов. Для каждого исходящего соединения PF производит
   ротацию адресов методом round-robin:

   nat on $ext_if inet from any to any -> { 192.0.2.5, 192.0.2.10 }

   Единственным недостатком этого метода будет то, что не всегда будет
   соблюдатся соответствие между исходным адресом и адресом трансляции.

   Это может вызвать проблему при заходе на web - узлы, проверяющих
   валидность пользователя на основании IP адреса. Решением этой проблемы
   может стать использование метода source-hash для привязки внутреннего
   адреса к адресу трансляции. В этом случае адресный пул должен быть
   определен как сетевой блок CIDR:

   nat on $ext_if inet from any to any -> 192.0.2.4/31 source-hash

   В этом правиле nat используется пул адресов 192.0.2.4/31 (192.0.2.4 -
   192.0.2.5) как адреса трансляции для исходящих пакетов. Каждый
   внутренний адрес будет всегда транслироваться в свой внешний адрес,
   так как указано ключевое слово source-hash.


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 01 Февраля 2010, 17:40:09
Харашо тагда штоби сделать так штоб работало как в варианте 3 мойом. мне нада написать чьота такое
nat pass on em0 from 192.168.0.0/16 to any -> xxx.xxx.xxx.xxx/26 source-hash.
Поправте если я не прав ?


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 01 Февраля 2010, 17:43:50
вроде правильно, тестируйте


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 01 Февраля 2010, 17:55:54
В том то и дело што я не магу тестануть. На боевом серваке если я такое сделаю то меня за 5 секунд схавают. А разработчики билинга што об етом думают ?


Название: Re: Конвертирование белих ip в серие
Отправлено: Elisium от 01 Февраля 2010, 20:10:26
Вот вариант на моем серваке:

Код:
ext_if="em1"
nat pass on $ext_if from {192.168.0.0/16,10.0.0.0/8} to any -> х.х.х.х/уу source-hash

Вариант в верхнем посте правильный.


Название: Re: Конвертирование белих ip в серие
Отправлено: goletsa от 01 Февраля 2010, 20:11:13
Вы должны повесить на em0 все доступные вам адреса той подсети.
Вообще такую большую подсеть  вешать на один интерфейс сервера это бред.

К томуже белый адрес будет только у сервера, у клиентов будут серые.
Простой вариант часть адресов binat'ом выделить как внешние для клиентов а /16 подсеть поделить на несколько небольших (например /20) и выдавать на них под одному адресу.

У меня например сделано по другому. Есть некоторые адреса на сервере которые натятся как серые (по одной внешке на подсеть). А остальные форвардятся как белые на другой сервер.


Название: Re: Конвертирование белих ip в серие
Отправлено: Elisium от 01 Февраля 2010, 20:25:01
Вы должны повесить на em0 все доступные вам адреса той подсети.
Вообще такую большую подсеть  вешать на один интерфейс сервера это бред.

К томуже белый адрес будет только у сервера, у клиентов будут серые.
Простой вариант часть адресов binat'ом выделить как внешние для клиентов а /16 подсеть поделить на несколько небольших (например /20) и выдавать на них под одному адресу.
...

Чеж тут бредового ??? У него всего то /26я подсеть. Все зависит от количества активных клиентов. Если их много, то чем больше натовский пул, тем лучше.
У меня, например, под нат выделена /23я сеть, потому что на всех работающих в данный момент клиентов нехватает реальников, и вторая /23 под бинат.

п.с. и на ем0 можно повесить только один адрес из той своей /26й подсети.
У нас тоже был такой вариант до перехода на свою автономку.


Название: Re: Конвертирование белих ip в серие
Отправлено: goletsa от 01 Февраля 2010, 20:29:54
Хм. Странно. Я всегда считал что для того чтобы прописать адрес для нат его надо физически повесить на интерфейс.


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 01 Февраля 2010, 21:12:30
Читайте внимателней тему я хочю конвертить белие в серие а не видавать белие. То што ето правильное правило я знаю. Мне интересно будет ли так если у меня клиентов в нет вишло больше чем у меня раельних ипов:
1. В inet вийдут тока те кому хватило ip.
2. В inet вийдут все но те кому не хватило ip получат последній ip.
3. В inet вийдут все но те кому не хватило ip начнут получать ip сначала таким образом што на некоторих ip будет по несколько людей.


Название: Re: Конвертирование белих ip в серие
Отправлено: versus от 01 Февраля 2010, 22:51:20
Читайте внимателней тему я хочю конвертить белие в серие а не видавать белие. То што ето правильное правило я знаю. Мне интересно будет ли так если у меня клиентов в нет вишло больше чем у меня раельних ипов:
1. В inet вийдут тока те кому хватило ip.
2. В inet вийдут все но те кому не хватило ip получат последній ip.
3. В inet вийдут все но те кому не хватило ip начнут получать ip сначала таким образом што на некоторих ip будет по несколько людей.

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


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 01 Февраля 2010, 23:46:26
Я понял. Ну уменя описано как у вас в доке. В точності так как ви рекамендуєтє писать pf. Я так понял што лутше всего протестить ето всьо.


Название: Re: Конвертирование белих ip в серие
Отправлено: Elisium от 02 Февраля 2010, 17:45:16
Читайте внимателней тему я хочю конвертить белие в серие а не видавать белие. То што ето правильное правило я знаю. Мне интересно будет ли так если у меня клиентов в нет вишло больше чем у меня раельних ипов:

"конвертить белие в серие а не видавать белие" - этим как раз и занимается НАТ. А НАТ не транслирует серый адрес: (все порты) в белый адрес: (все порты). Этим занимается бинат.
Соответственно через подсеть, которую Вы выделите под НАТ, выйдут ВСЕ клиенты одновременно.
Если клиентов больше, чем выделенных адресов, то часть клиентов будет светиться под одним адресом.
Цитировать
Каждый  внутренний адрес будет всегда транслироваться в свой внешний адрес, так как указано ключевое слово source-hash.


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 02 Февраля 2010, 22:27:00
Elisium спасиба ето то што я хотел услишать  :)


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 03 Февраля 2010, 00:46:10
Згорем попалам разабрался. Тока вешать все ip на сетевуху запарно. Может ето із за того што сразу 96 іпов. вот у меня работает вот так. Может комута поможет ато таких тем я видел много.

Постоянние ip адреса для тех кто ето купил.
binat on em0 inet from 192.168.10.10 to any -> xxx.xxx.xxx.xxx
binat on em0 inet from 192.168.7.8 to any -> xxx.xxx.xxx.xxx

А тут починає роздавати нашарік ip шо закріплені за інтерфесом em0.
nat pass on em0 from 192.168.0.0/16 to any -> em0
 

Харашо було б якщо розробник зробив шоб з админки видавати (продавати) постійний ip. З таким методом можна забути кому продав кому не. А вдруг хтось відкажеться.


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 03 Февраля 2010, 09:11:59
Вы знаете, НАТ тоже разный используется - у кого pfnat, у кого natd и .др., так что унифицировать это навряд ли получится...


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 03 Февраля 2010, 12:21:21
Да ето понятное дело. Попробивал чьота ето не очень харашо пашет. Пачемута подмешивает туда и те ип што я дал отдельним юзверям.


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 03 Февраля 2010, 15:34:05
Ибо они, наверное, принадлежат диапазону "общего" ната?

Я извиняюсь, а Вы в школе учились? Не очень приятно Ваши посты читать.....


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 03 Февраля 2010, 15:51:54
Какая разница как я пишу. Я вас не спрашивал о граматике.


Название: Re: Конвертирование белих ip в серие
Отправлено: Elisium от 03 Февраля 2010, 16:11:52
Я извиняюсь, а Вы в школе учились? Не очень приятно Ваши посты читать.....
Таки да.

А по делу:
Поделите свою 26ю подсеть на, допустим, две 27е
Одну отдавайте юзерам в виде бината (выдача белых ипов), вторую - как нат соурс-хэш
Толькот не в виде
Код:
nat pass on em0 from 192.168.0.0/16 to any -> em0
а вот так:
Код:
nat pass on em0 from 192.168.0.0/16 to any -> х.х.х.х/27

Ну и, само собой, это правило должно стоять ПОСЛЕ всех правил бината.


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 03 Февраля 2010, 17:00:33
Если так делаю нет вилетаєт вообще. А сеть и так поделена. Я понял што если я пишу устройство то оно начинает всьо сетого устройства давать. Вот севодня ночью попробую видать сеть. Наверно гдето провтикал кагда вчера пробивал.


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 03 Февраля 2010, 17:11:39
может, сеть не корректно поделил? есть определенные правила


Название: Re: Конвертирование белих ip в серие
Отправлено: Elisium от 03 Февраля 2010, 18:31:36
Если так делаю нет вилетаєт вообще. А сеть и так поделена.

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


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 08 Февраля 2010, 13:11:05
Є в мене от таке правило в pf яке конвертує ip адреса з білих в сірі. Все ніби добре. Але деяких людей викидає на ip шлюза а бо броадкаста. В чьому проблема ?. Можна якось в pf зерезервувати ці ip адреса.
nat pass on em0 inet from 192.168.0.0/16 to any -> xx.xx.108.66/26 source-hash.
Провайдер видав xx.xx.108.64/26 шлюз xx.xx.108.65.


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 08 Февраля 2010, 13:17:34
может, сеть не корректно поделил? есть определенные правила
Цитировать
xx.xx.108.66/26

таки да )


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 08 Февраля 2010, 13:19:57
Ну як можна було коректно поділити. Впіхнути 27 і рубанути купу ip. При тому що це не допоможе.


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 08 Февраля 2010, 13:22:49
І ще я замітив шо воно валить в шлюз не завжди. Воно як хоче так і робить.  >:( І шо саме головне коли клієнтів багато то робить стабільно. Коли мало то починає кидати все підряд. Так може можна ip зарезервувати шоб його не трогало.


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 08 Февраля 2010, 13:24:58
Попробуйте вот так:

nat on em0 inet from 192.168.0.0/16 to any -> { xx.xx.108.66, xx.xx.108.126 }


Название: Re: Конвертирование белих ip в серие
Отправлено: Elisium от 08 Февраля 2010, 18:25:51
Ну як можна було коректно поділити. Впіхнути 27 і рубанути купу ip. При тому що це не допоможе.
І ще я замітив шо воно валить в шлюз не завжди. Воно як хоче так і робить.  >:( І шо саме головне коли клієнтів багато то робить стабільно. Коли мало то починає кидати все підряд.

Судя по всему, принципов, КАК делятся сети, Вы не знаете.
Поэтому Вам и кажется, что "Воно як хоче так і робить", а на самом деле воно робыть именно так, как Вы ему сказали.

Этот пф нужно еще уметь испортить, что бы оно не работало.


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 08 Февраля 2010, 19:03:51
Цей варіант не катить nat on em0 inet from 192.168.0.0/16 to any -> { xx.xx.108.66, xx.xx.108.126 } - це рендом і тоді всі файлообмінники пересають працювати. А про те як діляться мережі я в курсі. От тільки скажи мені як можна поділити таку мережу xxx.xxx.108.64 з маскою 255.255.255.192. ? Це правило nat pass on em inet from 192.168.0.0/16 to any  -> xxx.xxx.108.66/26 source-hash, повинно було би роздати ip адреса з xxx.xxx.108.66 ->xxx.xxx.108.126 а не пригати на 64 іп шо потім на 65 і в додачу 127. От тепер скажіть будь-ласка якого воно це робить ? От де помилка ?


set limit states 128000
set optimization aggressive

binat on em0 inet from 192.168.0.2 to any -> xxx.xxx.108.67


nat pass on em0 inet from 192.168.0.0/16 to any -> xxx.xxx.108.66/26 source-hash


Название: Re: Конвертирование белих ip в серие
Отправлено: Elisium от 08 Февраля 2010, 19:33:56
Це правило nat pass on em inet from 192.168.0.0/16 to any  -> xxx.xxx.108.66/26 source-hash, повинно було би роздати ip адреса з xxx.xxx.108.66 ->xxx.xxx.108.126 а не пригати на 64 іп шо потім на 65 і в додачу 127. От тепер скажіть будь-ласка якого воно це робить ? От де помилка ?

)))) Ну вот, сразу видно...
.66 с маской 26 = .64

Поэтому с 26й маской адреса будут выдаваться с 64го по 128й.
Поделить можно , допустим, вот так:
Код:
binat on em0 from 192.168.0.2 to any -> (тут могут быть адреса с .67го по .111й)
nat pass on em0 from 192.168.0.0/16 to any -> х.х.108.112/28
Тогда адреса будут выдаваться с 112го по 128й

В rc.conf тогда должно быть чето типа
Код:
ifconfig_em0="inet x.x.108.66 netmask 255.255.255.192"
defaultrouter="x.x.108.65"
gateway_enable="YES"
static_routes="net00"
route_net00="-net 192.168.0.0/16 шлюз_для_этой_подсети"


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 08 Февраля 2010, 20:17:49
Наскільки зрозумів route_net00="-net 192.168.0.0/16 шлюз_для_этой_подсети" "шлюз_для_этой_подсети" ето шлюз локальной сетки ?


Название: Re: Конвертирование белих ip в серие
Отправлено: Aivanzipper от 08 Февраля 2010, 22:19:07
Поэтому с 26й маской адреса будут выдаваться с 64го по 128й.

по 127-й  ;)


Название: Re: Конвертирование белих ip в серие
Отправлено: Dr.zlo от 08 Февраля 2010, 22:26:42
Опечатка