Вот
#uname -a
9.1-RELEASE-p22 FreeBSD 9.1-RELEASE-p22 #0: Mon Nov 3 18:22:10 UTC 2014 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
#ipfw list|grep fwd
18500 fwd 127.0.0.1,8080 tcp from any to any dst-port 80
cat /usr/local/nodeny/kernel/cap.cfg
run => 0,
port => 8080,
url => 'http ://1.1.1.1/cgi-bin/cap.pl',
redirect => "<!doctype html>
<html>
<head>
<meta http-equiv='Cache-Control' content='no-cache'>
<meta http-equiv='Pragma' content='no-cache'>
<meta http-equiv='refresh' content='0; url={{url}}'>
</head>
<body><a href='{{url}}'>Click</a></body>
</html>",
модуль запущен отдельным процессом
#ps ax|grep cap|grep -v grep
12683 1 S 1:38,77 /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=cap -d
#curl http ://1.1.1.1:8080
<!doctype html>
<html>
<head>
<meta http-equiv='Cache-Control' content='no-cache'>
<meta http-equiv='Pragma' content='no-cache'>
<meta http-equiv='refresh' content='0; url=http ://1.1.1.1/cgi-bin/cap.pl?url=http ://1.1.1.1:8080/'>
</head>
<body><a href='http ://1.1.1.1/cgi-bin/cap.pl?url=http ://1.1.1.1:8080/'>Click</a></body>
Ядро с поддержкой форварда, перл с поддержкой трединга (час назад обновил до 5.20)
#sockstat|grep 8080
root perl 12683 4 tcp4 *:8080 *:*
На клиенте любые браузеры перепробовал