Carp + pf keep state trouble

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Carp + pf keep state trouble

Andrew-45
Всем, добрый день.

Сам пишу - сам отвечаю :)


связка carp+arpbalancing+peempt+pfsync

2 машины на одной при  pfctl -x misc
в /var/log/messages
/bsd: pf: loose state match: бла бла бла
/bsd: pf: loose state match:
/bsd: pf: loose state match:
/bsd: pf: loose state match:
и т.д.

У второго

/bsd: pf: state insert failed: tree_lan_ext lan:
/bsd: pf: state insert failed: tree_lan_ext lan:
/bsd: pf: state insert failed: tree_lan_ext lan:
/bsd: pf: state insert failed: tree_lan_ext lan: бла бла бла

и т.д.

По какой-то причине states не синхронизируются. Соответственно
соединения рвутся.
В какую сторону смотреть?




--
Best regards,
 Андрей                          mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Carp + pf keep state trouble

Andrew-45
Hello Андрей,

Tuesday, January 24, 2006, 12:27:33 PM, you wrote:

А> Всем, добрый день.

А> Сам пишу - сам отвечаю :)


А> связка carp+arpbalancing+peempt+pfsync

А> 2 машины на одной при  pfctl -x misc
А> в /var/log/messages
А> /bsd: pf: loose state match: бла бла бла
А> /bsd: pf: loose state match:
А> /bsd: pf: loose state match:
А> /bsd: pf: loose state match:
А> и т.д.

А> У второго

А> /bsd: pf: state insert failed: tree_lan_ext lan:
А> /bsd: pf: state insert failed: tree_lan_ext lan:
А> /bsd: pf: state insert failed: tree_lan_ext lan:
А> /bsd: pf: state insert failed: tree_lan_ext lan: бла бла бла

А> и т.д.

А> По какой-то причине states не синхронизируются. Соответственно
А> соединения рвутся.
А> В какую сторону смотреть?

И еще одно сообщения в логах заставляет задуматься

/bsd: pfsync: ignoring stale update







--
Best regards,
 Андрей                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Carp + pf keep state trouble

Grigoriy Orlov-2
Ядра одинаковые ? Есть ли расхождения в версиях ?

On Tue, Jan 24, 2006 at 12:53:58PM +0300, Андрей wrote:

> Hello Андрей,
>
> Tuesday, January 24, 2006, 12:27:33 PM, you wrote:
>
> А> Всем, добрый день.
>
> А> Сам пишу - сам отвечаю :)
>
>
> А> связка carp+arpbalancing+peempt+pfsync
>
> А> 2 машины на одной при  pfctl -x misc
> А> в /var/log/messages
> А> /bsd: pf: loose state match: бла бла бла
> А> /bsd: pf: loose state match:
> А> /bsd: pf: loose state match:
> А> /bsd: pf: loose state match:
> А> и т.д.
>
> А> У второго
>
> А> /bsd: pf: state insert failed: tree_lan_ext lan:
> А> /bsd: pf: state insert failed: tree_lan_ext lan:
> А> /bsd: pf: state insert failed: tree_lan_ext lan:
> А> /bsd: pf: state insert failed: tree_lan_ext lan: бла бла бла
>
> А> и т.д.
>
> А> По какой-то причине states не синхронизируются. Соответственно
> А> соединения рвутся.
> А> В какую сторону смотреть?
>
> И еще одно сообщения в логах заставляет задуматься
>
> /bsd: pfsync: ignoring stale update
>
>
>
>
>
>
>
> --
> Best regards,
>  Андрей                            mailto:[hidden email]
>


Reply | Threaded
Open this post in threaded view
|

Re[2]: Carp + pf keep state trouble

Andrew-45
Hello Grigoriy,

Tuesday, January 24, 2006, 7:18:35 PM, you wrote:

GO> Ядра одинаковые ? Есть ли расхождения в версиях ?

Ядра одинаковые. Оба собирались из исходников с применением
http://www.isi.qut.edu.au/people/mbradfor/openbsd-carp-arpbalance.html
одного из патчей.
До этого были оба 3.8 из коробки. Наблюдалась похожая ситуация.


--
Best regards,
 Andrew                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re[3]: Carp + pf keep state trouble

Andrew-45
Hello Andrew,

Wednesday, January 25, 2006, 9:38:40 AM, you wrote:

A> Hello Grigoriy,

A> Tuesday, January 24, 2006, 7:18:35 PM, you wrote:

GO>> Ядра одинаковые ? Есть ли расхождения в версиях ?

