Jump to content

Не работает -j LOG в iptables :(


Recommended Posts

Подскажите что не так, до этого с кинетиками дела не имел. 
Что у них вместо лога? %) Может какой модуль в OPKG доустановить нужно? 

iptables -A FORWARD -p tcp -j LOG
iptables: No chain/target/match by that name.

NDMS OS version 2.13.C.0.0-1 Release
Link to comment
Share on other sites

Отбой. Не установлен ipv6, а без него не ставятся модули нетфильтра, в том числе и ipt_ULOG. 

:) Ну и делать нужно в -j ULOG вместо -j LOG



 

Edited by Andy Mickey
Link to comment
Share on other sites

А все так хорошо начиналось... в репах нет ulogd, чем читать лог -  непонятно. Руками собирать? 
Мож всезнающий All меня в нужном направлении пнет? :)


 


 

Link to comment
Share on other sites

2 hours ago, naileddeath said:

для выхлопа в файл есть syslog-ng

syslog-ng установлен естественно, как ему сказать, чтобы он брал инфу из ULOG? Куда ULOG вообще пишет? %) Откуда то же ulogd данные берет? :)

 

Edited by Andy Mickey
Link to comment
Share on other sites

10 часов назад, Andy Mickey сказал:

А все так хорошо начиналось... в репах нет ulogd, чем читать лог -  непонятно. Руками собирать? 
Мож всезнающий All меня в нужном направлении пнет? :)

.../mipselsf-k3.4/keenetic/test/

Link to comment
Share on other sites

15 minutes ago, TheBB said:

ага (https://github.com/openwrt/packages/blob/master/net/ulogd/Makefile#L182). сей вопрос надо к owrt адресовать )))

теперь есть (.../ulogd-mod-extra_2.0.7-1a_mipsel-3.4.ipk)

Работает. По крайней мере вывод в файл. Спасибо за помощь. :)

Link to comment
Share on other sites

Полет нормальный, логи пишутся, кадило крутится, враги банятся (Но то уже из другой оперы) 

Есть вопрос не совсем по теме, но напрямую связан с /opt/etc/ndm/netfilter.d/ - конструкция из мана opkg 

==cut==

 #[ "$type" == "ip6tables" ] && exit 0   # check the protocol type
 #[ "$table" != "filter" ] && exit 0   # check the table name

==cut==

не всегда срабатывает, и правила дупятся. А ввиду того, что у меня блеклист по подсетям на десяток пейдждаунов - что либо там отловить, особо при постоянном сбросе статистики, нереально. :(
Пока сделал метки для правил в вайтлисте и проверяю по ним менялась ли таблица, но как-то костыльно это, хоть и работает. 

Мож кто придумал более изящный способ? :)

И два вопроса к разрабам, где можно взять список эвентов по которым дергается нетфильтр, (как я вижу он дергается целиком) и можно ли сотворить юзерский тейбл, в котором кастомер может делать свои фишки и быть уверен, что ndm ее дергать не будет? 

Если нет - как задавить такое 

Core::Syslog: last message repeated 5 times.

Core::Syslog: last message repeated 6 times.
Core::Syslog: last message repeated 7 times.

В вебморде оно давится, а вот в лог (который берет syslog-ng)  падает в полном объеме. :)

Не, я знаю как это отфильтровать руками, но хочется красоты и гармонии, а не стройную систему подпорок и костылей. ;)

Как руками передернуть netfilter чтобы пересоздал свои правила и перезапустил юзерскрипт фильтра? 

 

 


 

Edited by Andy Mickey
Исправление опечаток + 1 вопрос. ;)
Link to comment
Share on other sites

  • 10 months later...

Добрый день!

У меня есть скрипт, который по запросу от любого устройства (TV, телефон, планшет и прочее) на порт 32400 ( медиасервер PLEX) посылает WOL пакет на ПК, на котором развернут PLEX сервер. Скрипт базируется на утилите etherwake и анализе логов утилитой logread.

Как выяснилось позднее в keenetic нет logread.

 

Помогите пожалуйста модицифровать скрипт для работы на роутере giga.

#!/bin/sh

PINGS_CNT=1
SRV_IP=192.168.0.86
SRV_MAC=C8:60:00:99:0A:97
SRV_PORT=32400
#BC_IP=192.168.0.255
WOL=/usr/bin/etherwake
LOG=/var/log/wol

logger -p user.info -t PLEX "[`date -Iseconds`] PLEX Wake on LAN serevice was started."
iptables -D FORWARD -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "PLEX Connection "
iptables -I FORWARD -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "PLEX Connection "
#echo "Log was truncated at [`date -Iseconds`]" > $LOG # Truncate log
logread -f | while read LOG_LINE; do
    DST=`echo $LOG_LINE | grep -Fo "DST=$SRV_IP"`
    DPT=`echo $LOG_LINE | grep -Fo "DPT=$SRV_PORT"`
    if [ "$DST" == "" -o "$DPT" == "" ]; then
        continue
    fi
    #SRC_IP=`echo $LOG_LINE | grep -Fo "SRC=" | sed -e "s/SRC=//g"`
    SRC_IP=`echo $LOG_LINE | grep -Fo "SRC="`
    if [ "$SRC_IP" != "" ]; then
        # Found a matching line. Try to ping the server
        PING_RSLT=`ping -c $PINGS_CNT -W 1 $SRV_IP 2> /dev/null | awk '/packets received/ {print $4}'`
        if [ "$PING_RSLT" != "$PINGS_CNT" ]; then
        # Guess it's sleeping. Send WoL.
            #echo "[`date -Iseconds`] $SRC_IP causes PLEX SRV WoL."  >> $LOG
            #logger -p user.info -t PLEX "[`date -Iseconds`] $SRC_IP causes PLEX SRV Wake on LAN."
            logger -p user.info -t PLEX "[`date -Iseconds`] PLEX SRV Wake on LAN was triggered."
            $WOL $SRV_MAC #>> $LOG
        #else
            #echo "[`date -Iseconds`] PLEX SRV $SRV_IP was accessed by $SRC_IP and is alive." >> $LOG
            #logger -p user.info -t PLEX "[`date -Iseconds`] SRV is alive"
        fi
    fi
done

 

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...