Биллинговая система Nodeny
29 Апреля 2024, 03:32:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Добавление локальной сети..  (Прочитано 5232 раз)
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« : 05 Октября 2009, 12:34:59 »

Здравствуйте п...прошу помочь,установка билинга по дефолту,в том смысле по авторскому написанию прошла успешно..один интерфейс интернет, одна локалка всё шустро бегает..подскажите..если я добавил ещё одну локальную сеть,10.1.6.0 ,как зделать чтобы она была допустим городской сетью..для пользывателей сети 192.168.1.0 всё стоит по дефолту ноудени 49,4 дня назад скачал поставил  Улыбающийся

Код:
uname -a
FreeBSD server.local.local 6.2-RELEASE-p12 FreeBSD 6.2-RELEASE-p12 #0: Fri Oct  2 16:23:40 UTC 2009     root@server.local.local:/usr/src/sys/i386/compile/NODENY  i386

Код:
ifconfig
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:02:44:20:3f:36
        media: Ethernet autoselect (10baseT/UTP)
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.5.2 netmask 0xffffff00 broadcast 192.168.5.255
        inet 10.1.6.226 netmask 0xffffff00 broadcast 10.1.6.255 -вот вторая локалка -
        ether 00:80:48:1f:f6:63
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 92.112.215.67 --> 195.5.5.201 netmask 0xffffffff
        Opened by PID 376


« Последнее редактирование: 05 Октября 2009, 12:36:54 от warzoni » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #1 : 05 Октября 2009, 14:53:21 »

Т.е. проблема в том, что "неклиентских" 2 интерфейса? Если да, то необходимо слегка переработать rc.firewall в том, месте где данные посылаются в коллектор. Ну и настроить направления в админке. Такая задача мною решалась еще год назад
Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #2 : 05 Октября 2009, 15:10:24 »

получаться один интерфейс и два Ip айпи адреса..ip 192.168.5.2 Это смотрет в модем и по pppOE создаёт подключение tun0 ...а вот 10.1.6.226 это выдан мне айпи в локальную сеть, каторый надо и подключить..и направить в 192.168.1.0 сеть на интерфес ed0 Можем ли мы свами расматреть rc.freewall что нужно доработать вот привожу дефолтный ктаорый в данный момент стоит у меня..

Код:
cat /etc/rc.firewall

#!/bin/sh -
f='/sbin/ipfw'

ifOut='tun0'

${f} -f flush

${f} add 50 allow tcp from any to me 22
${f} add 51 allow tcp from me 22 to any

