Gibt's hier Nutzer von fwbuilder?
Ich benutze es seit Jahren zusammen mit "pf" auf einem FreeBSD-basierten
Firewall. Funktioniert soweit super.
Nun wollte ich aus gegebenem Anlass alle "UDP port unreachable"
ICMP-Pakete verwerfen. Für ICMP4 gibt's dafür schon einen
Standard-"Service" (ICMP type 3 port 3), für ICMP6 dagegen musste ich
mir selbst einen zimmern (ICMP6 type 1 code 4).
Wenn ich die entsprechende Regel allerdings compiliere, dann bekommt
zwar der ICMP4-Eintrag type/code als Filter eingefügt, der für ICMP6
dagegen nicht:
1 | # Rule 6 (tun0)
|
2 | # Drop DNS port unreachable
|
3 | block out quick on tun0 inet proto icmp from <tbl.r1> to any icmp-type 3 code 3 label "RULE 6 -- DROP "
|
4 | block out quick on tun0 inet6 proto icmp6 from <tbl.r6.s> to any label "RULE 6 -- DROP "
|
Gleiches passiert auch, wenn ich einen der vordefinierten ICMP6-Services
benutze.
Der Sourcecode sieht so aus, als wollte er das eigentlich ins pf-File
schreiben:
1 | string str=_printDstService( srv , rel->getNeg());
|
2 | if ( ! str.empty() )
|
3 | {
|
4 | if (UDPService::isA(srv) || TCPService::isA(srv))
|
5 | compiler->output << "port " << str << " ";
|
6 | else
|
7 | {
|
8 | if (ICMPService::isA(srv))
|
9 | compiler->output << "icmp-type " << str << " ";
|
10 | else
|
11 | if (ICMP6Service::isA(srv))
|
12 | compiler->output << "icmp6-type " << str << " ";
|
13 | else
|
14 | compiler->output << str << " ";
|
15 | }
|
16 | }
|
… aber es kommt nicht an.
Daher die Frage: gibt's hier jemanden, der fwbuilder mit anderen
Firewall-Architekturen als pf(4) benutzt? Wenn ja, kommt dort ICMP6
type/code im Regelsatz nach dem Compilieren an oder nicht?