Aktuell hyped die BSDWelt ja immer noch PF+Altq, da kommt ja keiner dran vorbei, da bei mir aber IPFW und DUMMYNET noch brav ihren Dienst tun, besteht da für mich noch kein Grund, Hals über Kopf umzusteigen.
Trotzdem würd ich zumindest aus Interesse und Neugierde mal wissen, wie "einfach" der Umstieg wäre.
Zunächst muss ich ja den Kernel neubauen mit
Darf das eigentlich mit NETGRAPH und IPFIREWALL in derselben Config stehen, ich meine mich zu erinnern, dass das zu Konflikten beim Bauen des Kernels führt.
Nun hab ich NAT bisher von ppp erledigen lassen - sollte das nun auch pf übernehmen? Und wie is dieses IPFW-Regelset am besten für PF umzusetzen:
Wer mit IPFW noch arbeitet, oder dabei bleiben will, darf natürlich gern auch Fragen zu meinem Regelset stellen, das läuft stateful mit DUMMYNET und Co ganz sauber, einzig beim 24h Disconnect brauchten einige Programme länger, bis sie sich neu verbunden hatten.
Trotzdem würd ich zumindest aus Interesse und Neugierde mal wissen, wie "einfach" der Umstieg wäre.
Zunächst muss ich ja den Kernel neubauen mit
Code:
# PF + ALTQ
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_PRIQ
Nun hab ich NAT bisher von ppp erledigen lassen - sollte das nun auch pf übernehmen? Und wie is dieses IPFW-Regelset am besten für PF umzusetzen:
Code:
# Enable reinjecting
${fwcmd} disable one_pass
# Upload-pipe for DSL16000
${fwcmd} pipe 1 config bw 1050Kbit/s
# High-Priority queue for ACK-Packets
${fwcmd} queue 1 config pipe 1 weight 95
# Medium-Priority queue for DNS/Gaming/SSH
${fwcmd} queue 2 config pipe 1 weight 25
# Low-Priority for the dirty rest ;)
${fwcmd} queue 3 config pipe 1 weight 15
# Anti-Spoof
${fwcmd} add 00100 deny all from any to any not antispoof in via ${natd_interface}
# Localhost-Traffic erlauben
${fwcmd} add 00200 allow ip from any to any via lo0
# Internen Traffic erlauben
${fwcmd} add 00300 allow all from any to any via ${lan_interface}
# Pakete an gesperrte Server droppen
#${fwcmd} add 00400 deny all from any to ${blocked_ips} out via ${natd_interface}
# Anti-Spoofing Regeln und Blockieren vom Pseudo-Port NULL und Port 1
${fwcmd} add 00500 deny all from 10.0.0.0/8 to any in via ${natd_interface}
${fwcmd} add 00510 deny all from 172.16.0.0/12 to any in via ${natd_interface}
${fwcmd} add 00520 deny all from 192.68.0.0/16 to any in via ${natd_interface}
${fwcmd} add 00530 deny all from 127.0.0.0/8 to any in via ${natd_interface}
${fwcmd} add 00540 deny all from 0.0.0.0/8 to any in via ${natd_interface}
${fwcmd} add 00550 deny all from 169.254.0.0/16 to any in via ${natd_interface}
${fwcmd} add 00560 deny all from 192.0.2.0/24 to any in via ${natd_interface}
${fwcmd} add 00570 deny all from 204.152.64.0/23 to any in via ${natd_interface}
${fwcmd} add 00580 deny all from 224.0.0.0/3 to any in via ${natd_interface}
${fwcmd} add 00590 deny all from any to any ${closed_ports} in via ${natd_interface}
# Wichtige ICMP Types erlauben
${fwcmd} add 00600 allow icmp from any to any via ${natd_interface} icmptype 3
${fwcmd} add 00610 allow icmp from any to any via ${natd_interface} icmptype 4
${fwcmd} add 00620 allow icmp from any to any in via ${natd_interface} icmptype 0
${fwcmd} add 00630 allow icmp from any to any in via ${natd_interface} icmptype 11
${fwcmd} add 00640 allow icmp from any to any in via ${natd_interface} icmptype 30
# Fragmentierte Pakete verwerfen
${fwcmd} add 00700 deny all from any to any via ${natd_interface} frag
# Dynamische Regeln fuer ausgehende Verbindungen anlegen
${fwcmd} add 00800 queue 1 tcp from any to any out via ${natd_interface} tcpflags ack iplen 0-80
${fwcmd} add 00810 skipto 01000 tcp from any to any out via ${natd_interface} tcpflags ack iplen 0-80
${fwcmd} add 00820 queue 2 udp from any to any out via ${natd_interface}
${fwcmd} add 00830 queue 3 not udp from any to any out via ${natd_interface}
${fwcmd} add 01000 check-state
${fwcmd} add 02000 allow tcp from any to any out via ${natd_interface} setup keep-state
${fwcmd} add 02100 allow all from any to any out via ${natd_interface} keep-state
${fwcmd} add 02200 allow all from any to any via ${natd_interface} established
# Aktive FTP-Verbindungen erlauben
${fwcmd} add 02300 allow all from any 20,21 to any in via ${natd_interface} setup keep-state
# Verbindungen zum internen FTP-Server erlauben
${fwcmd} add 02400 allow tcp from any to any ${ftp_ports} in via ${natd_interface} keep-state
# Erlaubte TCP-Dienste die ausm Internet erreicht werden duerfen
${fwcmd} add 03000 allow tcp from any to any ${open_tcp_ports} in via ${natd_interface} setup keep-state
# Erlaubte UDP-Dienste die ausm Internet erreicht werden duerfen
${fwcmd} add 03100 allow udp from any to any ${open_udp_ports} in via ${natd_interface} keep-state
# Dem Rest STEALTH-Verhalten vortaeuschen
${fwcmd} add 65500 deny all from any to any in via ${natd_interface}