[fli4l] ICMP
Christoph Schulz
fli4l at kristov.de
Do Mai 3 10:55:42 CEST 2012
Hallo!
Am 03.05.2012 10:02, schrieb Oma Voss:
> Hallo Christoph,
> habe bei HE folgendes gefunden:
>
> *Two important notes:
> 1. Your IPv4 endpoint address must be reachable via ICMP (Internet
> Control Message Protocol).
OK, damit ist ICMPv4 gemeint. Ich nehme an, dass HE hier Echo-Pakete
meint. Stell mal dafür zum Testen die erlaubte Paketgröße höher.
Momentan gibt es dafür (noch) keine Konfigurationsoption, deswegen
müsstest du direkt den Quelltext editieren. Du findest ihn in
etc/rc.d/rc360.fwrules.new in den Zeilen 123-125 (zumindest in der
aktuellen SVN-Version):
add_chain in-icmp
add_rule filter in-icmp "prot:icmp:8 length:0-100 $limit ACCEPT"
PF_INPUT_ACCEPT_DEF
add_rule filter in-icmp "state:RELATED ACCEPT" PF_INPUT_ACCEPT_DEF
Ändere in der zweiten Zeile "0-100" z.B. auf "0-1500" und schau mal, ob
der Tunnel dann stabiler läuft.
> 2. If you are using a NAT (Network Address Translation) appliance,
> please make sure it allows and forwards protocol 41.
Das passiert bereits automatisch. Ansonsten würde der Tunnel überhaupt
nie funktionieren. Siehe etc/rc.d/fwrules.pre150.ipv6:
pf_in_ipv6_default () {
if [ -f $ipv6_pops_file ]
then
cat $ipv6_pops_file | while read POP
do
add_rule filter INPUT "prot:41 $POP ACCEPT" "IPv6 protocol"
done
fi
}
case $PF_INPUT_ACCEPT_DEF in
yes)
pf_in_add_default pf_in_ipv6_default
;;
esac
Voraussetzung ist also PF_INPUT_ACCEPT_DEF='yes'. Ist das bei dir der Fall?
> [...]
> Nun habe ich in die he.sh den entsprechenden Abschnitt eingefügt, den
> Router rebootet,jetzt geht erstmal kein IPv6-Tunnel zu HE.
Hmmm, seltsam.
>
> In die base.txt habe ich mal versuchsweise eingefügt:
> PF_INPUT_3='prot:41 216.66.xx.xx ACCEPT'
> PF_INPUT_4='prot:1 216.66.xx.xx ACCEPT'
> PF_INPUT_5='prot:58 216.66.xx.xx ACCEPT'
>
> aber auch damit kein Erfolg. Bei HE (siehe Zitat oben) steht:
> allows and forwards protocol 41
Eine explizite Forward-Regel für Protokoll 41 ist _nicht_ nötig.
Proto-41-Pakete werden im Kernel als IPv6-Pakete erkannt und
entsprechend über die ip6tables weiter verarbeitet. Ein direktes
Proto-41-Forwarding würde nur dafür sorgen, dass der Router überhaupt
nichts mit den Paketen anstellt, sondern direkt irgendwohin weiterleitet
(z.B. an einen anderen Router). Dies wird aber so vom IPv6-Paket nicht
unterstützt, sprich wenn man die Firewall von fli4l so konfigurierte,
dann wäre die IPv6-Konfiguration des fli4l "kaputt".
>
> Ich bin mir nicht sicher, aber ACCEPT ist doch gleichbedeutend mit
> allows, was meinen die von HE mit forwards?
Dass der Router die IPv6-Pakete nicht "verschluckt", sondern ordentlich
behandelt (und z.B. ins LAN weiterleitet, falls das Ziel ein Rechner im
LAN ist).
Viele Grüße,
Christoph
Mehr Informationen über die Mailingliste Fli4L