A> Ядра одинаковые. Оба собирались из исходников с применением
A> http://www.isi.qut.edu.au/people/mbradfor/openbsd-carp-arpbalance.html
A> одного из патчей.
A> До этого были оба 3.8 из коробки. Наблюдалась похожая ситуация.

 Только что обновил до 3.9-current. Проблема осталась.

 в логах
Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067a4 creatorid: f1c7eb9d
Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d

Jan 25 15:33:32 gate1 /bsd: pf: loose state match: TCP
192.168.0.21:3128 192.168.0.21:3128 192.168.0.150:1318 [l
o=160776112 high=160793604 win=65535 modulator=0] [lo=3875351881 high=3875417058 win=17520 modulator=0] 10:10
 R seq=160776112 ack=3875351881 len=0 ackskew=0 pkts=2:1

 и т.д.
 



--
Best regards,
 Andrew                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Carp + pf keep state trouble

Eldar N. Novruzov
Andrew wrote:

>Hello Andrew,
>
>Wednesday, January 25, 2006, 9:38:40 AM, you wrote:
>
>A> Hello Grigoriy,
>
>A> Tuesday, January 24, 2006, 7:18:35 PM, you wrote:
>
>GO>> Ядра одинаковые ? Есть ли расхождения в версиях ?
>
>A> Ядра одинаковые. Оба собирались из исходников с применением
>A> http://www.isi.qut.edu.au/people/mbradfor/openbsd-carp-arpbalance.html
>A> одного из патчей.
>A> До этого были оба 3.8 из коробки. Наблюдалась похожая ситуация.
>
> Только что обновил до 3.9-current. Проблема осталась.
>
> в логах
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067a4 creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>
>Jan 25 15:33:32 gate1 /bsd: pf: loose state match: TCP
>192.168.0.21:3128 192.168.0.21:3128 192.168.0.150:1318 [l
>o=160776112 high=160793604 win=65535 modulator=0] [lo=3875351881 high=3875417058 win=17520 modulator=0] 10:10
> R seq=160776112 ack=3875351881 len=0 ackskew=0 pkts=2:1
>
> и т.д.
>
>
>
>
>  
>
пробовал на 3.5 stable работало без проблем ...
под freebsd 6.0 работате так же без проблем.
все синхронизируется


Reply | Threaded
Open this post in threaded view
|

Re: Carp + pf keep state trouble

Eldar N. Novruzov
In reply to this post by Andrew-45
Andrew wrote:

>Hello Andrew,
>
>Wednesday, January 25, 2006, 9:38:40 AM, you wrote:
>
>A> Hello Grigoriy,
>
>A> Tuesday, January 24, 2006, 7:18:35 PM, you wrote:
>
>GO>> Ядра одинаковые ? Есть ли расхождения в версиях ?
>
>A> Ядра одинаковые. Оба собирались из исходников с применением
>A> http://www.isi.qut.edu.au/people/mbradfor/openbsd-carp-arpbalance.html
>A> одного из патчей.
>A> До этого были оба 3.8 из коробки. Наблюдалась похожая ситуация.
>
> Только что обновил до 3.9-current. Проблема осталась.
>
> в логах
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067a4 creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>
>Jan 25 15:33:32 gate1 /bsd: pf: loose state match: TCP
>192.168.0.21:3128 192.168.0.21:3128 192.168.0.150:1318 [l
>o=160776112 high=160793604 win=65535 modulator=0] [lo=3875351881 high=3875417058 win=17520 modulator=0] 10:10
> R seq=160776112 ack=3875351881 len=0 ackskew=0 pkts=2:1
>
> и т.д.
>
>
>
>
>  
>
правила то для pfsync написаны в pf.conf ? ;-)


Reply | Threaded
Open this post in threaded view
|

Re[2]: Carp + pf keep state trouble

Andrew-45
In reply to this post by Eldar N. Novruzov
Hello Eldar,

Wednesday, January 25, 2006, 5:30:07 PM, you wrote:

ENN> Andrew wrote:

>>Hello Andrew,
>>
>>Wednesday, January 25, 2006, 9:38:40 AM, you wrote:
>>
>>A> Hello Grigoriy,
>>
>>A> Tuesday, January 24, 2006, 7:18:35 PM, you wrote:
>>
>>GO>> Ядра одинаковые ? Есть ли расхождения в версиях ?
>>
>>A> Ядра одинаковые. Оба собирались из исходников с применением
>>A> http://www.isi.qut.edu.au/people/mbradfor/openbsd-carp-arpbalance.html
>>A> одного из патчей.
>>A> До этого были оба 3.8 из коробки. Наблюдалась похожая ситуация.
>>
>> Только что обновил до 3.9-current. Проблема осталась.
>>

