Jump to content
Local
kvirtu

FreeBSD,ipfw & traceroute не пашет

Recommended Posts

Есть тренировочный тазик на freebsd 10.0.

Вот набор правил:

#!/bin/sh#fwcmd='/sbin/ipfw -q'#${fwcmd} -f flush${fwcmd} -f queue flush${fwcmd} -f pipe flush#${fwcmd} add 005 fwd 10.128.10.1 tcp from 172.16.30.0/24 to any# Loopback${fwcmd} add 10 allow all from any to any via lo0${fwcmd} add 15 deny all from any to 127.0.0.0/8${fwcmd} add 20 deny ip from 127.0.0.0/8 to any#${fwcmd} add 30 check-state# Запрет X-сканирования:${fwcmd} add 40 reject log tcp from any to any tcpflags fin, syn, rst, psh, ack, urg# Запрет N-сканирования:${fwcmd} add 41 reject log tcp from any to any tcpflags !fin, !syn, !rst, !psh, !ack, !urg# Запрет FIN-сканирования:${fwcmd} add 42 reject log tcp from any to any not established tcpflags fin# Защита от спуфинга (подмена адреса отправителя)${fwcmd} add 43 deny log ip from any to any not verrevpath in via fxp0# block some DOS attacks.${fwcmd} add 44 deny tcp from any to any tcpoptions !mss tcpflags syn,!ack# Drop icmp${fwcmd} add 45 deny icmp from any to any in icmptype 5,9,13,14,15,16,17#External interface Netbios BLOCK${fwcmd} add 50 deny udp from any 135-139 to any via fxp0 # netbios низя${fwcmd} add 51 deny tcp from any 135-139,445 to any via  fxp0 # netbios низя${fwcmd} add 52 deny udp from any to any 135-139 via fxp0 # netbios низя${fwcmd} add 53 deny tcp from any to any 135-139,445 via fxp0 # netbios#Internal interface Netbios BLOCK${fwcmd} add 54 deny udp from any 135-139 to any via fxp1 # netbios низя${fwcmd} add 55 deny tcp from any 135-139,445 to any via  fxp1 # netbios низя${fwcmd} add 56 deny udp from any to any 135-139 via fxp1 # netbios низя${fwcmd} add 57 deny tcp from any to any 135-139,445 via fxp1 # netbios#Mail Deny${fwcmd} add 65 deny tcp from 10.128.10.0/24 to any 25${fwcmd} add 66 deny tcp from 172.16.20.0/24 to any 25# рубим автоконфигуреную частную сеть###${fwcmd} add 67 deny ip from 169.254.0.0/16 to any# разрешить весь выходящий трафик${fwcmd} add 70 allow tcp from me to any keep-state${fwcmd} add 71 allow udp from me to any keep-state${fwcmd} add 72 allow icmp from me to any keep-state# Allow in me from any${fwcmd} add 80 allow tcp from any to me 80,9443 keep-state${fwcmd} add 82 allow tcp from any to me 3703 keep-state${fwcmd} add 95 allow udp from any to me 53 keep-state#traceroute${fwcmd} add 100 allow icmp from any to me  icmptypes 11 keep-state# NAT${fwcmd} nat 1 config if fxp0 log same_ports deny_in unreg_only${fwcmd} add 65060 nat 1 ip from any to any via fxp0# Allow PPPOE-clients${fwcmd} add 65061 allow ip from 172.16.20.0/24 to any${fwcmd} add 65062 allow ip from any to 172.16.20.0/24# разрешаем tcp-пакеты по уже установленным соединениям${fwcmd} add 65532 allow tcp from any to any established# Broadcasts are denied and not logged.${fwcmd} add 65533 deny all from any to 255.255.255.255# Deny All${fwcmd} add 65534 deny log all from any to any

В общем на серваке с правилом 100 traceroute пашет , но при этом не пашет tracert на клиентских машинах.

ЕСли правило 100 убрать, все меняется наоборот.

это пробовал, но не помогает:

необходимо дополнительно разрешить в файерволе UDP-пакеты на порты выше 33434 (в некоторых источниках указано, что достаточно указать диапазон портов от 33434 до 33534).

 

прошу на гугл не сосылать.

Edited by kvirtu

Share this post


Link to post
Share on other sites

У FreeBSD за змовчуванням використовується трасероут по удп. Якщо вже на те пішло.

man traceroute
 -p	port
	     Protocol specific.	For UDP	and TCP, sets the base port number
	     used in probes (default is	33434).	 Traceroute hopes that nothing
	     is	listening on UDP ports base to base + nhops * nprobes -	1 at
	     the destination host (so an ICMP PORT_UNREACHABLE message will be
	     returned to terminate the route tracing).	If something is	lis-
	     tening on a port in the default range, this option	can be used to
	     pick an unused port range.

Share this post


Link to post
Share on other sites

 

У FreeBSD за змовчуванням використовується трасероут по удп. Якщо вже на те пішло.

man traceroute
 -p	port
	     Protocol specific.	For UDP	and TCP, sets the base port number
	     used in probes (default is	33434).	 Traceroute hopes that nothing
	     is	listening on UDP ports base to base + nhops * nprobes -	1 at
	     the destination host (so an ICMP PORT_UNREACHABLE message will be
	     returned to terminate the route tracing).	If something is	lis-
	     tening on a port in the default range, this option	can be used to
	     pick an unused port range.

я ето читал, пробовал открывать этот порты 33434-35000 , но ...

только когда отрываешь icmp на вход трассировка на серваке начинает работать, но тогда у клиентов не пашет,

как решить пока не знаю, что бы и там там работало

Share this post


Link to post
Share on other sites

Поставь mtr-nox11, оно по нагляднее будет.

Share this post


Link to post
Share on other sites

Поставь mtr-nox11, оно по нагляднее будет.

стоит, не работает

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×