[FUG-BR] Múltiplos redirecionamentos (redirect= ?iso-8859-1?Q?=5Fport?=) com IPFW _NAT.

Trober trober em trober.com
Quinta Fevereiro 17 14:36:26 BRST 2011


Prezados,

No FreeBSD 8.1, ao adicionar redirecionamento de faixa de portas, via
IPFW_NAT, conforme código[1] abaixo, me era retornada a mensagem
"getsockopt(IP_FW_GET_CONFIG): No space left on device".

Pesquisei por procedimentos para resolução do problema, e cheguei até o
PR-143653[2], por meio de publicações nas listas FreeBSD-bugs[3] e
BSDForum[4], que argumentam uma inconsistência em múltiplos
redirecionamentos. Fiz as alterações sugeridas no valor de NAT_BUF_LEN, em
/usr/src/sys/netinet/ip_fw.h.

Recompilado e instalado o novo kernel, a mensagem mudou de
"getsockopt(IP_FW_GET_CONFIG): No space left on device" para "Abort trap
(core dumped)".

No bloco EXAMPLES, do ipfw(8)[5], até o momento, não consta exemplo de
redirecionamento por faixas (ranges), apenas por portas distintas[6].
Sendo assim, questiono se está correto o ruleset descrito no código[1]
abaixo, e se, caso correto, o que está gerando esse erro.

[1]
ipfw nat 1 config log ip IP_DA_IF_EXTERNA_AQUI same_ports reset deny_in \
    redirect_port tcp 172.20.0.5:20          20           \
    redirect_port tcp 172.20.0.5:21          21           \
    redirect_port tcp 172.20.0.5:49152-65534 49152-65534  \
    redirect_port tcp 172.20.0.6:3389        3389         \
    redirect_port tcp 172.20.0.10:5500       5500         \
    redirect_port tcp 172.20.0.11:5501       5501         \
    redirect_port tcp 172.20.0.12:5502       5502         \
    redirect_port tcp 172.20.0.13:5503       5503         \
    redirect_port tcp 172.20.0.14:5504       5504         \
    redirect_port tcp 172.20.0.15:5505       5505         \
    redirect_port tcp 172.20.0.16:5506       5506         \
    redirect_port tcp 172.20.0.17:5507       5507         \
    redirect_port tcp 172.20.0.18:5508       5508         \
    redirect_port tcp 172.20.0.19:5509       5509         \

[2] http://www.freebsd.org/cgi/query-pr.cgi?pr=143653

[3] http://lists.freebsd.org/pipermail/freebsd-bugs/2010-February/038413.html

[4] http://forums.freebsd.org/showthread.php?t=222

[5] http://www.freebsd.org/cgi/man.cgi?query=ipfw&sektion=8

[6]
     To see configurations of all instances:

	   ipfw nat show config

     Or a redirect rule with mixed modes could looks like:

	   ipfw nat 123 config redirect_addr 10.0.0.1 10.0.0.66
			   redirect_port tcp 192.168.0.1:80 500
			   redirect_proto udp 192.168.1.43 192.168.1.1
			   redirect_addr 192.168.0.10,192.168.0.11
				   10.0.0.100 # LSNAT
			   redirect_port tcp 192.168.0.1:80,192.168.0.10:22
				   500	      # LSNAT


Desde já fico muito grato por qualquer contribuição :)

Saudações,

Trober
-
-
-
-
-



Mais detalhes sobre a lista de discussão freebsd