51

Re: Iptables

в самом хелпе к кинетику описана функция proto и она ж и не реализована.
вот так описано.

Options:                                                                       
  --proto       -p [!] proto    protocol: by number or name, eg. `tcp'           
                                                                               
LAYER7 match v1.3.8 options:                                                   
--l7dir <directory>  : Look for patterns here instead of /etc/l7-protocols/     
                       (--l7dir must be specified before --l7proto if used!)   
--l7proto [!] <name> : Match the protocol defined in /etc/l7-protocols/name.pat
--l7pkt              : Skip connection tracking and match individual packets   
                                                                               
/media/DISK_A1/system/root #
Тоесть я это просто с пальца не взял, а прочитал в документации, а функция не работает.
Вот потому и говорю, что  вопрос обстоит в том, как добавить так, чтоб функция работала, и есть ли возможность подложить файл.
Где взять новую прошивку от января 2012 года?
Может в ней уже всё реализовано?
Тоесть вопрос восновном обстоит в том, чтоб реализовать функцию l7proto.

52

Re: Iptables

felcons, берите исходники zyxel и реализуйте, не думаю, что другим это интересно.

53

Re: Iptables

А может просто реально отключить встроенный iptables, и добавить пакетом, и на этот раз уже полный, где все функции реализованы?

54

Re: Iptables

felcons, все в Ваших руках, в том числе и эксперименты. Перед экспериментами лучше погуглить.

55

Re: Iptables

Знаю, что можна найти папку l7-protocols
но проблема другая.
В родной /etc загнать её нельзя, а из
/media/DISK_A1/system/etc
она не видится.
соответственно вопрос.
в пакетах iptables нету.
На сколько реально неизменяя прошивки, решить задачу с функцией l7-proto?
То ж получается, что глюк со стороны изготовителя.
Даже в хелпе функция описана, но не реализована.
В поддержку иск написать не могу, потому что там просто интерфейс изменили, и моё голосовое програмное обеспечение его не читает, а сам я незрячий.

56

Re: Iptables

Аккуратно прочитал, и сделал выводы, что прошивку разбирать вовсе ненадо.
можна сделать через параметр
l7-dir /media/DISK_A1/system/etc/l7-protocols
но вопрос теперь в другом.
Где именно взять эти протоколы?
Если б достать протоколы, то я б мог протестировать, на сколько оно работает.

57

Re: Iptables

felcons, Вы хотите "протоколы тестировать" или задачу определенную решить?
В прошивке есть модули netfilter

define KernelPackage/ipt-filter/description
 Netfilter (IPv4) kernel modules for packet content inspection
 Includes:
 - ipt_ipp2p
 - ipt_webstr
endef

Но нет модулей

define KernelPackage/ipt-layer7/description
 Netfilter (IPv4) kernel modules for packet content inspection
 Includes:
 - ipt_layer7
endef

Если нужны - собирайте и тестируйте. Но я бы искал другое решение задачи. Не следует считать, что на кинетике полноценный linux.

58

Re: Iptables

Я хочу решить задачу именно, но если что надо тестировать, то могу и тестировать.
Задача в том, чтоб скайп закрыть.
Где взять сами протоколы незнаю.
Разобрался, что можна на другую директорию направить, и именно на ту что на флешке, но нету самой папки l7-protocols.
А что другое Вы предлагаете? Как вы видете решение этой задачи?

59

Re: Iptables

А может быть на уровне ядра поддержка layer7 и не нужна, гуглите. Найдете решение - пишите.

60

Re: Iptables

Так вот именно что вроди ядро пересобирать ненадо.
Мне надо ту папку что /etc/l7-protocols
Ну и просто нигде найти немогу.
Если б найти, то я б описал через
--l7dir /media/DISK_A1/system/etc/l7-protocols
но чтоб ту папку на флешку положить, ней надо где-то разжиться и рабочей.

61

Re: Iptables

Вроди нашёл сами протоколы и расположил тут
/media/DISK_A1/system/etc/l7-protocols
там много файлов с разширением pad.
Запускаю и вот что получаю.
/media/DISK_A1/system/root # iptables -A FORWARD -m layer7 --l7dir /media/DISK_A
1/system/etc/l7-protocols --l7proto skypetoskype -j DROP                       
iptables: No chain/target/match by that name                                   
/media/DISK_A1/system/root #                                                     что делаю не так?
Что ещё надо доставлять?

62

Re: Iptables

Помогите пожалуйста. Настроил pptp сервер, нужно чтобы клиенты видели друг друга только по определенным портам.

Изначально было так, видят друг друга как угодно:

ptables -I FORWARD -i ppp+ -o ppp+ -j ACCEPT

Заменил на

iptables -I FORWARD -i ppp+ -o ppp+ -p tcp --dport 3185 -j ACCEPT

Связи нет. Что делаю не так?

63

Re: Iptables

Методом научного тыка выяснил, что открыть только нужные порты не получится. Нужны еще какие-то порты чтобы была связь между клиентами. Вопрос - какой программой можно посмотреть какие соединения устанавливаются между двумя компьютерами ?

64

Re: Iptables

Nick N., source port, как правило, случайное число. Под windows есть netstat (встроенная) tcpview (gui), под linux - netstat.
Пример с кинетика:

netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 KEENETIC:ssh            10.0.0.156:52530        ESTABLISHED 
....

65

Re: Iptables

Zyxmon, спасибо. Теперь понятно.

Но разве правило

iptables -I FORWARD -i ppp+ -o ppp+ -p tcp --dport 3185 -j ACCEPT

не дает возможность подключаться с любых портов? Нужно еще дописать --sport 1-65535 ?

66

Re: Iptables

Nick N., я не большой знаток iptables. Может кто другой подскажет.

67

Re: Iptables

В общем, закрыть все порты, а открыть только нужные не получилось. Видать, не хватает знаний.
В итоге закрыл рекомендуемые порты и так и оставил

68

Re: Iptables

Nick N. :

В общем, закрыть все порты, а открыть только нужные не получилось. Видать, не хватает знаний.
В итоге закрыл рекомендуемые порты и так и оставил

Посмотрите netstat какие порты у вас используются.

69

Re: Iptables

AndreyUA, дело в том, что исходящий порт используется случайный. Но если я закрываю входящие порты, то перестает работать.

В общем, я сделал так и успокоился:

#Firewall
#RPC
iptables -I FORWARD -i ppp+ -o ppp+ -p tcp --dport 443:445 -j DROP
#DCOM, NETBIOS
iptables -I FORWARD -i ppp+ -o ppp+ -p tcp --dport 135:139 -j DROP
#UPNP
iptables -I FORWARD -i ppp+ -o ppp+ -p tcp --dport 5000 -j DROP

70

Re: Iptables

Подскажите как открыть порт для Transmission.... такая каша уже в голове  sad
Вот setting.json

{
    "alt-speed-down": 100,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 100,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 2,
    "dht-enabled": false,
    "download-dir": "/media/DISK_A1/Transmission/downloads",
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 0,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/media/DISK_A1/Transmission/incomplete",
    "incomplete-dir-enabled": false,
    "lazy-bitfield-enabled": true,
    "lpd-enabled": true,
    "message-level": 0,
    "peer-congestion-algorithm": "",
    "peer-limit-global": 200,
    "peer-limit-per-torrent": 40,
    "peer-port": 54321,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "pidfile": "/media/DISK_A1/system/var/transmission/transmission.pid",
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "prefetch-enabled": 0,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "",
    "rpc-port": 9190,
    "rpc-url": "/transmission/",
    "rpc-username": "divinorum",
    "rpc-whitelist": "127.0.0.1",
    "rpc-whitelist-enabled": false,
    "scrape-paused-torrents": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 1000,
    "speed-limit-down-enabled": true,
    "speed-limit-up": 1000,
    "speed-limit-up-enabled": true,
    "start-added-torrents": false,
    "trash-original-torrent-files": false,
    "umask": 2,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true,
    "watch-dir": "/media/DISK_A1/Transmission/torrentwatch",
    "watch-dir-enabled": true
}

Вот S90transmissiond

#!/bin/sh

MOUNT="/media/DISK_A1/system"
TRNEXE="$MOUNT/usr/bin/transmission-daemon"
TRNVAR="$MOUNT/var/transmission"
TRNPID="$TRNVAR/transmission.pid"
TRN_PORT=54321
TRN_RPC_PORT=9190
export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib
export TRANSMISSION_WEB_HOME="$MOUNT/usr/share/transmission/web"

daemon_status ()
{
    [ -f $TRNPID ] && [ -d /proc/`cat $TRNPID` ]
}

start_daemon ()
{
    $TRNEXE -et -g $TRNVAR -x $TRNPID
    counter=5
    while [ $counter -gt 0 ]
    do
        daemon_status && break
        let counter=counter-1
        sleep 1
    done
    iptables -A INPUT -p tcp --dport 54321 -j ACCEPT
    iptables -A INPUT -p udp --dport 54321 -j ACCEPT
    iptables -A INPUT -p tcp --dport $TRN_RPC_PORT -j ACCEPT
#?????? iptables -I INPUT -i lo -j ACCEPT ???????
}

stop_daemon ()
{
    # Kill transmission.
    kill `cat $TRNPID`
    # Wait until transmission is really dead (may take some time).
    counter=160
    while [ $counter -gt 0 ]
    do
        daemon_status || break
        let counter=counter-1
        if [ counter = 1 ]; then
            killall -9 transmission-daemon 2> /dev/null
        fi
        sleep 1
    done
    iptables -D INPUT -p tcp --dport 54321 -j ACCEPT 2> /dev/null
    iptables -D INPUT -p udp --dport 54321 -j ACCEPT 2> /dev/null
    iptables -D INPUT -p tcp --dport $TRN_RPC_PORT -j ACCEPT 2> /dev/null
#?????? iptables -D INPUT -i lo -j ACCEPT ???????
}

reload_daemon ()
{
    kill -HUP `cat $TRNPID`
}

case $1 in
    start)
        if daemon_status
        then
            echo Transmission daemon already running
        else
            echo Starting Transmission daemon...
            start_daemon
        fi
        ;;
    stop)
        echo Stopping Transmission daemon...
        stop_daemon
        ;;
    restart)
        stop_daemon
        start_daemon
        ;;
    reload)
        reload_daemon
        ;;
    status)
        if daemon_status
        then
            echo Running
        else
            echo Not running
        fi
        ;;
    settings)
    $TRNEXE -et -g $TRNVAR -d
    ;;
    link_up)
        ;;
    ppp_up)
        ;;
    link_down)
        ;;
    ppp_down)
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload|status|settings|link_up|link_down|ppp_up|ppp_down}"
        ;;
esac

Вот iptables -L

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     igmp --  anywhere             anywhere
DROP       icmp --  anywhere             anywhere            icmp echo-request
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:54321
ACCEPT     udp  --  anywhere             anywhere            udp dpt:54321
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:9190

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state NEW
ACCEPT     all  --  anywhere             anywhere            state NEW
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
MINIUPNPD  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain MINIUPNPD (1 references)
target     prot opt source               destination

Вот netstat

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0    216 KEENETIC:ssh            192.168.1.44:1067       ESTABLISHED
tcp        1      0 10.40.224.118:46296     www.torrents3d.ru:http  CLOSE_WAIT
tcp        0      0 KEENETIC:ssh            192.168.1.44:4749       ESTABLISHED
netstat: no support for 'AF INET6 (tcp)' on this system
netstat: no support for 'AF INET6 (udp)' on this system
netstat: no support for 'AF INET6 (raw)' on this system
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  9      [ ]         DGRAM                    791    /dev/log
unix  3      [ ]         STREAM     CONNECTED     286123
unix  3      [ ]         STREAM     CONNECTED     286122
unix  2      [ ]         DGRAM                    70408
unix  2      [ ]         DGRAM                    2618
unix  2      [ ]         DGRAM                    2589
unix  2      [ ]         DGRAM                    2390
unix  2      [ ]         DGRAM                    2293
unix  2      [ ]         DGRAM                    1197
unix  2      [ ]         DGRAM                    796

Вот еще...для полноты картины

http://s1.ipicture.ru/uploads/20120317/wO7fS5NW.jpg

Вот что 2ip.ru кажет

http://s2.ipicture.ru/uploads/20120317/rmlSCYZE.jpg

Попробывал все что тут прочел...и смог понять.
в Transmission постоянно порт закрыт,но самое интересное что трафик какой то,куда то идет....как только запускаю S90transmissiond
Keenetic работает в связке с P-660RU EE....
P.S. Не ругайте сильно,я тут с ума уже схожу с этими портами.

Отредактировано Divinorum (2012-03-17 06:45:39)

"ELTEX NTE-RG-1402G-W + ZyXEL KEENETIC GIGA + StoreJet 25D2-W + LG 47LW650S + Samsung UE22C5000"

71

Re: Iptables

Divinorum :

Подскажите как открыть порт для Transmission.... такая каша уже в голове  sad

Купите у прова белый ip, у Вас серый.

72

Re: Iptables

мммда... и на том спасибо... мудрый ответ.

"ELTEX NTE-RG-1402G-W + ZyXEL KEENETIC GIGA + StoreJet 25D2-W + LG 47LW650S + Samsung UE22C5000"

73

Re: Iptables

Divinorum, серый ip (как у Вас) не доступен из инета. Открывай на нем порт, не открывай - не поможет. Только пользователи локалки провайдера смогут достучаться на Ваш порт.

74

Re: Iptables

Так а что нужно? Управлять трансмишином не только из локалки, но из интернета? Тогда нужно использовать сервис типа dyndns, no-ip и т.п.

Linux KEENETIC 2.6.23.17  -  xmail, samba, transmission, ftp, lighttp, wol, owfs, iftop, jabber-server, icecast, smstools, aprx

75

Re: Iptables

ur3ckr :

Так а что нужно? Управлять трансмишином не только из локалки, но из интернета? Тогда нужно использовать сервис типа dyndns, no-ip и т.п.

Вооо ...и я о чем ... есть ведь выход ... помнится мне когда я приобрел keenetic ...все ведь работало (в смысле раздача Transmission) теперь вспомнил ... 660RU EE был не мостом на нем запущен dyndns (не помню уже всех настроек)... короче все работало... качал встроенным Transom (все качалось и раздавалось).... теперь PPPoE на keenetice .... dyndns платный (  вот и спрашиваю ... есть ли выход.
  no-ip обязует устанавливать утилиту...как я ее в keenetic установлю...наткнулся вот на такой пакет inadyn ... или это вовсе не для таких задач.
...мне нужно чтоб Transmission мог раздавать...исходя из того что есть (никаких там белых ай-пи...или другого провайдера... в ближайшие 5 лет не предвидится)

Отредактировано Divinorum (2012-03-17 17:38:16)

"ELTEX NTE-RG-1402G-W + ZyXEL KEENETIC GIGA + StoreJet 25D2-W + LG 47LW650S + Samsung UE22C5000"