today i have disconnected internet link from the router and plug in my notebook
instead of it with ether configured as link's gateway address and lo1 configured
as src.src.src.src address. i have done some tests with ssh -b src.src.src.src
and dig -b src.src.src.src. here is the results:


UDP handling:

on vlan0 (external):
15:13:45.263281 src.src.src.src.12431 > dst.dst.dst.dst.53: 20855+ ANY? domain. (32)
15:13:50.265806 src.src.src.src.12431 > dst.dst.dst.dst.53: 20855+ ANY? domain. (32)
15:13:50.266435 dst.dst.dst.dst.53 > src.src.src.src.12431: 20855*- 9/0/2 A 
xxx.xxx.xxx.xxx,[|domain]

on vlan3 (internal):
15:13:45.263340 src.src.src.src.12431 > 10.0.254.3.53: 20855+ ANY? domain. (32)
15:13:45.263885 10.0.254.3.53 > src.src.src.src.12431: 20855*- 9/0/2 A 
xxx.xxx.xxx.xxx,[|domain]
15:13:50.265851 src.src.src.src.12431 > 10.0.254.3.53: 20855+ ANY? domain. (32)
15:13:50.266390 10.0.254.3.53 > src.src.src.src.12431: 20855*- 9/0/2 A 
xxx.xxx.xxx.xxx,[|domain]

on pflog0:
Jul 17 15:13:45.263925 rule 11/0(match): block out on vlan0: dst.dst.dst.dst.53 > 
src.src.src.src.12431:  20855*- 9/0/2[|domain]

pfctl -vss and pfctl -vvsr for first packet:
udp 10.0.254.3:53 <- dst.dst.dst.dst:53 <- src.src.src.src:12431 SINGLE:MULTIPLE
[ Evaluations: 378858 Packets: 62 Bytes: 12028 States: 1 ]

pfctl -vss and pfctl -vvsr for second packet:
udp 10.0.254.3:53 <- dst.dst.dst.dst:53 <- src.src.src.src:12431 MULTIPLE:MULTIPLE
[ Evaluations: 379217 Packets: 64 Bytes: 12416 States: 1 ]


TCP shows more fun:

on vlan0 (external):
16:03:02.325560 src.src.src.src.28840 > dst.dst.dst.dst.22: S 4023126037:4023126037(0) 
win 16384 <mss
 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 278588547 0> (DF)
16:03:08.317518 src.src.src.src.28840 > dst.dst.dst.dst.22: S 4023126037:4023126037(0) 
win 16384 <mss
 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 278588559 0> (DF)
16:03:08.317732 dst.dst.dst.dst.22 > src.src.src.src.28840: S 2561950521:2561950521(0) 
ack 4023126038
 win 17376 <mss 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 1011013613 
278588559> (DF)
16:03:08.317914 src.src.src.src.28840 > dst.dst.dst.dst.22: . ack 1 win 17376 
<nop,nop,timestamp 2785
88559 1011013613> (DF)
16:03:08.319515 dst.dst.dst.dst.22 > src.src.src.src.28840: P 1:24(23) ack 1 win 17376 
<nop,nop,times
tamp 1011013613 278588559> (DF)
16:03:08.324499 src.src.src.src.28840 > dst.dst.dst.dst.22: P 1:21(20) ack 24 win 
17376 <nop,nop,time
stamp 278588559 1011013613> (DF)
16:03:08.327038 dst.dst.dst.dst.22 > src.src.src.src.28840: P 24:568(544) ack 21 win 
17376 <nop,nop,t
imestamp 1011013613 278588559> (DF)
16:03:08.327577 src.src.src.src.28840 > dst.dst.dst.dst.22: P 21:565(544) ack 568 win 
16832 <nop,nop,
timestamp 278588559 1011013613> (DF)
16:03:08.518786 dst.dst.dst.dst.22 > src.src.src.src.28840: . ack 565 win 17376 
<nop,nop,timestamp 10
11013613 278588559> (DF)
16:03:08.519015 src.src.src.src.28840 > dst.dst.dst.dst.22: P 565:589(24) ack 568 win 
17376 <nop,nop,
timestamp 278588560 1011013613> (DF)
16:03:08.527396 dst.dst.dst.dst.22 > src.src.src.src.28840: P 568:992(424) ack 589 win 
17376 <nop,nop
,timestamp 1011013613 278588560> (DF)
16:03:08.633538 src.src.src.src.28840 > dst.dst.dst.dst.22: P 589:1005(416) ack 992 
win 17376 <nop,no
p,timestamp 278588560 1011013613> (DF)
16:03:08.718007 dst.dst.dst.dst.22 > src.src.src.src.28840: P 992:1728(736) ack 1005 
win 17376 <nop,n
op,timestamp 1011013613 278588560> (DF)
16:03:08.917497 src.src.src.src.28840 > dst.dst.dst.dst.22: . ack 1728 win 17376 
<nop,nop,timestamp 2
78588561 1011013613> (DF)
16:03:53.031326 src.src.src.src.28840 > dst.dst.dst.dst.22: F 1005:1005(0) ack 1728 
win 17376 <nop,no
p,timestamp 278588649 1011013613> (DF)
16:03:53.031548 dst.dst.dst.dst.22 > src.src.src.src.28840: . ack 1006 win 17376 
<nop,nop,timestamp 1
011013702 278588649> (DF)
16:03:53.031963 dst.dst.dst.dst.22 > src.src.src.src.28840: F 1728:1728(0) ack 1006 
win 17376 <nop,no
p,timestamp 1011013702 278588649> (DF)
16:03:53.032160 src.src.src.src.28840 > dst.dst.dst.dst.22: . ack 1729 win 17375 
<nop,nop,timestamp 2
78588649 1011013702> (DF)

