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

Главная категория => Nodeny 49 => Тема начата: tramX от 19 Сентября 2009, 00:54:13



Название: Не добавляются правила IPFW
Отправлено: tramX от 19 Сентября 2009, 00:54:13
Авторизация через агент происходит а в инет не пускает. Если остановить IPFW то все ок.
/etc/rc.d/ipfw stop
net.inet.ip.fw.enable: 1 -> 0
[3]    Done                          perl nofire.pl

И автозапуск системы не работает

#!/bin/sh

# PROVIDE: nodeny
# REQUIRE: NETWORKING SERVERS mysql

cd /usr/local/nodeny/
nohup sh go_kernel.sh &
nohup sh go_nol2auth.sh &
nohup sh go_noserver.sh &


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 19 Сентября 2009, 05:47:39
замени

# REQUIRE: NETWORKING SERVERS mysql

на

# REQUIRE: LOGIN


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 19 Сентября 2009, 10:11:39
А комментарий нужно убрать? Так а правила в IPFW почему не добавляются?


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 19 Сентября 2009, 11:19:58
А комментарий нужно убрать? Так а правила в IPFW почему не добавляются?
если бы я написал убрать, то надо было убрать, но я не написал.

отредактируй nofire.pl, раскомментируй

Код:
#$FW='/bin/cat';

и запусти Noserver.pl  с консоли. Будет на экран выводить все, что он пытается выполнять с ipfw. Попробуй выполнить эти праила вручную и смотри какую ошибку будет выдвать


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 19 Сентября 2009, 11:57:37
 perl noserver.pl
