Packet Filter

Toxic

BSDsystems
Народ юзая данный сабж уже год как фаер и все хорошо но захотелось полностью разобраться в нем.
Ранее я использовал ipfw для шейпинга и подсчета трафика но захотелось мне юзануть ALTQ. Но это не это не сама проблема, а проблема заключается вот в чем:


Есть допустим конфиг:


Код:
int_if="rl0"
int_net="192.168.2.0/24"
 	
	
block in 
block out 
 	
	
pass on $int_if from $int_net to $int_if 
pass on $int_if from $int_if to $int_net

начал я проверять как же вытянуть точно ли он правильно трафик считать буде (входящий и исходящий) ну я сначала решил пропинговать с компа в сети интерфейс сервака и посмотреть сколько он пакетов получил и отправил в результате PF входящий и исходящий пакеты засунул в первое правило а когда я начал пинговать комп из сервака дак он по другому правилу начал все в куче считать


У пользователя:
Код:
	$ ping 192.168.2.1 -c 4 
 	PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 
 	64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.583 ms 
 	64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.407 ms 
 	64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=0.430 ms 
 	64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.407 ms 
 	 
 	--- 192.168.2.1 ping statistics --- 
 	4 packets transmitted, 4 received, 0% packet loss, time 3012ms 
 	rtt min/avg/max/mdev = 0.407/0.456/0.583/0.078 ms

Результат
Код:
 	pfctl -v -sr
 	
	
pass on rl0 inet from 192.168.2.0/24 to 	192.168.2.1 flags S/SA keep state 
 	  [ Evaluations: 3115      Packets: 8      Bytes: 712      States: 1 	    ] 
 	  [ Inserted: uid 0 pid 5166 ] 
 	pass on rl0 inet from 192.168.2.1 to 192.168.2.0/24 flags S/SA keep 	state 
 	  [ Evaluations: 906       Packets: 0      Bytes: 0      States: 1   	  ] 
 	  [ Inserted: uid 0 pid 5166 ]

На сервере


Код:
# ping -c 5 192.168.2.2  
 	PING 192.168.2.2 (192.168.2.2): 56 data bytes 
 	64 bytes from 192.168.2.2: icmp_seq=0 ttl=64 time=0.746 ms 
 	64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=0.516 ms 
 	64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=0.491 ms 
 	64 bytes from 192.168.2.2: icmp_seq=3 ttl=64 time=0.577 ms 
 	64 bytes from 192.168.2.2: icmp_seq=4 ttl=64 time=0.513 ms 
 	 
 	--- 192.168.2.2 ping statistics --- 
 	5 packets transmitted, 5 packets received, 0.0% packet loss 
 	round-trip min/avg/max/stddev = 0.491/0.569/0.746/0.093 ms

Результат


Код:
pfctl -v -sr
 	
	
pass on rl0 inet from 192.168.2.0/24 to 	192.168.2.1 flags S/SA keep state 
 	  [ Evaluations: 3115      Packets: 8      Bytes: 712      States: 1 	    ] 
 	  [ Inserted: uid 0 pid 5166 ] 
 	pass on rl0 inet from 192.168.2.1 to 192.168.2.0/24 flags S/SA keep 	state 
 	  [ Evaluations: 906       Packets: 10      Bytes: 840      States: 	1     ] 
 	  [ Inserted: uid 0 pid 5166 ]



В общем как правильно разложить правилами входящий и исходящий трафик для дальнейшего его подсчета
 

Pigeon

Well-Known Member
no keep state

а вообще-то по уму использовать ноды netgraph, к примеру ng_netflow + flow-tools
 

Toxic

BSDsystems
Спасибо попробуем)
да не хочу все на пфки завязать
 
Зверху