>>  
>>
ENN> пробовал на 3.5 stable работало без проблем ...
ENN> под freebsd 6.0 работате так же без проблем.
ENN> все синхронизируется


А в messages не кричит о дублировании ip-адресов?

А у вас какая схема работает: с балансировкой или без?


--
Best regards,
 Andrew                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re[2]: Carp + pf keep state trouble

Andrew-45
In reply to this post by Eldar N. Novruzov
Hello Eldar,

Wednesday, January 25, 2006, 5:38:46 PM, you wrote:

ENN> Andrew wrote:

>>Hello Andrew,
>>
>>Wednesday, January 25, 2006, 9:38:40 AM, you wrote:
>>
>>A> Hello Grigoriy,
>>
>>A> Tuesday, January 24, 2006, 7:18:35 PM, you wrote:
>>
>>GO>> Ядра одинаковые ? Есть ли расхождения в версиях ?
>>
>>A> Ядра одинаковые. Оба собирались из исходников с применением
>>A> http://www.isi.qut.edu.au/people/mbradfor/openbsd-carp-arpbalance.html
>>A> одного из патчей.
>>A> До этого были оба 3.8 из коробки. Наблюдалась похожая ситуация.
>>
>> Только что обновил до 3.9-current. Проблема осталась.
>>
>> в логах
>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067a4 creatorid: f1c7eb9d
>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>>
>>Jan 25 15:33:32 gate1 /bsd: pf: loose state match: TCP
>>192.168.0.21:3128 192.168.0.21:3128 192.168.0.150:1318 [l
>>o=160776112 high=160793604 win=65535 modulator=0] [lo=3875351881 high=3875417058 win=17520 modulator=0] 10:10
>> R seq=160776112 ack=3875351881 len=0 ackskew=0 pkts=2:1
>>
>> и т.д.
>>
>>
>>
>>
>>  
>>
ENN> правила то для pfsync написаны в pf.conf ? ;-)

Пробовал и через cross-over кабель и через внутренний интерфейс с
параметром syncpeer - одинаково.


pass quick on $pfsync_if proto pfsync

Причем tcpdump ловит пакеты на обоих концах

tcpdump -ni em0 proto pfsync
tcpdump: listening on em0, link-type EN10MB
17:47:59.338779 192.168.0.23: UPD ST COMP:
 (DF) [tos 0x10]
17:48:00.020032 192.168.0.22: UPD ST COMP:
 (DF) [tos 0x10]
17:48:00.020051 192.168.0.22: DEL ST COMP:
        id: 43d76c2800006484 creatorid: 3c06a968
        id: 43d76c2800006487 creatorid: 3c06a968
 (DF) [tos 0x10]
17:48:00.020068 192.168.0.22: DEL ST COMP:
        id: 43d76c280000648d creatorid: 3c06a968
        id: 43d76c280000648e creatorid: 3c06a968
 (DF) [tos 0x10]



--
Best regards,
 Andrew                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Carp + pf keep state trouble

Eldar N. Novruzov
Andrew wrote:

>Hello Eldar,
>
>Wednesday, January 25, 2006, 5:38:46 PM, you wrote:
>
>ENN> Andrew wrote:
>
>  
>
>>>Hello Andrew,
>>>
>>>Wednesday, January 25, 2006, 9:38:40 AM, you wrote:
>>>
>>>A> Hello Grigoriy,
>>>
>>>A> Tuesday, January 24, 2006, 7:18:35 PM, you wrote:
>>>
>>>GO>> Ядра одинаковые ? Есть ли расхождения в версиях ?
>>>
>>>A> Ядра одинаковые. Оба собирались из исходников с применением
>>>A> http://www.isi.qut.edu.au/people/mbradfor/openbsd-carp-arpbalance.html
>>>A> одного из патчей.
>>>A> До этого были оба 3.8 из коробки. Наблюдалась похожая ситуация.
>>>
>>>Только что обновил до 3.9-current. Проблема осталась.
>>>
>>>в логах
>>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067a4 creatorid: f1c7eb9d
>>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e57000067af creatorid: f1c7eb9d
>>>Jan 25 15:33:17 gate1 /bsd: pfsync: ignoring stale update (1) id: 43d73e5700000089 creatorid: f1c7eb9d
>>>
>>>Jan 25 15:33:32 gate1 /bsd: pf: loose state match: TCP
>>>192.168.0.21:3128 192.168.0.21:3128 192.168.0.150:1318 [l
>>>o=160776112 high=160793604 win=65535 modulator=0] [lo=3875351881 high=3875417058 win=17520 modulator=0] 10:10
>>>R seq=160776112 ack=3875351881 len=0 ackskew=0 pkts=2:1
>>>
>>>и т.д.
>>>
>>>
>>>
>>>
>>>
>>>
>>>      
>>>
>ENN> правила то для pfsync написаны в pf.conf ? ;-)
>
>Пробовал и через cross-over кабель и через внутренний интерфейс с
>параметром syncpeer - одинаково.
>
>
>pass quick on $pfsync_if proto pfsync
>  
>
на обеих тачках:
pass quick on { $pfsync_if } proto pfsync
pass quick on { $ext_1 $ext_2 $int_if  } proto carp keep state
работает через кроссовер

