[fli4l] Routing und SNAT

Christoph Schulz fli4l at kristov.de
Fr Jan 22 21:06:31 CET 2016


Hallo!

Matthias Taube schrieb:

> [...]
> Klar. Aber mein build-script lautet ohnehin
>>    &add_entry( $config_alix, 'PF_POSTROUTING_', 'if:any:{dsl-ipv4}
>>    MASQUERADE' ); &add_entry( $config_alix, 'PF_POSTROUTING_', 'IP_NET_1
>>    @wlan-router SNAT:IP_NET_4_IPADDR' ); &print_entries($config_alix,
>>    'PF_POSTROUTING_' );
> 
> d.h. bei mir werden die Zahlen automatisch erzeugt. Durch ein
> zwischengeschaltetes Perl-Script bin ich wesentlich flexibler, wenn ich
> Regeln in der Reihenfolge verschiebe oder einfüge/lösche.

Es gibt demnächst im 4.0-Zweig bei mkfli4l auto-indizierte Arrays. Das 
sollte solchen Anwendungsfällen auch ohne externe Generatoren helfen. Die 
Syntax ist noch nicht in Stein gemeißelt, würde aber zur Zeit für die 
Firewall z.B. so aussehen:

PF {
  POSTROUTING {
    [] = 'if:any:{dsl-ipv4} MASQUERADE'
    [] = 'IP_NET_1 @wlan-router SNAT:IP_NET_4_IPADDR'
  }
}

Das ist nur eine von vielen Möglichkeiten, eine andere wäre:

PF {
  POSTROUTING[] = 'if:any:{dsl-ipv4} MASQUERADE'
  POSTROUTING[] = 'IP_NET_1 @wlan-router SNAT:IP_NET_4_IPADDR'
}

Oder auch:

PF.POSTROUTING[] = 'if:any:{dsl-ipv4} MASQUERADE'
PF.POSTROUTING[] = 'IP_NET_1 @wlan-router SNAT:IP_NET_4_IPADDR'

Man kann also beliebige gemeinsame Anfänge ausfaktorisieren (muss es jedoch 
nicht), und man muss Array-Indizes nicht hinschreiben (kann es aber 
weiterhin tun).


Viele Grüße,
-- 
Christoph Schulz
[fli4l-Team]



Mehr Informationen über die Mailingliste Fli4L