Så här startar du iptables-regler automatiskt i systemd (ArchLinux)

Jag betraktas av vissa som paranoida när det gäller säkerhet, varför användningen av en brandvägg är avgörande för mig. På min bärbara dator har jag känslig information som är mycket viktig för mig; och eftersom brandväggen är för datorn som ett lås eller säker för oss, kom också ihåg att vi på datorn lagrar e-poståtkomstlösenord, bankkontodata (vem som helst som har dem), serverinformation och annan virtuell information som direkt påverkar vårt fysiska liv ... ja, utan tvekan gå genom nätverket utan en brandvägg konfigurerad, utan korrekt säkerhet på vår dator är inte något som rekommenderas.

För en tid sedan visade jag dig hur du startar iptables-regler automatiskt på distros som Debian, Ubuntu eller andra som innehåller /etc/rc.local-filen, men i ArchLinux eftersom systemd använder den här filen finns inte.

Så jag hittade att mina iptables skulle konfigureras som jag önskar är att skapa ett bash-skript som konfigurerar iptables och sedan ändra /usr/lib/systemd/system/iptables.service-filen ... men, låt oss gå i delar 🙂

1. Vi måste skapa ett bash-skript innehåller våra iptables-regler, ungefär så här: Exempel på Bash + iptables-skript

2. Efter att ha skapat skriptet, skrivit våra regler i det och gett det körrättigheter, kommer vi att redigera systemd iptables-tjänsten:

Följande kommando måste köras med administrativa behörigheter, antingen med sudo som jag eller direkt med rotanvändaren

sudo nano /usr/lib/systemd/system/iptables.service

Vi kommer att stöta på något så här:

[Enhet] Beskrivning = Paketfiltreringsramverk [Service] Typ = oneshot ExecStart = / usr / bin / iptables-restore /etc/iptables/iptables.rules ExecReload = / usr / bin / iptables-Restore /etc/iptables/iptables.rules ExecStop = / usr / lib / systemd / scripts / iptables-flush RemainAfterExit = ja [Installera] WantedBy = multi-user.target

3. Förutsatt att skriptet som vi tidigare skapade ligger i /home/myuser/script-iptables.sh så lämnar vi filen iptables.service som vi har öppet enligt följande:

[Enhet] Beskrivning = Paketfiltreringsram [Service] Typ = oneshot ExecStart = / home / myuser / script-iptables.sh ExecReload = / home / myuser / script-iptables.sh ExecStop = / usr / lib / systemd / scripts / iptables -flush RemainAfterExit = ja [Installera] WantedBy = multi-user.target

4. Då måste vi se till att iptables startar automatiskt:

sudo systemctl enable iptables

5. Vi börjar det:

sudo systemctl start iptables

6. Och vi kan kontrollera reglerna:

sudo iptables -nL

Det här är bara det enklaste sättet att (1) ha mitt eget bash-skript som konfigurerar iptables för mig, också (2) att reglerna startar automatiskt och slutligen (3) att själva skriptet var något självständigt, det vill säga , att om jag i morgon vill använda den i en Debian som jag installerar (till exempel) behöver jag inte konfigurera om mycket.

Hur som helst, jag hoppas att du tycker att det är användbart 🙂

hälsningar


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

8 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   eliotime3000 sade

    Intressant….

  2.   Saul sade

    Det hade inte varit lättare att redigera filen iptables.rules. Om du redan har root-åtkomst med sudo skulle det vara värt att ändra den, eller hur?

  3.   xphnx sade

    Jag gör det på ett något annorlunda sätt, även om jag också utnyttjar skriptet som du har laddat upp för att starta reglerna.

    1- Vi lanserar tjänsten (om vi inte har gjort det ännu):
    # systemctl enable iptables.service
    # systemctl start iptables.service

    2- Vi ser vilka regler vi har aktiva (vi antar att allt är öppet om vi inte har rört någonting) sudo iptables -nvL

    3- Vi ändrar till de regler vi vill, startar konfigurationsskriptet:
    # sh /home/miusuario/script-iptables.sh

    4- Låt oss se hur de aktiva reglerna har förändrats:
    # iptables -nvL

    5- Vi sparar den nya iptables-konfigurationen för framtida omstart:
    # iptables-save > /etc/iptables/iptables.rules

    5b- Om vi ​​manuellt redigerar /etc/iptables/iptables.rules-filen för att ändra reglerna måste vi ladda om konfigurationen:
    # systemctl reload iptables

    För mig är det åtminstone lättare på det sättet. Jag försöker lära mig lite bash och kdialog för att hantera inställningarna på ett mer grafiskt sätt. Senare kommer jag att försöka göra något mer komplett med till exempel qtcreator, för att kunna ha flera konfigurationsskript beroende på vilken utrustning vi konfigurerar (router, PC, etc ...) för att se om det kommer ut.

  4.   djägare sade

    Denna captcha för kommentarer är en bugfil, ändra till en annan eller uppdatera den här eftersom den blir irriterande efter flera försök.

    1.    elav sade

      Det är samma som används av humanOS, Firefoxmania .. kanske det är något med cachen.

      1.    djägare sade

        Jag kommenterar inte ens de två längre.

  5.   mj sade

    hälsningar,
    Detta är ett extremt användbart ämne.
    Utan tvekan för dem som är intresserade av säkerheten för den information som lagras på vår dator; "Iptables" är ett av de verktyg som måste läras att använda; även om det av sin egen betydelse är lite komplicerat att lära sig.
    Jag hittade den här videon om vilken jag hoppas att du tillåter mig att dela din e-postadress "http://www.youtube.com/watch?v=Z6a-K_8FT_Y"; min förvåning var att det är något annorlunda än vad det handlar om här. Men hur som helst, antar jag att det kommer att bero på mångfalden av distributioner som GNU / Linux har (ARCH, DEBIAN, SUSE, etc), så måste vi lära oss ändå.