Layer 3 Firmware wirft ohne Routen default gegen WAN

Christian Dresel fff at chrisi01.de
Sa Mai 23 09:32:38 CEST 2020


Hi zusammen

ich hatte letztens den Effekt, das ein Layer 3 Router mit WAN Uplink vom
L3 Netz abgekabselt war (kein RF vorhanden, wireguard down) somit die
fff table leer. Er wirft dann anscheinend alle Pakete vom Freifunknetz
gegen das WAN Interface. Man kommt zwar darüber nicht ins Internet (es
fehlen Rückrouten) dennoch finde ich es ziemlich "ungeil" wenn im
privaten Netz (bis sogar zum Internet hin) auf einmal Freifunkpakete
auftauchen. Ich glaub Fabian meinte zwar, das dies durch Routingregeln
verhindert wird, ich finde da jetzt aber eigentlich keinen Punkt der das
verhindert:

root at x:~# ip -6 ru sh
0:	from all lookup local
20:	from fc00::/7 lookup fff
20:	from all to fc00::/7 lookup fff
31:	from all iif eth0.7 lookup fff
31:	from all iif eth0.5 lookup fff
31:	from all iif eth0.6 lookup fff
31:	from all iif br-mesh lookup fff
31:	from all iif z lookup fff
31:	from all iif y lookup fff
31:	from all iif x lookup fff
5000:	from all fwmark 0xc8 lookup main
5001:	from all fwmark 0xc8 blackhole
10000:	from fdff::f81a:675a:857e lookup fff
10000:	from fdff::1 lookup fff
10000:	from fdff::fa1a:67ff:fe5a:857e lookup fff
10000:	from x lookup fff
10000:	from x lookup fff
10000:	from fe80::1 lookup fff
20000:	from all to fdff::f81a:675a:857e/64 lookup fff
20000:	from all to fdff::1/64 lookup fff
20000:	from all to fdff::fa1a:67ff:fe5a:857e/64 lookup fff
20000:	from all to 2a06:e881:340b::1/64 lookup fff
20000:	from all to fd43:5602:29bd:5::1/64 lookup fff
20000:	from all to fe80::1/64 lookup fff
32766:	from all lookup main
90043:	from all iif lo lookup fff
4200000001:	from all iif lo failed_policy
4200000035:	from all iif eth0.3 failed_policy
4200000036:	from all iif eth0.2 failed_policy
4200000043:	from all iif br-mesh failed_policy
4200000045:	from all iif eth0.7 failed_policy
4200000046:	from all iif eth0.5 failed_policy
4200000047:	from all iif eth0.6 failed_policy
4200000048:	from all iif wg_vm2fffgwcd1 failed_policy
4200000049:	from all iif wg_nue2gw1 failed_policy
4200000050:	from all iif wg_merkur failed_policy

wenn die fff table leer ist, rutscht alles bis 32766 durch und landet
dann in der main und dort ist die default route der WAN Anschluss.

Mein Vorschlag:

25000:	from all iif br-mesh blackhole

mit einfügen. Dann sollte alles was ausm Freifunk kommt (br-mesh) noch
bevor es in der main landet gefangen werden und ins schwarze Loch
geschickt werden.

Oder hab ich irgendwas übersehen?

Noch eine zusätzliche Frage:
die 5000r Regel mit dem fwmark ist doch für wireguard oder? Also alle
Verbiddungen über die ein wireguard Tunnel aufgebaut wird, landet
sowieso in der main richtig? Ich finds ja schon immer unschön das die
Layer 3 Router bei einem Traceroute im Freifunknetz mit Telekom/whatever
IP antworten, viel schöner wäre es dort eine Freifunk Adresse zu haben,
immerhin ist das ein Freifunkrouter und bei reinen RF Installationen ja
sowieso der Fall, dann wäre es gleicher. Wäre da nicht sowas möglich wie:

0:	from all lookup local
5000:	from all fwmark 0xc8 lookup main
5001:	from all fwmark 0xc8 blackhole
32766:	from all lookup fff
fertig!

Sprich zuerst für alles was wireguard macht in die main table gucken und
den ganzen kompletten rest in die fff table werfen? Auch das ist erstmal
nur eine Idee und absolut nicht zu Ende gedacht, kann gut sein das ich
hier wieder was übersehe (z.b. bei GRE Tunnel müsste man sich dann was
einfallen lassen).


Gruß

Christian


Mehr Informationen über die Mailingliste franken-dev