Ich habe einen Ubuntu 16.04 Server, der als Router mit mehreren (VLAN) Schnittstellen fungiert. Standardmäßig ist rp_filter
(Umkehrpfadfilterung) für alle Schnittstellen aktiviert. Ich möchte es so halten, aber eine Ausnahme für genau eine Schnittstelle machen. (Pakete von dieser Schnittstelle sollten eine Quell-IP-Adresse haben dürfen, die keiner Routing-Zieladresse dieser Schnittstelle entspricht.)
ens20.4
Angenommen , diese Schnittstelle hat den Namen , ihr vlan-raw-Gerät ist ens20
und die Zielschnittstelle (zum Testen des Paketflusses ) wird benannt ens20.2
(obwohl sie für jede Zielschnittstelle funktionieren sollte).
Ich habe versucht, die rp_filter
Eigenschaft ens20.4
nur für zu setzen , ohne Erfolg:
echo 0 > /proc/sys/net/ipv4/conf/ens20.4/rp_filter
Zu Testzwecken habe ich daher auch rp_filter
das vlan-raw-Gerät und die Testzielschnittstelle deaktiviert :
echo 0 > /proc/sys/net/ipv4/conf/ens20/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/ens20.2/rp_filter
Immer noch kein Erfolg, Pakete mit einer "gefälschten" Quell-IP-Adresse werden immer noch verworfen. Nur wenn ich rp_filter
für alle Schnittstellen deaktiviere , kommen Pakete durch:
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
Ich möchte jedoch weiterhin die Umkehrpfadfilterung für alle anderen Schnittstellen beibehalten - was fehlt mir?