table 0 flush
table 1 flush
table 2 flush
table 10 flush
table 11 flush
table 15 flush
table 20 flush
table 21 flush
-f pipe flush
pipe 1 config bw 0bit/s
add 5000 deny ip from not table(0) to any
add 5001 skipto 5010 ip from table(127) to table(126)
add 5002 skipto 5030 ip from any to not table(2)
add 5003 deny ip from any to not table(1)
add 5004 pipe tablearg ip from table(21) to any
add 5005 deny ip from any to any
add 5010 pipe tablearg ip from table(127) to any
add 5030 deny tcp from table(15) to any 25
add 5400 pipe tablearg ip from table(11) to any
add 32000 deny ip from any to any
add 33000 pipe tablearg ip from table(126) to table(127)
add 33001 skipto 33010 ip from not table(2) to any
add 33002 pipe tablearg ip from any to table(20)
add 33003 deny ip from any to any
add 33400 pipe tablearg ip from any to table(10)
table 2 add 192.168.5.13
table 1 add 192.168.5.13
table 2 add 192.168.5.5
table 1 add 192.168.5.5
table 2 add 192.168.5.10
table 2 add 192.168.5.6
table 2 add 192.168.4.111
table 2 add 192.168.5.7
table 2 add 192.168.5.8
table 2 add 192.168.4.31
table 2 add 192.168.4.32
table 2 add 192.168.4.33
table 2 add 192.168.5.14
table 2 add 192.168.5.15
table 2 add 192.168.4.101
table 2 add 192.168.5.19
table 2 add 192.168.5.17
table 2 add 192.168.4.8
table 2 add 192.168.5.18
table 2 add 192.168.4.43
table 2 add 192.168.5.20
table 2 add 192.168.5.21
table 1 add 192.168.5.21
table 2 add 192.168.5.22
table 2 add 192.168.5.23
table 2 add 192.168.5.24
table 2 add 192.168.5.25
table 1 add 192.168.5.25
table 2 add 192.168.5.26
table 2 add 192.168.5.27
table 1 add 192.168.5.27
table 2 add 192.168.5.28
table 2 add 192.168.5.29
table 1 add 192.168.5.29
table 2 add 192.168.5.30
table 2 add 192.168.5.32
table 2 add 192.168.5.33
table 1 add 192.168.5.33
table 2 add 192.168.5.34
table 2 add 192.168.5.35
table 2 add 192.168.5.55
table 1 add 192.168.5.55
table 2 add 192.168.5.36
table 2 add 192.168.5.37
table 1 add 192.168.5.37
table 2 add 192.168.5.43
table 2 add 192.168.3.5
table 2 add 192.168.5.39
table 2 add 192.168.5.41
table 2 add 192.168.5.40
table 1 add 192.168.5.40
table 2 add 192.168.5.42
table 2 add 192.168.4.204
table 1 add 192.168.4.204
table 2 add 192.168.4.27
table 0 add 192.168.5.13
pipe 1004 config bw 512Kbit/s
pipe 1005 config bw 256Kbit/s
table 20 add 192.168.5.13 1
table 21 add 192.168.5.13 1
table 15 add 192.168.5.13
table 10 add 192.168.5.13 1004
table 11 add 192.168.5.13 1005
table 0 add 192.168.5.5
pipe 1008 config bw 256Kbit/s
pipe 1009 config bw 256Kbit/s
table 20 add 192.168.5.5 1
table 21 add 192.168.5.5 1
table 15 add 192.168.5.5
table 10 add 192.168.5.5 1008
table 11 add 192.168.5.5 1009
table 0 add 192.168.5.21
pipe 1012 config bw 256Kbit/s
pipe 1013 config bw 256Kbit/s
table 20 add 192.168.5.21 1
table 21 add 192.168.5.21 1
table 15 add 192.168.5.21
table 10 add 192.168.5.21 1012
table 11 add 192.168.5.21 1013
table 0 add 192.168.5.27
pipe 1016 config bw 512Kbit/s
pipe 1017 config bw 256Kbit/s
table 20 add 192.168.5.27 1
table 21 add 192.168.5.27 1
table 15 add 192.168.5.27
table 10 add 192.168.5.27 1016
table 11 add 192.168.5.27 1017
table 0 add 192.168.5.29
pipe 1020 config bw 1024Kbit/s
pipe 1021 config bw 256Kbit/s
table 20 add 192.168.5.29 1
table 21 add 192.168.5.29 1
table 15 add 192.168.5.29
table 10 add 192.168.5.29 1020
table 11 add 192.168.5.29 1021
table 0 add 192.168.5.33
pipe 1024 config bw 512Kbit/s
pipe 1025 config bw 256Kbit/s
table 20 add 192.168.5.33 1
table 21 add 192.168.5.33 1
table 15 add 192.168.5.33
table 10 add 192.168.5.33 1024
table 11 add 192.168.5.33 1025
table 0 add 192.168.5.55
pipe 1028 config bw 4096Kbit/s
pipe 1029 config bw 512Kbit/s
table 20 add 192.168.5.55 1
table 21 add 192.168.5.55 1
table 15 add 192.168.5.55
table 10 add 192.168.5.55 1028
table 11 add 192.168.5.55 1029
table 0 add 192.168.5.37
pipe 1032 config bw 256Kbit/s
pipe 1033 config bw 256Kbit/s
table 20 add 192.168.5.37 1
table 21 add 192.168.5.37 1
table 15 add 192.168.5.37
table 10 add 192.168.5.37 1032
table 11 add 192.168.5.37 1033
table 0 add 192.168.4.204
pipe 1036 config bw 4096Kbit/s
pipe 1037 config bw 512Kbit/s
table 20 add 192.168.4.204 1
table 21 add 192.168.4.204 1
table 15 add 192.168.4.204
table 10 add 192.168.4.204 1036
table 11 add 192.168.4.204 1037
table 0 add 192.168.5.40
pipe 1040 config bw 128Kbit/s
pipe 1041 config bw 128Kbit/s
table 20 add 192.168.5.40 1
table 21 add 192.168.5.40 1
table 15 add 192.168.5.40
table 10 add 192.168.5.40 1040
table 11 add 192.168.5.40 1041