on vlan3 (internal):
16:03:02.325624 src.src.src.src.28840 > 10.0.254.3.22: S 4023126037:4023126037(0) win 
16384 <mss 1460
,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 278588547 0> (DF)
16:03:02.325851 10.0.254.3.22 > src.src.src.src.28840: S 2561950521:2561950521(0) ack 
4023126038 win
17376 <mss 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 1011013601 278588547> 
(DF)
16:03:08.317558 src.src.src.src.28840 > 10.0.254.3.22: S 4023126037:4023126037(0) win 
16384 <mss 1460
,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 278588559 0> (DF)
16:03:08.317690 10.0.254.3.22 > src.src.src.src.28840: S 2561950521:2561950521(0) ack 
4023126038 win
17376 <mss 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 1011013613 278588559> 
(DF)
16:03:08.317947 src.src.src.src.28840 > 10.0.254.3.22: . ack 1 win 17376 
<nop,nop,timestamp 278588559
 1011013613> (DF)
16:03:08.319477 10.0.254.3.22 > src.src.src.src.28840: P 1:24(23) ack 1 win 17376 
<nop,nop,timestamp
1011013613 278588559> (DF)
16:03:08.324533 src.src.src.src.28840 > 10.0.254.3.22: P 1:21(20) ack 24 win 17376 
<nop,nop,timestamp
 278588559 1011013613> (DF)
16:03:08.327001 10.0.254.3.22 > src.src.src.src.28840: P 24:568(544) ack 21 win 17376 
<nop,nop,timest
amp 1011013613 278588559> (DF)
16:03:08.327608 src.src.src.src.28840 > 10.0.254.3.22: P 21:565(544) ack 568 win 16832 
<nop,nop,times
tamp 278588559 1011013613> (DF)
16:03:08.518743 10.0.254.3.22 > src.src.src.src.28840: . ack 565 win 17376 
<nop,nop,timestamp 1011013
613 278588559> (DF)
16:03:08.519047 src.src.src.src.28840 > 10.0.254.3.22: P 565:589(24) ack 568 win 17376 
<nop,nop,times
tamp 278588560 1011013613> (DF)
16:03:08.527357 10.0.254.3.22 > src.src.src.src.28840: P 568:992(424) ack 589 win 
17376 <nop,nop,time
stamp 1011013613 278588560> (DF)
16:03:08.633575 src.src.src.src.28840 > 10.0.254.3.22: P 589:1005(416) ack 992 win 
17376 <nop,nop,tim
estamp 278588560 1011013613> (DF)
16:03:08.717967 10.0.254.3.22 > src.src.src.src.28840: P 992:1728(736) ack 1005 win 
17376 <nop,nop,ti
mestamp 1011013613 278588560> (DF)
16:03:08.917553 src.src.src.src.28840 > 10.0.254.3.22: . ack 1728 win 17376 
<nop,nop,timestamp 278588
561 1011013613> (DF)
16:03:53.031371 src.src.src.src.28840 > 10.0.254.3.22: F 1005:1005(0) ack 1728 win 
17376 <nop,nop,tim
estamp 278588649 1011013613> (DF)
16:03:53.031509 10.0.254.3.22 > src.src.src.src.28840: . ack 1006 win 17376 
<nop,nop,timestamp 101101
3702 278588649> (DF)
16:03:53.031927 10.0.254.3.22 > src.src.src.src.28840: F 1728:1728(0) ack 1006 win 
17376 <nop,nop,tim
estamp 1011013702 278588649> (DF)
16:03:53.032189 src.src.src.src.28840 > 10.0.254.3.22: . ack 1729 win 17375 
<nop,nop,timestamp 278588
649 1011013702> (DF)

