Страница 1 из 1

iptables логгирование окончания соединения

Добавлено: 08 июл 2009, 23:03
Bock
Всем привет. Есть проблемка - хочется логгировать начало и окончание vpn сессии, проходящей транзитом через роутер.
С началом - вроде проблем нет:

Код: Выделить всё

iptables -t nat -A POSTROUTING -s 10.222.1.0/24 -d $VPNSRV -p tcp --dport 1723 -m state --state NEW -j LOG \
--log-prefix "NEW session vpn:"
А вот с окончанием:

Код: Выделить всё

iptables -t nat -A POSTROUTING -s 10.222.1.0/24 -d $VPNSRV -p tcp --dport 1723 -m tcp --tcp-flags \
ACK,FIN ACK,FIN -j LOG --log-prefix "END session vpn:"
Теоретически - смотрим флаги, видим FIN + ACK - логгируем. На практике:

Код: Выделить всё

Jul  8 23:02:09 pandora [90505.231318] NEW session vpn:IN= OUT=eth1 SRC=10.222.1.21 DST=81.25.32.68 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=29413 DF PROTO=TCP SPT=5984 DPT=1723 WINDOW=65535 RES=0x00 SYN URGP=0
Jul  8 23:02:16 pandora [90512.617175] NEW session vpn:IN= OUT=eth1 SRC=10.222.1.21 DST=81.25.32.68 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=29436 DF PROTO=TCP SPT=5994 DPT=1723 WINDOW=65535 RES=0x00 SYN URGP=0
Начало видно, окончания - нет.
Есть какие-нибудь догадки? Я так понимаю, отследить окончание GRE сессии тяжелее будет?

Re: iptables логгирование окончания соединения

Добавлено: 09 июл 2009, 00:06
Hermit
правила с --state ESTABLISHED c ACCEPT
перед --tcp-flags ACK,FIN ACK,FIN случайно нету?

Re: iptables логгирование окончания соединения

Добавлено: 09 июл 2009, 00:17
Bock
Hermit писал(а):правила с --state ESTABLISHED c ACCEPT
перед --tcp-flags ACK,FIN ACK,FIN случайно нету?
самым первым идёт.. Из-за этого?

Код: Выделить всё

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s $VPNSRV -p 47 -j ACCEPT
iptables -A INPUT -s 10.222.0.0/22 -p tcp --dport 1723 -j ACCEPT

#1 network
iptables -t nat -A POSTROUTING -s 10.222.1.0/24 -d $VPNSRV -p 47 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.222.1.0/24 -d $VPNSRV -p tcp --dport 1723 -m state --state NEW -j LOG \
--log-prefix "NEW session vpn:"
iptables -t nat -A POSTROUTING -s 10.222.1.0/24 -d $VPNSRV -p tcp --dport 1723 -m tcp --tcp-flags ACK,FIN ACK,FIN -j LOG \
--log-prefix "END session vpn:"
iptables -t nat -A POSTROUTING -s 10.222.1.0/24 -d $VPNSRV -p tcp --dport 1723 -j MASQUERADE

Re: iptables логгирование окончания соединения

Добавлено: 09 июл 2009, 08:12
Hermit

Код: Выделить всё

ACCEPT target

As soon as the match specification for a packet has been fully satisfied, and we specify ACCEPT as the target, the rule is accepted and will not continue traversing the current chain or any other ones in the same table. 

Re: iptables логгирование окончания соединения

Добавлено: 09 июл 2009, 23:20
Bock
Hermit писал(а):

Код: Выделить всё

ACCEPT target

As soon as the match specification for a packet has been fully satisfied, and we specify ACCEPT as the target, the rule is accepted and will not continue traversing the current chain or any other ones in the same table. 
спасибо, учтём! :)