Add babel filters to prevent announcing client ips used for NAT #196
Labels
No Label
RFC
RFT
WIP
blocked
bsp
bug
build/scripts/tools
duplicate
feature
fixed
layer3
mantis
more details required
needs changes
node
packages/fff
rejected
security
trivial
upstream
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: freifunk-franken/firmware#196
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
With the current implementation of the fff-layer3-snat package, client ips used in conjunction with snat are not explicitly filtered from being announced. It is required to use ip ranges, which are excluded from being announced anyways.
Add extra filters to prevent nat'ed client ips from being announced.
Ich hab hier mal bisschen drüber nachgedacht.
Will man es richtig machen, müsste man eigentlich als Peering IP (oder routerip oder wie auch immer) was aus 100.64/10 nehmen für cgnat. Das kann man dann auch fest als Filter definieren (bzw. andersherum 10/8 192.168/16 und dieses 172.irgendwas was ich mir nie merken kann verbieten), natürlich nur, wenn SNAT auch an ist.
Vorteil:
Nachteil:
Einerseits finde ich, wäre das schon schön und richtig, anderseits ist das halt v4 und da jetzt wieder alles über den Haufen werfen... ach mei ich weiß auch nicht.
Meinungen?
NAK.
Wenn an irgendeiner Stelle im Freifunk so etwas ähnliches wie CGN passiert, dann sind das die Gateways zum Internet, welche die Default-Route announcen. Wenn man hier technisch "richtig" arbeiten will, dann müsste man hier für grundsätzliches alles 100.64.0.0/10 verwenden. Dafür müsste man einmal alles renumbern. Das ist quatsch.
Ohne alles zu renumbern bekommt man das Problem nicht mit statischen Regeln gelöst, denn es soll auch Router ohne NAT geben.
Außerdem bricht dann das ICVPN und weiß der Teufel was noch alles. Es gibt hier imho keinen Anlass für IPv4 noch irgendwelche Arbeit zu machen, weil es "sauberer" wäre.
Ist aber alles auch kein Thema, denn eigentlich muss layer3-config nur eine passende Regel (analog zu den von dir vorgeschlagenen statischen Regeln) für jedes Prefix erzeugen, welches auf einem Client-Interface mit
fff-nat '1'
hängt. Fertig. :-)Wenn ich dich richtig verstehe, war genau das meine Idee. Die ganzen Peering IPs müssten 100.64/10 sein (also alles was aktuell auf 10.50.252 und 10.83.252 ist renumbern) und ja man müsste dann alles renumbern das ist genau der große Nachteil an der Idee.
ja und nein, also ja natürlich gibts Router ohne NAT, aber man kann dann nen einfachen Fallunterschied machen:
Kein NAT: Nehm die Regeln wie bisher
NAT: Nehm die Regeln für 100.64/10
ICVPN bricht mit NAT sowieso schon eingehend (also ICVPN => Freifunk Franken) und aus dem ICVPN den Router zu erreichen der CGNAT macht, macht jetzt auch nicht soooviel Sinn. Welcher Teufel noch bin ich mir gerade unsicher, kann natürlich sein das da noch Dinge kaputt gehen.
Und ja diese "keine Arbeit" da mehr rein stecken, sehe ich durchaus auch. Daher nur ne Idee.
Eben nicht. Wenn man das so macht, dann müsste eigentlich alles innerhalb des babel-Netzes 100.64.0.0/10 sein, damit das überhaupt irgendeinen Vorteil bringt. Und das funktioniert eigentlich nur, wenn alle Router nochmal NAT machen, ansonsten ist das ja eigentlich auch kein Carrier-grade NAT. In letzterem Fall würde man dann bei nicht-NAT Routern ja auch 100.64.0.0/10 Adressen an Clients geben.
Router ohne NAT: siehe oben.
Wenn man eh immer noch ne Fallunterscheidung braucht, dann kann man auch einfach statt der allgemeinen Regeln (die dann ja eh nicht mehr statisch sind) auch gleich wie oben beschriebenen die korrekten Regeln einfügen.
Ich sehe von diesem Vorhaben jetzt ehrlich gesagt weder einen technischen Vorteil, noch warum das sauberer wäre.