${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any via ${ifOut}

${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
${f} add 510 divert 1 ip from any to any
${f} add 540 allow ip from any to any


${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 80,443
${f} add 2050 deny ip from any to any via ${ifOut}
${f} add 2060 allow udp from any to any 53,7723

${f} add 2100 deny ip from any to any

${f} add 32490 deny ip from any to any

хочетца разобратца....просто вот вы гвоарите направит в колектор...ну можно использывать правело типа такова


${f} add 400 skipto 450 ip from any to any recv rl0

тоесть я даю понять что весь трафик с интерфейса rl0 напровлять в колектор так ? .....
если да то в на провление я создам чтобы в 126 правело добавилось подсеть 10.1.6.0 и дам на провление 8 токо учитовать трафик поставлю скорость,в альт на провление ..типа такова пойдёт схема ? прсото я задумываюсь тут же ещё нат нужен...сеть 10 не пройдёт то на сеть 192....либо маршрутизация ? хочу услышать ваши действия..
« Последнее редактирование: 05 Октября 2009, 15:37:03 от warzoni » Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #3 : 05 Октября 2009, 16:50:42 »

Вопщем делаю так...

в pf добовляю
set limit states 128000
set optimization aggressive
nat pass on tun0 from 192.168.1.0/24 to any -> (tun0)
nat pass on rl0 from 192.168.1.10 мой айпи to any -> 10.1.6.226 подсеть...

и в rc.frewall

доболвяю строчку
00201 skipto 500 ip from any to any via rl0
00401 skipto 450 ip from any to any recv rl0

наченает сеть бегать..даже маршрутизация отрабатуетца но почему она?? начинает работать,когда её не где нету разрешений...или я что то упустил..


« Последнее редактирование: 05 Октября 2009, 16:54:20 от warzoni » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #4 : 05 Октября 2009, 17:42:10 »

Ты должен разобраться как работает фаервол. Случайно подобрать правила не получится. Надо вникнуть. самое непонятное это recv. Сейчас объясню для чего оно используется.

Дело в том, что есть некоторые сложности в сборе трафика. Допустим у нас есть 3 интерфейса. трафик может бегать между ними тремя в разных направлениях. Куда нам поставить коллектор чтобы зафиксировать его, не теряя ничего? Если фиксировать на каждом интерфейсе, то трафик может быть засчитан дважды: на входящем и на исходящем интерфейсе.

Поэтому в nodeny принята такая схема: коллектор слушает 2 порта (divert 1 и divert 2). То, что попадает в порт №1 - считается исходящим трафиком клиента, №2 - входящим.

Следовательно вся суть заключается в посылке в нужный порт нужных данных.

Рассмотрим стандартный фаервол, который идет вместе с nodeny. Там есть такой кусок кода:
Код:
${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any
правило 400 дословно переводится так: если пакет пришел с внешнего интерфейса, то перейти на строку 450. Обратите внимание, что пришел с интерфейса.

via ${ifOut} и recv ${ifOut} совершенно разные вещи. Т.е пакет может быть отловлен на внутреннем интерфейсе, но будет известно, что он пришел с внешнего интерфейса.

В данном примере (в стандартном фаере nodeny) любой пакет пришедший на 400 правило уже гарантированно покидает внутренний интерфейс, т.е направлен клиенту. Поэтому можно было бы просто написать:

Код:
${f} add 400 divert 2 ip from any to any

т.е указание начислить трафик клиенту, на которого идет пакет. Почему же там 2 divert-а? А только потому, что если внутренних интерфейсов несколько, то нужно не только начислять этот трафик клиенту, на который идет пакет, но и как исходящий трафик клиенту, к которому идет пакет.

Сложно объяснил?) Наверное да, проще не получается.




Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #5 : 05 Октября 2009, 18:01:36 »

Цитировать
Поэтому в nodeny принята такая схема: коллектор слушает 2 порта (divert 1 и divert 2). То, что попадает в порт №1 - считается исходящим трафиком клиента, №2 - входящим.

Следовательно вся суть заключается в посылке в нужный порт нужных данных.

Понятно,...если суть заключаетца в посылке данных в деверт то можно просто зделать
типа
Код:
ipfw add skipto 450 ip from any to any via rl0 out
ipfw add skipto 420 ip from any to any via rl0 in
верно ?

тогда мы гарантированно загоним всё что с интерфейсов идёт в деверт...
« Последнее редактирование: 05 Октября 2009, 18:18:37 от warzoni » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #6 : 05 Октября 2009, 19:24:15 »

в принципе, можно и так как ты указал:
Код:
00201 skipto 500 ip from any to any via rl0
00401 skipto 450 ip from any to any recv rl0

уточни что ты имел ввиду под:
Цитировать
но почему она?? начинает работать,когда её не где нету разрешений...или я что то упустил.

есть доступ в городскую сеть без авторизации?


Записан
warzoni
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 83


Просмотр профиля
« Ответ #7 : 05 Октября 2009, 19:42:21 »

в принципе, можно и так как ты указал:
Код:
00201 skipto 500 ip from any to any via rl0
00401 skipto 450 ip from any to any recv rl0

Добовляю в правела получаетца так

Код:
 ipfw list
00050 allow tcp from any to me dst-port 22
00051 allow tcp from me 22 to any
00110 allow ip from any to any via lo0
00120 skipto 1000 ip from me to any
00130 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00160 skipto 2000 ip from any to me
00200 skipto 500 ip from any to any via tun0
00201 skipto 500 ip from any to any via rl0
00300 skipto 4500 ip from any to any in
00400 skipto 450 ip from any to any recv tun0
00401 skipto 450 ip from any to any recv rl0
00420 divert 1 ip from any to any
00450 divert 2 ip from any to any
00490 allow ip from any to any
00500 skipto 32500 ip from any to any in
00510 divert 1 ip from any to any
00540 allow ip from any to any
01000 allow udp from any 53,7723 to any
01010 allow tcp from any to any setup keep-state
01020 allow udp from any to any keep-state
01100 allow ip from any to any
02000 check-state
02010 allow icmp from any to any
02020 allow tcp from any to any dst-port 80,443
02050 deny ip from any to any via tun0
02060 allow udp from any to any dst-port 53,7723
02100 deny ip from any to any
05000 deny ip from not table(0) to any
05001 skipto 5010 ip from table(127) to table(126)
05002 skipto 5030 ip from any to not table(2)
05003 deny ip from any to not table(1)
05004 pipe tablearg ip from table(21) to any
05005 deny ip from any to any
05010 pipe tablearg ip from table(127) to any
05030 deny tcp from table(15) to any dst-port 25
05400 pipe tablearg ip from table(11) to any
32000 deny ip from any to any
32490 deny ip from any to any
33000 pipe tablearg ip from table(126) to table(127)
33001 skipto 33010 ip from not table(2) to any
33002 pipe tablearg ip from any to table(20)
33003 deny ip from any to any
33400 pipe tablearg ip from any to table(10)
65535 deny ip from any to any

далее добовляю в pf.conf такое
Код:
nat pass on rl0 from 192.168.1.10 to any -> 10.1.6.226
---------------
уточни что ты имел ввиду под:
Цитировать
но почему она?? начинает работать,когда её не где нету разрешений...или я что то упустил.
есть доступ в городскую сеть без авторизации?

1)Когда я запрещаю доступ клиент то всё запрещаетца
2) разрешаю доступ всегда онлайн разрешаетца
--
Вроде разобрался.алт направление работает всё шейпит...но оно было созданно заранее...а я пытался делатьс ам сваё направление..

вопрос, я вот сейчас делал алтр трафик выделил его как городскую сеть..работает... мне интересно почему при создание....обычного направление с номером например ipfw:50 то не чего не получаетца...я создал название? указал в название направление, пресет*1 нулевой, для тарифов, ....и если скорость не ставить то по дефолту должно братьца из nofire поидеи ? или как не пойму..tablearg Не создаётца значит нету таблицы нету таблицы нету шейпера ? видь так ? ...если да то можно разобратца как зделать сваё направление и делать шейпер...

пресет*1 пожалуйста дайте разьеснение что это за такое название прикольное каторому я немогу дать значение ))


« Последнее редактирование: 05 Октября 2009, 21:50:11 от warzoni » Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!