on pflog0:
Jul 17 16:03:02.325891 rule 11/0(match): block out on vlan0: dst.dst.dst.dst.22 > 
src.src.src.src.288
40: S 2561950521:2561950521(0) ack 4023126038 win 17376 <mss 
1460,nop,nop,sackOK,nop,wscale 0,nop,no
p,timestamp 1011013601 278588547> (DF)


sometimes even more fun:

on vlan0 (external):
16:13:04.299820 src.src.src.src.31532 > dst.dst.dst.dst.22: S 2329420182:2329420182(0) 
win 16384 <mss
 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 278589751 0> (DF)
16:13:10.293354 dst.dst.dst.dst.22 > src.src.src.src.31532: S 2878148068:2878148068(0) 
ack 2329420183
 win 17376 <mss 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 1011014817 
278589751> (DF)
16:13:10.293578 src.src.src.src.31532 > dst.dst.dst.dst.22: . ack 1 win 17376 
<nop,nop,timestamp 2785
89763 1011014817> (DF)
16:13:10.295144 dst.dst.dst.dst.22 > src.src.src.src.31532: P 1:24(23) ack 1 win 17376 
<nop,nop,times
tamp 1011014817 278589763> (DF)
16:13:10.297592 src.src.src.src.31532 > dst.dst.dst.dst.22: P 1:21(20) ack 24 win 
17376 <nop,nop,time
stamp 278589763 1011014817> (DF)
16:13:10.300092 dst.dst.dst.dst.22 > src.src.src.src.31532: P 24:568(544) ack 21 win 
17376 <nop,nop,t
imestamp 1011014817 278589763> (DF)
16:13:10.300623 src.src.src.src.31532 > dst.dst.dst.dst.22: P 21:565(544) ack 568 win 
16832 <nop,nop,
timestamp 278589763 1011014817> (DF)
16:13:10.493315 dst.dst.dst.dst.22 > src.src.src.src.31532: . ack 565 win 17376 
<nop,nop,timestamp 10
11014817 278589763> (DF)
16:13:10.493538 src.src.src.src.31532 > dst.dst.dst.dst.22: P 565:589(24) ack 568 win 
17376 <nop,nop,
timestamp 278589764 1011014817> (DF)
16:13:10.501405 dst.dst.dst.dst.22 > src.src.src.src.31532: P 568:992(424) ack 589 win 
17376 <nop,nop
,timestamp 1011014817 278589764> (DF)
16:13:10.600091 src.src.src.src.31532 > dst.dst.dst.dst.22: P 589:1005(416) ack 992 
win 17376 <nop,no
p,timestamp 278589764 1011014817> (DF)
16:13:10.683241 dst.dst.dst.dst.22 > src.src.src.src.31532: P 992:1728(736) ack 1005 
win 17376 <nop,n
op,timestamp 1011014818 278589764> (DF)
16:13:10.877316 src.src.src.src.31532 > dst.dst.dst.dst.22: . ack 1728 win 17376 
<nop,nop,timestamp 2
78589765 1011014818> (DF)
16:13:13.337420 src.src.src.src.31532 > dst.dst.dst.dst.22: F 1005:1005(0) ack 1728 
win 17376 <nop,no
p,timestamp 278589770 1011014818> (DF)
16:13:13.337626 dst.dst.dst.dst.22 > src.src.src.src.31532: . ack 1006 win 17376 
<nop,nop,timestamp 1
011014823 278589770> (DF)
16:13:13.338065 dst.dst.dst.dst.22 > src.src.src.src.31532: F 1728:1728(0) ack 1006 
win 17376 <nop,no
p,timestamp 1011014823 278589770> (DF)
16:13:13.338272 src.src.src.src.31532 > dst.dst.dst.dst.22: . ack 1729 win 17375 
<nop,nop,timestamp 2
78589770 1011014823> (DF)