вродибы правила добавляет а в инет не пускает


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 19 Сентября 2009, 12:09:25
Так а правила в IPFW почему не добавляются?
вродибы правила добавляет а в инет не пускает
отличия есть?


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 19 Сентября 2009, 12:30:17
В каком смысле отличия. ip правельные добавляет. Я в IPFW слабо разбираюсь


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 19 Сентября 2009, 23:40:54
Отличие в том, что ты написал "почему правила не добавляются", а потом "они добавляются". Зачем отнимать врем у тех, кто пытается тебе помочь? Неужели после отправки сообщения нельзя перечитать свое сообщение и понять правильно ли задан вопрос и не понадобится отвечающим входить в астрал для получения ответов?


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 20 Сентября 2009, 11:45:04
После
отредактируй nofire.pl, раскомментируй
#$FW='/bin/cat';
запуск
perl noserver.pl отображает добавление правил тех что я написал ниже но в инет доступа нет. Если не раскоментировать то запуск perl noserver.pl ничего не отображает


Название: Re: Не добавляются правила IPFW
Отправлено: goletsa от 20 Сентября 2009, 18:01:57
А в rc.firewall что вписано?


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 20 Сентября 2009, 19:17:11
у меня в /etc/rules

/etc/rc.conf
firewall_enable="YES"
#firewall_type="open"
firewall_script="/etc/rules"
firewall_logging="YES"

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

ifOut='vr0'


${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






Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 20 Сентября 2009, 19:21:24
возможно, это проблема когда  pf nat обрабатывает пакет после ipfw
покажи ipfw show
и несколько строк ipfw table 10 list


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 20 Сентября 2009, 21:16:47
ipfw table 10 list  ПУСТО

ipfw show
00050 525 40096 allow tcp from any to me dst-port 22
00051 433 45416 allow tcp from me 22 to any
00110 172  8600 allow ip from any to any via lo0
00120 656 46914 skipto 1000 ip from me to any
00130   0     0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00160 598 47453 skipto 2000 ip from any to me
00200 246 22432 skipto 500 ip from any to any via vr0
00300 445 41173 skipto 4500 ip from any to any in
00400   0     0 skipto 450 ip from any to any recv vr0
00420   0     0 divert 1 ip from any to any
00450   0     0 divert 2 ip from any to any
00490   0     0 allow ip from any to any
00500 246 22432 skipto 32500 ip from any to any in
00510   0     0 divert 1 ip from any to any
00540   0     0 allow ip from any to any
01000   4   264 allow udp from any 53,7723 to any
01010 432 45552 allow tcp from any to any setup keep-state
01020  11   942 allow udp from any to any keep-state
01100 402 24184 allow ip from any to any
02000   0     0 check-state
02010 361 21804 allow icmp from any to any
02020   0     0 allow tcp from any to any dst-port 80,443
02050   2    80 deny ip from any to any via vr0
02060  42  1541 allow udp from any to any dst-port 53,7723
02100   0     0 deny ip from any to any
32490 445 41173 deny ip from any to any
65535 246 22432 allow ip from any to any


Название: Re: Не добавляются правила IPFW
Отправлено: Maks от 20 Сентября 2009, 21:26:04
Цытирую из мануала установки Нодени

ipfw table 10 list

видим в списке этот ip. Теперь пробуем получать доступ в интернет только при авторизации и только когда учетная запись незаблокирована.

Вот у меня
localhost# ipfw table 10 list
192.168.254.4/32 1044
192.168.254.7/32 1012

И абоненты с IP 192.168.254.4 и 192.168.254.7 получают доступ.

У меня была похожая проглема пока я не скомпилил ядро с этими функциями

options         IPFIREWALL
options         IPDIVERT
options         IPFIREWALL_FORWARD
options         DUMMYNET

Посмотри  freebsd.html (Пример установки FreeBSD)


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 21 Сентября 2009, 00:26:15
покажи uname -a


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 21 Сентября 2009, 10:39:22
uname -a
FreeBSD rep31.bsd 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Sat Sep 19 16:45:43 EEST 2009     tram@rep31.bsd:/usr/obj/usr/src/sys/NODENY  i386


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 21 Сентября 2009, 11:21:45
все, что у тебя вывело в
http://demo.nodeny.com.ua/forum/index.php?topic=140.msg1078#msg1078

запиши в файл /root/del

и выполни с консоли:

ipfw /root/del

правила появились?


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 21 Сентября 2009, 13:48:25
Да

ipfw /root/del
Flushed all pipes.
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
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)


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 21 Сентября 2009, 13:52:55
Все должно работать) nofire.pl  изменял (кроме добавления комментария, что рассматривался выше)?


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 21 Сентября 2009, 18:49:19
Все должно работать) nofire.pl  изменял (кроме добавления комментария, что рассматривался выше)?
Нет конечно, не менял. Странно два раза настраивал nodeny все работало.


