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.4Angenommen , diese Schnittstelle hat den Namen , ihr vlan-raw-Gerät ist ens20und die Zielschnittstelle (zum Testen des Paketflusses ) wird benannt ens20.2(obwohl sie für jede Zielschnittstelle funktionieren sollte).
Ich habe versucht, die rp_filterEigenschaft ens20.4nur für zu setzen , ohne Erfolg:
echo 0 > /proc/sys/net/ipv4/conf/ens20.4/rp_filter
Zu Testzwecken habe ich daher auch rp_filterdas 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_filterfü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?