# Custom Firewall Chains Et system for å laste egendefinerte `iptables`-kjeder (chains) inn i RAM ved oppstart, via en dedikert `systemd`-tjeneste. --- ## Forutsetninger - Linux med `systemd` og `iptables` - Root-tilgang (eller `sudo`) --- ## Mappestruktur i repoet ``` . ├── load-chains.sh # Hovedscript som laster alle chains ├── chains/ # Mappe med enkeltscripts for hver chain │ ├── 10-example-chain.sh │ └── ... └── systemd/ └── custom-firewall-chains.service # systemd-tjenestefilen ``` --- ## Oppsett – steg for steg ### 1. Kopier firewall-filene til `/opt/firewall` ```bash sudo mkdir -p /opt/firewall/chains sudo cp load-chains.sh /opt/firewall/load-chains.sh sudo cp chains/*.sh /opt/firewall/chains/ sudo chmod +x /opt/firewall/load-chains.sh sudo chmod +x /opt/firewall/chains/*.sh ``` ### 2. Installer systemd-tjenesten ```bash sudo cp systemd/custom-firewall-chains.service /etc/systemd/system/ ``` Opprett deretter override-mappen og konfigurer at tjenesten kjører før nettverket starter: ```bash sudo mkdir -p /etc/systemd/system/custom-firewall-chains.service.d/ sudo tee /etc/systemd/system/custom-firewall-chains.service.d/override.conf > /dev/null < **Tips:** Bruk numeriske prefiks (f.eks. `10-`, `20-`) på filnavnene for å styre rekkefølgen chainene lastes inn. --- ## Gjøre andre tjenester avhengig av firewall-chainene For tjenester som er avhengige av at chainene er lastet inn før de starter, legg til følgende i tjenestens override-konfigurasjon: ```bash sudo systemctl edit .service ``` Legg inn: ```ini [Unit] Requires=custom-firewall-chains.service After=custom-firewall-chains.service ``` Dette sikrer at `custom-firewall-chains.service` alltid kjører ferdig før den aktuelle tjenesten starter. --- ## Feilsøking | Problem | Løsning | |---|---| | Tjenesten feiler ved oppstart | Sjekk `sudo journalctl -u custom-firewall-chains.service` | | Et chain-script lastes ikke | Sjekk at filen er kjørbar: `ls -l /opt/firewall/chains/` | | Endringer vises ikke | Kjør `sudo systemctl restart custom-firewall-chains.service` |