Название: Re: Не добавляются правила IPFW
Отправлено: Efendy от 21 Сентября 2009, 19:07:05
чудес не бывает.
В nofire.pl есть строка:

system("$FW $fname");

при $FW='/bin/cat' она выводит на экран, при $FW='/sbin/ipfw -q ' должна запускать ipfw


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 26 Сентября 2009, 13:54:41
В nofire.pl
$IPFW='/sbin/ipfw -q ';
$FW=$IPFW;

rep31# perl nofire.pl &
[3] 2046
rep31# ipfw table 10 list
[3]    Done                          perl nofire.pl

Может я что то в админке напутал?


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 29 Сентября 2009, 02:22:50
заметил что появился noserver.log
29.09.2009 03:55:52 Script already running with pid=933
DBD::mysql::st execute failed: MySQL server has gone away at /usr/local/nodeny/nosat.pl line 229.
DBI connect('database=bill;host=localhost;mysql_connect_timeout=5','root',...) failed: Can't connect to local MySQL server th$
29.09.2009 03:56:03 Error: SELECT SQL_BUFFER_RESULT uid,uip,now_on,in1,out1 FROM users_trf
29.09.2009 03:56:03 Получен сигнал завершения работы скрипта
29.09.2009 03:57:25 Starting noserver
Line 9: setsockopt(IP_DUMMYNET_FLUSH): Protocol not available
29.09.2009 03:57:26 Получен сигнал перезагрузки скрипта
29.09.2009 03:57:28 Starting noserver
Line 9: setsockopt(IP_DUMMYNET_FLUSH): Protocol not available
Line 4: setsockopt(IP_DUMMYNET_CONFIGURE): Protocol not available
Line 6: setsockopt(IP_DUMMYNET_CONFIGURE): Protocol not available
Line 3: setsockopt(IP_DUMMYNET_CONFIGURE): Protocol not available

Как исправить?


Название: Re: Не добавляются правила IPFW
Отправлено: goletsa от 29 Сентября 2009, 06:00:02
Собрать ipfw\dummynet в ядро?


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 29 Сентября 2009, 10:06:41
у меня скомпилировано. Установил Freebsd 7.2 , нодени, настроил заработало. Потом обновил систему. freebsd-update fetch freebsd-update install portsnap fetch перегрузил и все ipfw table 10 list пусто.


Название: Re: Не добавляются правила IPFW
Отправлено: tramX от 29 Сентября 2009, 17:45:07
пере компилировал ядро и заработало


Название: Re: Не добавляются правила IPFW
Отправлено: Elisium от 29 Сентября 2009, 17:45:30
Когда делаешь freebsd-update fetch freebsd-update install , у тебя заодно обновляется ЯДРО до последней ревизии.
Само собой, новое ядро GENERIC и оно заменяет то, что ты собрал под себя.

Добавь в /boot/loader.conf такое:

Код:
pf_load="YES"
dummynet_load="YES"
ng_netflow_load="YES"
ng_socket_load="YES"
ng_ksocket_load="YES"
ng_ipfw_load="YES"

Это загружает модули ипфв, пф и нг (для экспорта нетфлов)
п.с ну ..  или собери ядро заново )))