-
Notifications
You must be signed in to change notification settings - Fork 1
License
LinuxHaus/firewall-lihas
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# $Id$ Das Konfigurationsverzeichnis ist /etc/firewall-lihas.d darin finden die relevanten Dinge statt. - es gibt pro Interface ein Verzeichnis nach dem Muster interface-NAME Interface-Aliase (z.B. eth0:0) werden nicht extra angelegt. - interface-NAME/comment Kommentar, der einfach nur ausgedruckt wird - interface-NAME/network Ein Netzwerk pro Zeile, das ueber dieses Interface erreichbar ist, z.B. 192.168.1.0/25 Eingetragen werden hier: - die Netzwerke local zum Interface - die Netzwerke local zu evtentuell vorhandenen Interface-Aliasen - hinter Routern erreichbare Netze - das Netz 0.0.0.0/0 beim fuer die Defaultroute zustaendigen Interface - interface-NAME/network-ipsec Ein Netzwerk pro Zeile, das ueber IPSEC an diesem Interface haengt, z.B. 192.168.1.0/25 vgl. "interface-NAME/network" - interface-NAME/privclients Clients an diesem Interface bekommen die angegebenen Berechtigungen Format: SRC-NET DST-NET PROTO PORT [OutIFACE] Der Eintrag erfolgt in der Datei zu _dem_ Interface, dass die verbindingsaufbauenden Pakete _eingehend_ sieht. - interface-NAME/reject Analog privclients, werden aber mit REJECT abgewiesen bevor die privclients ausgewertet werden. Es gibt keinen Logeintrag. - interface-NAME/snat Ausgehende Verbindungen an diesem Interface werden mittels SNAT umgesetzt Format: OrigSRC NewSRC PROTO PORT[:RANGE] - interface-NAME/masquerade Ausgehende Verbindungen an diesem Interface werden mittels SNAT umgesetzt Format: OrigSRC NewSRC PROTO PORT[:RANGE] NewSRC ist unberuecksichtigt und nur der Kompatibilitaet mit SNAT wegen angegeben. - interface-NAME/dnat Eingehende Verbindungen an diesem Interface werden mittels DNAT umgesetzt Format: OrigTARG NewTARG PROTO OrigPORT[:RANGE] NewPORT Alternativ, um ein dnat zu verhindern: ACCEPT SourceIP PROTO OrigPORT[:RANGE] - interface-NAME/nonat SRC-NET DST-NET PROTO PORT Pakete von SRC-NET nach DST-NET werden nichtdurch SNAT/DNAT/MASQUERADE behandelt - interface-NAME/nolog Verbindungen hier werden nicht geloggt. Syntax wie bei privclients, allerdings mit DROP als Ergebnis statt ACCEPT - interface-NAME/policy-routing Zuordnung zu nicht-Defaultroutingtabellen SRC DST PROTO PORTS Routingname 0.0.0.0/0 0.0.0.0/0 tcp 80 dsl - interface-NAME/extra Freiform-Skript fuer Spezialfaelle - privclients, dnat, masquerade, reject koennen Zeilen nach dem Muster include DATEINAME enthalten. - groups/hostgroup-* koennen statt Rechner-/Netzadressen auch dns-HOSTNAME z.B. dns-www.lihas.de enthalten. DNS muss dafuer funktionieren, mehrere IPs pro Name sind ok, derzeit nur IPv4. firewall-lihasd.pl löst das regelmäßig auf. - fuer privclients, dnat, snat, masquerade, nolog, reject koennen statt Rechner-/Netzadressen/Ports/Interfaces auch Gruppen in groups/hostgroup-GROUPNAME bzw. groups/portgroup-GROUPNAME groups/ifacegroup-GROUPNAME definiert werden. hostgroup-GROUPNAME bzw. portgroup-GROUPNAME steht dann anstelle des Ports/Hosts/Netzwerks Beispiel: 192.0.2.0/28 192.0.2.128/28 any portgroup-GROUPNAME - interface-NAME/mark Ein Keyword pro Zeile, derzeit bekannt: dhcpd - Erlaubt DHCP-Anfragen natreflect - Maskiert Pakete an das Interface von dem Interface mit der eigenen IP um Connection Tracking zu erlauben - es gibt pro Routingtabelle ein Verzeichnis nach dem Muster policy-routing-TABELLENNAME Hiermit koennen z.B. alle Port 80/tcp Anfragen ueber eine DSL Flatrate geleitet werden - policy-routing-TABELLENNAME/comment Kommentar, der einfach nur ausgedruckt wird - policy-routing-TABELLENNAME/gateway Defaultgateway, Syntax: TYP INTERFACE [IP] PPP ppp0 -> ppp0 wird das Defaultgateway, Point-to-Point-Adresse noetig NET eth6 10.4.2.1 -> 10.4.2.1 ueber eth6 wird das Defaultgateway - policy-routing-TABELLENNAME/key Zahl die mit fwmark gesetzt wird, sollte eindeutig sein pro System, HEX, bsp 0x53, Wert <= 0xff - Verzeichnis groups - Datei hostgroup-GROUPNAME eine Zeile pro Host der zu der Grouppe gehoert - Datei portgroup-GROUPNAME eine Zeile pro Port der dazu gehoert, wenn die urspruengliche Datei als Protokoll nay' enthaelt, werden alle Zeile eingefuegt, wenn nicht nur die mit dem entsprechenden Protokoll - DNS-Aufloesung, dns-* Namen - Hierfür muss firewall-lihasd.pl laufen, wird bei passend installierten Abhängigkeiten automatisch gestartet. - Alle dns-* Statements werden aus groups/hostgroup-* genommen und, falls die TTL abgelaufen ist, neu aufgeloest. - andere Dateien werden nicht ausgewertet, hostgroup ist hier Pflicht. - ipset Support - Konfiguration in config.xml /applicationconfig/application/ipsets/ipset <ipset name="testset" persistent="yes" backupfile="/var/lib/firewall-lihas/ipset-testset"> <create>bitmap:ip range 10.0.10.0-10.0.13.255</create> <dump>ipset save testset -f /var/lib/firewall-lihas/ipset-testset</dump> <restore>ipset restore testset -f /var/lib/firewall-lihas/ipset-testset</restore> </ipset> - persistent="yes": Inhalt bleibt ueber Neustarts erhalten - backupfile="/var/lib/firewall-lihas/ipset-testset": Datei in die dieses ipset gesichert wird - name="testset": Name des ipset - maximum name length for ipset: 21 characters - call: ipset-ipsetname as source or destination in privclients - jump-Support in dnat: - src jump-TARGET dummy dummy dummy - wenn 'src' matched, springe zu existierendem target TARGET, z.B. 1.1.1.1 jump-pre-eth0 tcp 0 0 - accounting Support: Aktiviert bedeutet das für jedes Paket 1 zusätzlichen Jump - config.xml: /applicationconfig/application/feature/counter@enabled - counter: Wie localhost, gedacht für Dinge wie IPT_FILTER "-A counter -i eth0" IPT_FILTER "-A counter -o eth0" - Auswertung: extern, bsp `iptables -L -Z counter -vx ` Berechtigungen und DNAT werden an dem Interface konfiguriert, an dem der Client haengt. SNAT und Masquerading werden am ausgehenden Interface konfiguriert. Externe Programme: firewall-lihasd.pl - DNS in der Firewallkonfiguration mitsamt Updates firewall-lihas-watchdog-cron.sh - prueft ob die alternative Routingtabellen aktuell sind und startete ggf. die Firewall neu
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published