Проблемы установки, настройки и работы Правильной Операционной Системы
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
CrazyPilot
- ст. сержант
- Сообщения: 321
- Зарегистрирован: 2008-08-14 9:17:58
- Откуда: Санкт-Петербург
-
Контактная информация:
Непрочитанное сообщение
CrazyPilot » 2009-06-29 9:07:27
Доброго времени суток. Накатал на основе имеющихся в системе свой скрипт, который конфигурит узлы netgraph для экспорта netflow статистики. Скрипт следующего вида:
Код: Выделить всё
#!/bin/sh
. /etc/rc.subr
name="ng_netflow_em2"
rcvar=`set_rcvar`
start_cmd="ng_netflow_start"
stop_cmd="ng_netflow_stop"
load_rc_config $name
eval "${rcvar}=\${${rcvar}:-'NO'}"
ngctl="/usr/sbin/ngctl "
ng_netflow_start() {
echo "Setup ng_netflow on em2"
# 1. Create netflow peer and connect lower of em2 to iface0 of netflow
# 2. Give netflow at em2:lower name - netflow_em2_lower
# 3. Create netflow peer and connect it's out0 to exsisting netflow out0
# 4. Name it as netflow_em2_upper
# 5. Connect iface0 of netflow_em2_upper to em2 upper
# 6. Create ksocket node and connect export of netflow_em2_lower ot inet/dgram/udp
# 7. Create ksocket node and connect export of netflow_em2_upper ot inet/dgram/udp
# 8. Name ksocket nodes as inc and out _socket
# 9. Configure host of ksockets
# (netflow_em2_lower)
#em2:lower ---> . <--- iface0:netflow0 ---- > inet/dgram/udp:7777 --> flanker
# (incoming traffic) |
# | out0
# |
# |
# |
# |
# |
# |
# (outgoing traffic) | out0
#em2:upper ---> . <--- iface0:netflow1 ---- > inet/dgram/udp:7778 --> flanker
# (netflow_em2_upper)
${ngctl} -f- <<-SEQ
mkpeer em2: netflow lower iface0
name em2:lower netflow_em2_lower
mkpeer netflow_em2_lower: netflow out0 out0
name netflow_em2_lower:out0 netflow_em2_upper
connect netflow_em2_upper: em2: iface0 upper
mkpeer netflow_em2_lower: ksocket export inet/dgram/udp
mkpeer netflow_em2_upper: ksocket export inet/dgram/udp
name netflow_em2_lower:export inc_socket
name netflow_em2_upper:export out_socket
msg inc_socket: connect inet/10.10.1.61:7777
msg out_socket: connect inet/10.10.1.61:7778
SEQ
}
ng_netflow_stop() {
echo "Shutting down netflow peers on em2..."
${ngctl} -f- <<-SEQ
shutdown inc_socket:
shutdown out_socket:
shutdown netflow_em2_lower:
shutdown netflow_em2_upper:
SEQ
echo "Compeleted"
}
run_rc_command "$1"
Прописал его в rc.conf
Код: Выделить всё
[root@gw ~]# /usr/local/etc/rc.d/ng_netflow_em2 rcvar
# ng_netflow_em2
ng_netflow_em2_enable=YES
Но при загрузке системы скрипт не отрабатывает, то есть ноды не создаются

. В чем косяк, не подскажете?
CrazyPilot
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2009-06-29 10:45:02
с debug пускал? :-)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
CrazyPilot
- ст. сержант
- Сообщения: 321
- Зарегистрирован: 2008-08-14 9:17:58
- Откуда: Санкт-Петербург
-
Контактная информация:
Непрочитанное сообщение
CrazyPilot » 2009-06-29 10:57:05
hizel писал(а):с debug пускал? :-)
Эээ, судя по гуглу
в rc.conf и shutdown -r now, после чего парсить /var/log/messages/ на предмет косяков? Я на правильном пути?

Хочу удостовериться просто, сервак - шлюз, так что перегружать только вечером получится

CrazyPilot
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2009-06-29 11:16:52
оно и при ручном /usr/local/etc/rc.d/script [start|stop] отрабатывает :-)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
CrazyPilot
- ст. сержант
- Сообщения: 321
- Зарегистрирован: 2008-08-14 9:17:58
- Откуда: Санкт-Петербург
-
Контактная информация:
Непрочитанное сообщение
CrazyPilot » 2009-06-29 11:32:33
бггг, попробовал, толку только
Код: Выделить всё
Jun 29 12:30:54 gw ArtemK: /usr/local/etc/rc.d/ng_netflow_em2: DEBUG: checkyesno: ng_netflow_em2_enable is set to YES.
Jun 29 12:30:54 gw ArtemK: /usr/local/etc/rc.d/ng_netflow_em2: DEBUG: run_rc_command: doit: ng_netflow_stop
Jun 29 12:30:59 gw ArtemK: /usr/local/etc/rc.d/ng_netflow_em2: DEBUG: checkyesno: ng_netflow_em2_enable is set to YES.
Jun 29 12:30:59 gw ArtemK: /usr/local/etc/rc.d/ng_netflow_em2: DEBUG: run_rc_command: doit: ng_netflow_start
И все, видать при загрузке системы нечто иное происходит. Подождём до вечера

CrazyPilot
-
CrazyPilot
- ст. сержант
- Сообщения: 321
- Зарегистрирован: 2008-08-14 9:17:58
- Откуда: Санкт-Петербург
-
Контактная информация:
Непрочитанное сообщение
CrazyPilot » 2009-06-29 12:19:55
хм, sorry
Код: Выделить всё
root@gw /usr/local/etc/perl_scripts]# uname -a
FreeBSD gw.%domainname%.ru 7.1-RELEASE-p5 FreeBSD 7.1-RELEASE-p5 #0: Mon May 4 16:35:11 MSD 2009 ArtemK@gw.%domainname%.ru:/usr/obj/usr/src/sys/GWSPB-2009-05-04 i386
CrazyPilot
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Непрочитанное сообщение
paradox » 2009-06-29 12:38:22
ну можно попробовать поменять
name="ng_netflow_em2"
на
name="ng_netflow"
и в rc.conf поправить
вдруг сработает
хотя лучше конечно включать полный дебаг и смотреть что там происходит и как
paradox
-
CrazyPilot
- ст. сержант
- Сообщения: 321
- Зарегистрирован: 2008-08-14 9:17:58
- Откуда: Санкт-Петербург
-
Контактная информация:
Непрочитанное сообщение
CrazyPilot » 2009-06-29 12:43:32
Не, менять названия смысла не вижу. По названию скрипта он же находит функцию, так что в скрипт правильный попадает. Мне кажеццо, может система на этапе загрузки не знает что такое просто "echo". Может полный путь надо прописывать...В любом случае, вечером буду экспериментировать.
А полный дебаг, это как?
CrazyPilot
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Непрочитанное сообщение
paradox » 2009-06-29 12:49:17
ну поставь полный путь к эхо
дебаг уже ж писал
rc_debug="YES"
rc_info="YES"
paradox