on vlan3 (internal):
16:13:04.299868 src.src.src.src.31532 > 10.0.254.3.22: S 2329420182:2329420182(0) win 
16384 <mss 1460
,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 278589751 0> (DF)
16:13:04.300025 10.0.254.3.22 > src.src.src.src.31532: S 2878148068:2878148068(0) ack 
2329420183 win
17376 <mss 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 1011014805 278589751> 
(DF)
16:13:10.293312 10.0.254.3.22 > src.src.src.src.31532: S 2878148068:2878148068(0) ack 
2329420183 win
17376 <mss 1460,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 1011014817 278589751> 
(DF)
16:13:10.293608 src.src.src.src.31532 > 10.0.254.3.22: . ack 1 win 17376 
<nop,nop,timestamp 278589763
 1011014817> (DF)
16:13:10.295109 10.0.254.3.22 > src.src.src.src.31532: P 1:24(23) ack 1 win 17376 
<nop,nop,timestamp
1011014817 278589763> (DF)
16:13:10.297624 src.src.src.src.31532 > 10.0.254.3.22: P 1:21(20) ack 24 win 17376 
<nop,nop,timestamp
 278589763 1011014817> (DF)
16:13:10.300055 10.0.254.3.22 > src.src.src.src.31532: P 24:568(544) ack 21 win 17376 
<nop,nop,timest
amp 1011014817 278589763> (DF)
16:13:10.300654 src.src.src.src.31532 > 10.0.254.3.22: P 21:565(544) ack 568 win 16832 
<nop,nop,times
tamp 278589763 1011014817> (DF)
16:13:10.493279 10.0.254.3.22 > src.src.src.src.31532: . ack 565 win 17376 
<nop,nop,timestamp 1011014
817 278589763> (DF)
16:13:10.493567 src.src.src.src.31532 > 10.0.254.3.22: P 565:589(24) ack 568 win 17376 
<nop,nop,times
tamp 278589764 1011014817> (DF)
16:13:10.501369 10.0.254.3.22 > src.src.src.src.31532: P 568:992(424) ack 589 win 
17376 <nop,nop,time
stamp 1011014817 278589764> (DF)
16:13:10.600125 src.src.src.src.31532 > 10.0.254.3.22: P 589:1005(416) ack 992 win 
17376 <nop,nop,tim
estamp 278589764 1011014817> (DF)
16:13:10.683199 10.0.254.3.22 > src.src.src.src.31532: P 992:1728(736) ack 1005 win 
17376 <nop,nop,ti
mestamp 1011014818 278589764> (DF)
16:13:10.877346 src.src.src.src.31532 > 10.0.254.3.22: . ack 1728 win 17376 
<nop,nop,timestamp 278589
765 1011014818> (DF)
16:13:13.337463 src.src.src.src.31532 > 10.0.254.3.22: F 1005:1005(0) ack 1728 win 
17376 <nop,nop,tim
estamp 278589770 1011014818> (DF)
16:13:13.337586 10.0.254.3.22 > src.src.src.src.31532: . ack 1006 win 17376 
<nop,nop,timestamp 101101
4823 278589770> (DF)
16:13:13.338028 10.0.254.3.22 > src.src.src.src.31532: F 1728:1728(0) ack 1006 win 
17376 <nop,nop,tim
estamp 1011014823 278589770> (DF)
16:13:13.338302 src.src.src.src.31532 > 10.0.254.3.22: . ack 1729 win 17375 
<nop,nop,timestamp 278589
770 1011014823> (DF)

on pflog0:
Jul 17 16:13:04.300069 rule 11/0(match): block out on vlan0: dst.dst.dst.dst.22 > 
src.src.src.src.315
32: S 2878148068:2878148068(0) ack 2329420183 win 17376 <mss 
1460,nop,nop,sackOK,nop,wscale 0,nop,no
p,timestamp 1011014805 278589751> (DF)


in the both cases with TCP, i see state as SYN_SENT:ESTABLISHED after the first blocked
packet and ESTABLISHED:ESTABLISHED after the session goes right.

note: the connection initiator ALWAYS RETRANSMIT SYN-packet, i.e. SENDING TWO(!) SYN-s.


huh... any ideas?

Reply via email to