никаких дубликатов ip не замечено ;-) arping попробуйте, может
действительно где нить DUP ? ;-)


Reply | Threaded
Open this post in threaded view
|

Re[3]: Carp + pf keep state trouble

Anton Maksimenkov
In reply to this post by Andrew-45
Hi, Andrew.

> pass quick on $pfsync_if proto pfsync

> Причем tcpdump ловит пакеты на обоих концах

> tcpdump -ni em0 proto pfsync
> tcpdump: listening on em0, link-type EN10MB
> 17:47:59.338779 192.168.0.23: UPD ST COMP:
>  (DF) [tos 0x10]
> 17:48:00.020032 192.168.0.22: UPD ST COMP:
>  (DF) [tos 0x10]
> 17:48:00.020051 192.168.0.22: DEL ST COMP:
>         id: 43d76c2800006484 creatorid: 3c06a968
>         id: 43d76c2800006487 creatorid: 3c06a968
>  (DF) [tos 0x10]
> 17:48:00.020068 192.168.0.22: DEL ST COMP:
>         id: 43d76c280000648d creatorid: 3c06a968
>         id: 43d76c280000648e creatorid: 3c06a968
>  (DF) [tos 0x10]

если я все правильно путаю, tcpdump-то пакеты ловит, но это ещё ДО
того как фильтр решает пропускать их далее или нет. Надо смотреть
что там срабатывает 'block' или 'pass' на него.

Попробуй что-то вроде tcpdump -nettti pflog0 proto pfsync

--
engineer


Reply | Threaded
Open this post in threaded view
|

Re: Carp + pf keep state trouble

Eldar N. Novruzov
Anton Maksimenkov wrote:

>>tcpdump -ni em0 proto pfsync
>>tcpdump: listening on em0, link-type EN10MB
>>17:47:59.338779 192.168.0.23: UPD ST COMP:
>> (DF) [tos 0x10]
>>17:48:00.020032 192.168.0.22: UPD ST COMP:
>> (DF) [tos 0x10]
>>17:48:00.020051 192.168.0.22: DEL ST COMP:
>>        id: 43d76c2800006484 creatorid: 3c06a968
>>        id: 43d76c2800006487 creatorid: 3c06a968
>> (DF) [tos 0x10]
>>17:48:00.020068 192.168.0.22: DEL ST COMP:
>>        id: 43d76c280000648d creatorid: 3c06a968
>>        id: 43d76c280000648e creatorid: 3c06a968
>> (DF) [tos 0x10]
>>    
>>
>
>если я все правильно путаю, tcpdump-то пакеты ловит, но это ещё ДО
>того как фильтр решает пропускать их далее или нет.
>
это смотря на какой машине смотрят ;-) если данный tcpdumpo приведен на
BACKUP машине ... то с MASTER все уходит ...

> Надо смотреть
>что там срабатывает 'block' или 'pass' на него.
>
>Попробуй что-то вроде tcpdump -nettti pflog0 proto pfsync
>  
>
угу ....


Reply | Threaded
Open this post in threaded view
|

Re[2]: Carp + pf keep state trouble

Anton Maksimenkov
Hi, Eldar.

>>если я все правильно путаю, tcpdump-то пакеты ловит, но это ещё ДО
>>того как фильтр решает пропускать их далее или нет.
>>
> это смотря на какой машине смотрят ;-) если данный tcpdumpo приведен на
> BACKUP машине ... то с MASTER все уходит ...

Смысл в том, что _возможно_ НЕ доходит (до carp). Ибо на исход обычно

pass out keep state

стоит, и возможные ошибки :-)) ОЧЧЧень быстро устраняются на этапе
первого же подключения к инету (ибо его не будет).
 А вот ВХОДЯЩИЕ правила обычно гораздо более изощрённы и чреваты
ошибками. Знакомый мудрец вот что сказал "проверяй входящие пакеты на
ящике получателя; если они passed, то это уже гарантирует что они
_были отосланы_ и _были приняты_, а если нет, то и нечего себя мучать
медитацией на более высокие уровни, для начала следует сосредоточить
свой разум на поиске причин непрохода пакетов".

--
engineer