Rosendoktor
Well-Known Member
Hallo zusammen,
ich hab auf einem Server ein Problem mit den Firewall Regeln. Zur Konfiguration, das Interface re0 ist das lokale LAN, die Internetverbindung wird über einen Tunnel hergestellt und das virtuelle Interace dazu ist ng0, welches auch die öffentlichen ipv4/ipv6 Adressen hat.
Im Prinzip tun die Regeln was sie sollen, mit einer Ausnahme: Es ist kein lokaler ipv6 Zugriff auf die laufenden Serverdienste möglich. Beispielsweise funktioniert auf der lokalen Maschine ein "telnet -4 polaris 25", ein "telnet -6 polaris 25" jedoch wird geblockt und läuft in einen Timeout. Ich dachte das wäre mit den ersten beiden Regeln "allow all from any to any" erschlagen, ist es aber offenbar nicht bzw. nur für ipv4.
Da ich noch nie was mit IPFW gemacht haben und dieses Skript unten aus mehreren Beispielskripten zusammengebaut habe, bin ich jetzt ratlos woran das liegt. Ausserdem verwirrt, wann ip6 nun explizit angegeben werden muss und wann nicht. Falls jemandem weitere Dummheiten an dem Skript aufallen, immer her damit...
Danke!
Robert
ich hab auf einem Server ein Problem mit den Firewall Regeln. Zur Konfiguration, das Interface re0 ist das lokale LAN, die Internetverbindung wird über einen Tunnel hergestellt und das virtuelle Interace dazu ist ng0, welches auch die öffentlichen ipv4/ipv6 Adressen hat.
Im Prinzip tun die Regeln was sie sollen, mit einer Ausnahme: Es ist kein lokaler ipv6 Zugriff auf die laufenden Serverdienste möglich. Beispielsweise funktioniert auf der lokalen Maschine ein "telnet -4 polaris 25", ein "telnet -6 polaris 25" jedoch wird geblockt und läuft in einen Timeout. Ich dachte das wäre mit den ersten beiden Regeln "allow all from any to any" erschlagen, ist es aber offenbar nicht bzw. nur für ipv4.
Da ich noch nie was mit IPFW gemacht haben und dieses Skript unten aus mehreren Beispielskripten zusammengebaut habe, bin ich jetzt ratlos woran das liegt. Ausserdem verwirrt, wann ip6 nun explizit angegeben werden muss und wann nicht. Falls jemandem weitere Dummheiten an dem Skript aufallen, immer her damit...
Danke!
Robert
Code:
#!/bin/sh
# Flush out the list before we begin.
ipfw -q -f flush
# Internal, no restrictions on lan interface
ipfw -q add 0005 allow all from any to any via re0
# Internal, no restrictions on loopback interface
ipfw -q add 0010 allow all from any to any via lo0
# General, no restrictions on icmp(6)
ipfw -q add 0012 allow icmp from any to any
ipfw -q add 0012 allow icmp6 from any to any
# Incoming, reassemble
ipfw -q add 0099 reass ip from any to any in
# Allow packets for which a state has been built.
ipfw -q add 0101 check-state
# Outgoing, allow all tcp+udp
ipfw -q add 0200 allow tcp from any to any out via ng0 keep-state
ipfw -q add 0200 allow udp from any to any out via ng0 keep-state
# Incoming, allow dns
ipfw -q add 0408 allow udp from any to 188.246.44.189 53 in via ng0 #setup limit src-addr 2
ipfw -q add 0408 allow tcp from any to 188.246.44.189 53 in via ng0 #setup limit src-addr 2
ipfw -q add 0408 allow udp from any to 2a02:a00:eb30:60::53 53 in via ng0 #setup limit src-addr 2
ipfw -q add 0408 allow tcp from any to 2a02:a00:eb30:60::53 53 in via ng0 #setup limit src-addr 2
# Incoming, allow ssh
ipfw -q add 0410 allow tcp from any to 188.246.44.189 22 in via ng0 setup limit src-addr 2
ipfw -q add 0410 allow tcp from any to 2a02:a00:eb30:60::2 22 in via ng0 setup limit src-addr 2
# Incoming, allow http(s)
ipfw -q add 0412 allow tcp from any to 188.246.44.189 80 in via ng0 #setup limit src-addr 2
ipfw -q add 0412 allow tcp from any to 2a02:a00:eb30:60::2 80 in via ng0 #setup limit src-addr 2
ipfw -q add 0412 allow tcp from any to 188.246.44.189 443 in via ng0 #setup limit src-addr 2
ipfw -q add 0412 allow tcp from any to 2a02:a00:eb30:60::2 443 in via ng0 #setup limit src-addr 2
ipfw -q add 0412 allow tcp from any to 188.246.44.189 8443 in via ng0 #setup limit src-addr 2
ipfw -q add 0412 allow tcp from any to 2a02:a00:eb30:60::2 8443 in via ng0 #setup limit src-addr 2
# Incoming, allow smtp
ipfw -q add 0414 allow tcp from any to 188.246.44.189 25 in via ng0 #setup limit src-addr 2
ipfw -q add 0414 allow tcp from any to 2a02:a00:eb30:60::2 25 in via ng0 #setup limit src-addr 2
ipfw -q add 0414 allow tcp from any to 188.246.44.189 587 in via ng0 #setup limit src-addr 2
ipfw -q add 0414 allow tcp from any to 2a02:a00:eb30:60::2 587 in via ng0 #setup limit src-addr 2
# Incoming, allow imap
ipfw -q add 0414 allow tcp from any to 188.246.44.189 143 in via ng0 #setup limit src-addr 2
ipfw -q add 0414 allow tcp from any to 2a02:a00:eb30:60::2 143 in via ng0 #setup limit src-addr 2
# Incoming, deny and log all via ng0
ipfw -q add 0499 deny log all from any to any in via ng0
# All, deny and log all not processed yet
ipfw -q add 0999 deny log all from any to any