iptables: Skillnad mellan sidversioner
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
Admin (diskussion | bidrag) |
||
Rad 108: | Rad 108: | ||
https://www.linux.se/kontaka-linux-se/ | https://www.linux.se/kontaka-linux-se/ | ||
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har sponsrat Linux.se med webserver. | <BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har sponsrat Linux.se med webserver. | ||
[[Kategori: | [[Kategori:Linuxkommandon]] |
Versionen från 26 augusti 2024 kl. 05.16
NAMN
iptables/ip6tables — administrationsverktyg för IPv4/IPv6 paketfiltrering och NAT
SAMMANFATTNING
iptables [-t table] {-A|-C|-D|-V} chain rule-specification
ip6tables [-t table] {-A|-C|-D|-V} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain policy
iptables [-t table] -E old-chain-name new-chain-name
rule-specification := [matches...] [target]
match := -m matchname [per-match-options]
target := -j targetname [per-target-options]
BESKRIVNING
Iptables och ip6tables används för att konfigurera, underhålla och inspektera tabeller med IPv4 och IPv6 paketfilterregler i Linuxkärnan. Flera olika tabeller kan definieras. Varje tabell innehåller ett antal inbyggda kedjor och kan också innehålla användardefinierade kedjor.
Varje kedja är en lista över regler som kan matcha en uppsättning paket. Varje regel specificerar vad som ska göras med ett paket som matchar. Detta kallas ett "mål", vilket kan vara en hopp till en användardefinierad kedja i samma tabell.
MÅL
En brandväggsregel specificerar kriterier för ett paket och ett mål. Om paketet inte matchar, granskas nästa regel i kedjan; om det matchar, bestäms nästa regel av värdet på målet, vilket kan vara namnet på en användardefinierad kedja, ett av målen som beskrivs i iptables-extensions, eller ett av de speciella värdena ACCEPT, DROP eller RETURN.
ACCEPT innebär att paketet släpps igenom. DROP innebär att paketet slängs. RETURN innebär att man slutar traversera denna kedja och återupptar vid nästa regel i den tidigare (anropande) kedjan. Om slutet på en inbyggd kedja nås eller en regel i en inbyggd kedja med målet RETURN matchas, bestämmer målet som anges av kedjepolicyn paketets öde.
TABELLER
För närvarande finns fem oberoende tabeller (vilka tabeller som är närvarande vid en given tidpunkt beror på kärnkonfigurationsalternativ och vilka moduler som är närvarande).
-t, --table table
Detta alternativ specificerar den paketmatchande tabell som kommandot ska verka på. Om kärnan är konfigurerad med automatisk modul-laddning, kommer ett försök att göras att ladda den lämpliga modulen för den tabellen om den inte redan finns där.
Tabellerna är följande:
- filter
- Detta är standardtabellen (om inget -t alternativ anges). Den innehåller de inbyggda kedjorna INPUT (för paket destinerade till lokala sockets), FORWARD (för paket som routas genom boxen), och OUTPUT (för lokalt genererade paket).
- nat
- Denna tabell konsulteras när ett paket som skapar en ny anslutning påträffas. Den består av fyra inbyggda: PREROUTING (för att ändra paket så snart de kommer in), INPUT (för att ändra paket destinerade till lokala sockets), OUTPUT (för att ändra lokalt genererade paket före routning), och POSTROUTING (för att ändra paket precis innan de skickas ut). IPv6 NAT-stöd finns tillgängligt sedan kärna 3.7.
- mangle
- Denna tabell används för specialiserad paketmanipulation. Fram till kärna 2.4.17 hade den två inbyggda kedjor: PREROUTING (för att ändra inkommande paket före routning) och OUTPUT (för att ändra lokalt genererade paket före routning). Sedan kärna 2.4.18 stöds tre andra inbyggda kedjor: INPUT (för paket som kommer in i boxen själv), FORWARD (för att ändra paket som routas genom boxen), och POSTROUTING (för att ändra paket precis innan de skickas ut).
- raw
- Denna tabell används huvudsakligen för att konfigurera undantag från anslutningsspårning i kombination med NOTRACK-målet. Den registrerar sig vid netfilter-hookarna med högre prioritet och kallas därför innan ip_conntrack, eller andra IP-tabeller. Den tillhandahåller följande inbyggda kedjor: PREROUTING (för paket som anländer via vilket nätverksgränssnitt som helst) och OUTPUT (för paket som genereras av lokala processer).
- security
- Denna tabell används för regler för obligatorisk åtkomstkontroll (MAC), som de som möjliggörs av SECMARK- och CONNSECMARK-målen. Obligatorisk åtkomstkontroll implementeras av Linux Security Modules såsom SELinux. Säkerhetstabellen anropas efter filtertabellen, vilket tillåter att eventuella diskretionära åtkomstkontrollregler (DAC) i filtertabellen träder i kraft innan MAC-regler. Denna tabell tillhandahåller följande inbyggda kedjor: INPUT (för paket som kommer in i boxen själv), OUTPUT (för att ändra lokalt genererade paket före routning), och FORWARD (för att ändra paket som routas genom boxen).
ALTERNATIV
Alternativen som känns igen av iptables och ip6tables kan delas in i flera olika grupper.
- KOMMANDON
- Dessa alternativ specificerar den önskade åtgärden att utföra. Endast ett av dem kan anges på kommandoraden om inte annat anges nedan. För långa versioner av kommandot och alternativnamnen behöver du bara använda tillräckligt många bokstäver för att iptables ska kunna skilja det från alla andra alternativ.
- -A, --append chain rule-specification
- Lägg till en eller flera regler i slutet av den valda kedjan. När käll- och/eller destinationsnamn löses till fler än en adress, kommer en regel att läggas till för varje möjlig adresskombination.
- -C, --check chain rule-specification
- Kontrollera om en regel som matchar specifikationen finns i den valda kedjan. Detta kommando använder samma logik som -D för att hitta en matchande post, men ändrar inte den befintliga iptables-konfigurationen och använder sin utgångskod för att indikera framgång eller misslyckande.
- -D, --delete chain rule-specification
- Ta bort en eller flera regler från den valda kedjan. Det finns två versioner av detta kommando: regeln kan specificeras som ett nummer i kedjan (börjar på 1 för den första regeln) eller en regel att matcha.
- -I, --insert chain [rulenum] rule-specification
- Infoga en eller flera regler i den valda kedjan som det angivna regelnummret. Om regelnummret är 1, infogas regeln eller reglerna i kedjans början. Detta är också standard om inget regelnr anges.
- -R, --replace chain rulenum rule-specification
- Ersätt en regel i den valda kedjan. Om käll- och/eller destinationsnamn löses till flera adresser, kommer kommandot att misslyckas. Reglerna numreras med start från 1.
- -L, --list [kedja]
- Lista alla regler i den valda kedjan. Om ingen kedja väljs, listas alla kedjor. Precis som alla andra iptables-kommandon gäller det för den specificerade tabellen (filter är standard), så NAT-regler listas med
iptables -t nat -n -L
. Observera att det ofta används med -n-alternativet för att undvika långa omvända DNS-uppslagningar. Det är tillåtet att specificera -Z (nollställa) alternativet också, i vilket fall kedjorna atomiskt listas och nollställs. Den exakta utgången påverkas av de andra argument som anges. De exakta reglerna undertrycks tills du använderiptables -L -v
eller iptables-save.
- -S, --list-rules [kedja]
- Skriv ut alla regler i den valda kedjan. Om ingen kedja är vald, skrivs alla kedjor ut som iptables-save. Precis som alla andra iptables-kommandon gäller det för den specificerade tabellen (filter är standard).
- -F, --flush [kedja]
- Rensa den valda kedjan (alla kedjor i tabellen om ingen anges). Detta motsvarar att radera alla regler en efter en.
- -Z, --zero [kedja [rulenum]]
- Nollställ paket- och byte-räknarna i alla kedjor, eller endast den givna kedjan, eller bara den givna regeln i en kedja. Det är tillåtet att specificera -L, --list (lista) alternativet också för att se räknarna omedelbart innan de nollställs.
- -N, --new-chain kedja
- Skapa en ny användardefinierad kedja med det angivna namnet.
Sidslut
Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.