Kapitel 5. Nätverkskonfiguration

# Kapitel 5. Nätverkskonfiguration

| Tips
För en modern Debian-specifik guide till nätverk, läs The Debian Administrator's Handbook - Configuring the Network.

| Tips
Under systemd kan networkd användas för att hantera nätverk. Se `systemd-networkd`(8).

## 5.1. Den grundläggande nätverksinfrastrukturen

Låt oss gå igenom den grundläggande nätverksinfrastrukturen i ett modernt Debian-system.

Tabell 5.1. Lista över verktyg för nätverkskonfiguration

paket | popcon | storlek | typ | beskrivning
--- | --- | --- | --- | ---
`network-manager` | V:421, I:484 | 7805 | config::NM | NetworkManager (daemon): hanterar nätverket automatiskt
`network-manager-gnome` | V:53, I:197 | 18 | config::NM | NetworkManager (GNOME-frontend)
`netplan.io` | V:1, I:7 | 340 | config::NM+nätverk | Netplan (generator): Enhetligt, deklarativt gränssnitt till NetworkManager och systemd-networkd backends
`ifupdown` | V:619, I:973 | 201 | config::ifupdown | standardiserat verktyg för att ta upp och ner nätverket (Debian-specifikt)
`isc-dhcp-client` | V:169, I:707 | 2884 | config::låg nivå | DHCP-klient
`pppoeconf` | V:0, I:4 | 174 | config::hjälpare | konfigurationshjälp för PPPoE-anslutning
`wpasupplicant` | V:399, I:529 | 3901 | config::hjälpare | klientstöd för WPA och WPA2 (IEEE 802.11i)
`wpagui` | V:0, I:1 | 784 | config::hjälpare | Qt GUI-klient för wpa_supplicant
`wireless-tools` | V:192, I:264 | 292 | config::hjälpare | verktyg för att manipulera Linux Wireless Extensions
`iw` | V:38, I:490 | 332 | config::hjälpare | verktyg för konfiguration av trådlösa Linux-enheter
`iproute2` | V:756, I:984 | 4122 | config::iproute2 | iproute2, IPv6 och annan avancerad nätverkskonfiguration: `ip`(8), `tc`(8), etc
`iptables` | V:353, I:629 | 2410 | config::Netfilter | administrationsverktyg för paketfiltrering och NAT(Netfilter)
`nftables` | V:212, I:850 | 191 | config::Netfilter | administrationsverktyg för paketfiltrering och NAT(Netfilter)(efterföljare till {ip,ip6,arp,eb}tables)
`iputils-ping` | V:195, I:997 | 188 | test | testa nätverkstillgängligheten för en fjärrvärd via värdnamn eller IP-adress(iproute2)
`iputils-arping` | V:1, I:19 | 53 | test | testa nätverkets nåbarhet för en fjärrvärd som anges av ARP-adressen
`iputils-tracepath` | V:2, I:21 | 50 | test | spåra nätverkssökvägen till en fjärrvärd
`ethtool` | V:93, I:250 | 1077 | test | visa eller ändra inställningar för Ethernet-enheter
`mtr-tiny` | V:4, I:39 | 181 | test::låg nivå | spåra nätverkssökvägen till en fjärrvärd (curses)
`mtr` | V:4, I:40 | 230 | test::låg nivå | spåra nätverkssökvägen till en fjärrvärd (curses och GTK)
`gnome-nettool` | V:0, I:10 | 2480 | test::låg nivå | verktyg för gemensam nätverksinformationshantering (GNOME)
`nmap` | V:25, I:185 | 4607 | test::låg nivå | network mapper / portskanner (Nmap, konsol)
`tcpdump` | V:16, I:166 | 1343 | test::låg nivå | analysator för nätverkstrafik(Tcpdump, konsol)
`wireshark` | V:2, I:41 | 11267 | test::låg nivå | analysprogram för nätverkstrafik (Wireshark, GTK)
`tshark` | V:2, I:23 | 438 | test::låg nivå | nätverkstrafikanalysator (konsol)
`tcptrace` | V:0, I:1 | 407 | test::låg nivå | skapa en sammanfattning av anslutningarna från `tcpdump-utdata`
`ntopng` | V:0, I:0 | 15604 | test::låg nivå | visa nätverksanvändning i webbläsaren
`dnsutils` | I:174 | 23 | test::låg nivå | nätverksklienter som levereras med BIND: `nslookup`(8), `nsupdate`(8), `dig`(8)
`dlint` | V:0, I:2 | 51 | test::låg nivå | kontrollera DNS-zoninformation med hjälp av namnserveruppslagningar
`dnstracer` | V:0, I:1 | 59 | test::låg nivå | spåra en kedja av DNS-servrar till källan

### 5.1.1. Upplösning av värdnamn

Värdnamnsupplösningen stöds för närvarande även av NSS-mekanismen (Name Service Switch). Flödet för denna upplösning är följande.

1. Filen "`/etc/nsswitch.conf`" med en stanza som "`hosts: files dns`" dikterar ordningen för upplösning av värdnamn. (Detta ersätter den gamla funktionaliteten i "`order`"-strofen i "`/etc/host.conf`")

2. Metoden `files` anropas först. Om värdnamnet finns i filen "`/etc/hosts`" returnerar den alla giltiga adresser för det och avslutas. (Filen "`/etc/host.conf`" innehåller "`multi on`")

3. Metoden `dns` anropas. Om värdnamnet hittas genom en förfrågan till DNS (Internet Domain Name System), som identifieras i filen "`/etc/resolv.conf`", returneras alla giltiga adresser för det och metoden avslutas.

En vanlig arbetsstation kan installeras med värdnamnet inställt på t.ex."host_name" och det valfria domännamnet inställt på en tom sträng. Då ser "`/etc/hosts`" ut på följande sätt.

    127.0.0.1 localhost
    127.0.1.1 host_name

    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters

Varje rad börjar med en IP-adress och följs sedan av det tillhörande värdnamnet.

IP-adressen `127.0.1.1` i den andra raden i det här exemplet kanske inte finns på några andra Unix-liknande system. Debian Installer skapar den här posten för ett system utan en permanent IP-adress som en lösning för vissa program (t.ex. GNOME), vilket dokumenteras i felet #719621.

Host_name motsvarar det hostname som definieras i "`/etc/hostname`" (se Avsnitt 3.8.1, ”Värdnamnet”).

För ett system med en permanent IP-adress ska den permanenta IP-adressen användas här i stället för `127.0.1.1`.

För ett system med en permanent IP-adress och ett fullständigt kvalificerat domännamn (FQDN) som tillhandahålls av Domain Name System (DNS), bör det kanoniska host_name.domain_name användas i stället för bara host_name.

"`/etc/resolv.conf`" är en statisk fil om paketet `resolvconf` inte är installerat. Om det är installerat är det en symbolisk länk. I vilket fall som helst innehåller den information som initierar resolverrutinerna. Om DNS hittas på IP= "`192.168.11.1`" innehåller den följande.

    nameserver 192.168.11.1

Paketet `resolvconf` gör denna "`/etc/resolv.conf`" till en symbolisk länk och hanterar dess innehåll automatiskt med hjälp av hook-skript.

För en PC-arbetsstation i en typisk adhoc LAN-miljö kan värdnamnet lösas via Multicast DNS (mDNS) utöver de grundläggande `fil-` och `dns-metoderna`.

- Avahi tillhandahåller ett ramverk för Multicast DNS Service Discovery på Debian.

- Det motsvarar Apple Bonjour / Apple Rendezvous.

- Instickspaketet `libnss-mdns` tillhandahåller värdnamnsupplösning via mDNS för GNU Name Service Switch (NSS)-funktionaliteten i GNU C Library (glibc).

- Filen "`/etc/nsswitch.conf`" bör ha en strof som "`hosts: files mdns4_minimal [NOTFOUND=return] dns`" (se `/usr/share/doc/libnss-mdns/README.Debian` för andra konfigurationer).

- Ett värdnamn som har pseudotoppdomänen ".local" som suffix löses genom att skicka ett mDNS-frågemeddelande i ett multicast UDP-paket med IPv4-adressen "`224.0.0.251`" eller IPv6-adressen "`FF02::FB`".

| Notera
Utbyggnaden av generiska toppdomäner (gTLD) i domännamnssystemet pågår. Se upp för namnkollisioner när du väljer ett domännamn som bara används inom LAN.

| Notera
Användning av paket som `libnss-resolve` tillsammans med `systemd-resolved`, eller `libnss-myhostname`, eller `libnss-mymachine`, med coressponding-listor på raden "`hosts`" i filen "`/etc/nsswitch.conf`" kan åsidosätta den traditionella nätverkskonfigurationen som diskuteras ovan. Se `nss-resolve`(8), `systemd-resolved`(8), `nss-myhostname`(8) och `nss-mymachines`(8) för mer information.

### 5.1.2. Namnet på nätverksgränssnittet

Systemd använder"Predictable Network Interface Names", t.ex. "`enp0s25`".

### 5.1.3. Nätverksadressområde för LAN

Låt oss påminna om de 32-bitars IPv4-adressområden i varje klass som enligt rfc1918 är reserverade för användning i lokala nätverk (LAN). Dessa adresser kommer garanterat inte i konflikt med några adresser på själva Internet.

| Notera
IP-adresser som skrivs med kolon är IPv6-adresser, t.ex. ":`:1`" för `localhost`.

Tabell 5.2. Lista över adressintervall för nätverk

Klass | nätverksadresser | nätmask | nätmask /bitar | antal subnät
--- | --- | --- | --- | ---
A | 10.x.x.x | 255.0.0.0 | /8 | 1
B | 172.16.x.x - 172.31.x.x | 255.255.0.0 | /16 | 16
C | 192.168.0.x - 192.168.255.x | 255.255.255.0 | /24 | 256

| Notera
Om en värd tilldelas en av dessa adresser får värden inte komma åt Internet direkt utan måste komma åt Internet via en gateway som fungerar som proxy för enskilda tjänster eller som utför NAT (Network Address Translation). Bredbandsroutern utför vanligtvis NAT för LAN-miljön för konsumenter.

### 5.1.4. Stöd för nätverksenhet

Även om de flesta maskinvaruenheter stöds av Debian-systemet, finns det vissa nätverksenheter som kräver DFSG:s non-free firmware för att stödjas. Vänligen se Avsnitt 9.10.5, ”Drivrutiner för hårdvara och firmware”.

## 5.2. Den moderna nätverkskonfigurationen för stationära datorer

Nätverksgränssnitt initialiseras vanligtvis i "`networking.service`" för `lo-gränssnittet` och "`NetworkManager.service`" för andra gränssnitt på moderna Debian-skrivbordssystem under `systemd`.

Debian kan hantera nätverksanslutningen via en daemonprogramvara för hantering, t.ex. NetworkManager (NM) (network-manager och tillhörande paket).

- De har egna GUI- och kommandoradsprogram som användargränssnitt.

- De levereras med sin egen daemon som backend-system.

- De gör det enkelt att ansluta ditt system till Internet.

- De gör det enkelt att hantera konfigurationen av trådbundna och trådlösa nätverk.

- De gör det möjligt för oss att konfigurera nätverket oberoende av det äldre paketet `ifupdown`.

| Notera
Använd inte dessa verktyg för automatisk nätverkskonfiguration för servrar. De är i första hand avsedda för mobila användare på bärbara datorer.

Dessa moderna nätverkskonfigurationsverktyg måste konfigureras på rätt sätt för att undvika konflikter med det äldre `ifupdown-paketet` och dess konfigurationsfil "`/etc/network/interfaces`".

### 5.2.1. GUI-verktyg för nätverkskonfiguration

Officiella dokumentationer för NM på Debian finns i "`/usr/share/doc/network-manager/README.Debian`".

I huvudsak görs nätverkskonfigurationen för desktop på följande sätt.

1. Gör så att skrivbordsanvändaren, t.ex. `foo`, tillhör gruppen "`netdev`" genom följande (alternativt görs det automatiskt via D-bus i moderna skrivbordsmiljöer som GNOME och KDE).

       $ sudo usermod -a -G netdev foo

2. Håll konfigurationen av "`/etc/network/interfaces`" så enkel som i följande exempel.

       auto lo
       iface lo inet loopback

3. Starta om NM genom att göra följande.

       $ sudo systemctl restart NetworkManager

4. Konfigurera ditt nätverk via GUI.

| Notera
Endast gränssnitt som inte finns listade i "`/etc/network/interfaces`" hanteras av NM för att undvika konflikt med `ifupdown`.

| Tips
Om du vill utöka NM:s nätverkskonfigurationsfunktioner, sök efter lämpliga plugin-moduler och tilläggspaket såsom `network-manager-openconnect`, `network-manager-openvpn-gnome`, `network-manager-pptp-gnome`, `mobile-broadband-provider-info`, `gnome-bluetooth` osv.

## 5.3. Den moderna nätverkskonfigurationen utan GUI

Under systemd kan nätverket konfigureras i `/etc/systemd/network/` istället. Se `systemd-resolved`(8), `resolved.conf`(5) och `systemd-networkd`(8).

Detta möjliggör modern nätverkskonfiguration utan GUI.

En DHCP-klientkonfiguration kan sättas upp genom att skapa "`/etc/systemd/network/dhcp.network`". T.ex:

    [Match]
    Name=en*

    [Network]
    DHCP=yes

En statisk nätverkskonfiguration kan ställas in genom att skapa "`/etc/systemd/network/static.network`". T.ex:

    [Match]
    Name=en*

    [Network]
    Address=192.168.0.15/24
    Gateway=192.168.0.1

## 5.4. Den moderna nätverkskonfigurationen för moln

Den moderna nätverkskonfigurationen för molnet kan använda paketen `cloud-init` och `netplan.io` (se Avsnitt 3.8.4, ”Initialisering av molnsystem”).

Paketet `netplan.io` stöder `systemd-networkd` och `NetworkManager` som backends för nätverkskonfiguration och möjliggör deklarativ nätverkskonfiguration med hjälp av YAML-data. När du ändrar YAML:

- Kör kommandot "`netplan generate`" för att generera all nödvändig backendkonfiguration från YAML.

- Kör kommandot "`netplan apply`" för att tillämpa den genererade konfigurationen på backend.

Se "Netplan-dokumentation", `netplan`(5), `netplan-generate`(8) och `netplan-apply`(8).

Se även "Cloud-init-dokumentation " (särskilt "Konfigurationskällor " och "Netplan Passthrough") för hur `cloud-init` kan integrera `netplan.io-konfigurationen` med alternativa datakällor.

### 5.4.1. Den moderna nätverkskonfigurationen för moln med DHCP

En DHCP-klientkonfiguration kan ställas in genom att skapa en datakällfil "`/etc/netplan/50-dhcp.yaml`":

    network:
      version: 2
      ethernets:
        all-en:
          match:
            name: "en*"
          dhcp4: true
          dhcp6: true

### 5.4.2. Den moderna nätverkskonfigurationen för moln med statisk IP

En statisk nätverkskonfiguration kan ställas in genom att skapa en datakällfil "`/etc/netplan/50-static.yaml`":

    network:
      version: 2
      ethernets:
        eth0:
          addresses:
            - 192.168.0.15/24
          routes:
            - to: default
              via: 192.168.0.1

### 5.4.3. Den moderna nätverkskonfigurationen för molnet med Network Manager

Konfigurationen av nätverksklienten med hjälp av Network Manager-infrastrukturen kan ställas in genom att skapa en datakällfil "`/etc/netplan/00-network-manager.yaml`":

    network:
      version: 2
      renderer: NetworkManager

## 5.5. Nätverkskonfiguration på låg nivå

För nätverkskonfiguration på låg nivå under Linux använder du iproute2-programmen`(ip(`8), ...) .

### 5.5.1. Iproute2 kommandon

Iproute2-kommandona erbjuder kompletta möjligheter till nätverkskonfiguration på låg nivå. Här är en översättningstabell från föråldrade net-tools-kommandon till de nya kommandona iproute2 etc.

Tabell 5.3. Översättningstabell från föråldrade `net-tools-kommandon` till nya `iproute2-kommandon`

föråldrade nätverktyg | ny iproute2 etc. | manipulation
--- | --- | ---
`ifconfig`(8) | `ip-adress` | protokolladress (IP eller IPv6) på en enhet
`rutt`(8) | `ip-väg` | post i routningstabell
`arp`(8) | `ip grann` | ARP- eller NDISC-cachepost
`ipmaddr` | `ip maddr` | multicast-adress
`iptunnel` | `ip-tunnel` | tunnel över IP
`nameif`(8) | `ifrename`(8) | namnge nätverksgränssnitt baserat på MAC-adresser
`mii-verktyg`(8) | `ethtool`(8) | Inställningar för Ethernet-enheter

Se `ip`(8) och Linux Advanced Routing & Traffic Control.

### 5.5.2. Säker nätverksdrift på låg nivå

Du kan använda nätverkskommandon på låg nivå som följer på ett säkert sätt eftersom de inte ändrar nätverkskonfigurationen.

Tabell 5.4. Lista över nätverkskommandon på låg nivå

kommando | beskrivning
--- | ---
`ip addr visa` | visa länk- och adressstatus för aktiva gränssnitt
`rutt -n` | visa alla routningstabeller i numeriska adresser
`ip route visa` | visa alla routningstabeller i numeriska adresser
`arp` | visa det aktuella innehållet i ARP-cachetabellerna
`ip grann` | visa det aktuella innehållet i ARP-cachetabellerna
`plog` | visa logg för ppp-daemon
`ping yahoo.com` | kontrollera Internetanslutningen till "`yahoo.com`"
`whois yahoo.com` | kontrollera vem som registrerade "`yahoo.com`" i domändatabasen
`traceroute yahoo.com` | spåra Internetanslutningen till "`yahoo.com`"
`tracepath yahoo.com` | spåra Internetanslutningen till "`yahoo.com`"
`mtr yahoo.com` | spåra Internetanslutningen till "`yahoo.com`" (upprepade gånger)
`dig [@dns-server.se] exempel.se [{a|mx|any}]` | kontrollera DNS-posterna för "`exempel.se`" med "`dns-server.com`" för en "`a"`-, "`mx`"- eller "`any"`-post
`iptables -L -n` | kontrollera paketfilter
`netstat -a` | hitta alla öppna portar
`netstat -l --inet` | hitta lyssningsportar
`netstat -ln --tcp` | hitta lyssnande TCP-portar (numerisk)
`dlint exempel.com` | kontrollera DNS-zoninformation för "`exempel.se`"

| Tips
En del av dessa nätverkskonfigurationsverktyg på låg nivå finns i "`/usr/sbin/`". Du kan behöva ange en fullständig kommandosökväg som "`/usr/sbin/ifconfig`" eller lägga till "`/usr/sbin`" i listan "`$PATH`" i din "`~/.bashrc`".

## 5.6. Optimering av nätverk

Generisk nätverksoptimering ligger utanför ramen för denna dokumentation. Jag tar endast upp ämnen som är relevanta för konsumentanslutningen.

Tabell 5.5. Lista över verktyg för nätverksoptimering

paket | popcon | storlek | beskrivning
--- | --- | --- | ---
`iftop` | V:6, I:88 | 93 | visa information om bandbreddsanvändning på ett nätverksgränssnitt
`iperf` | V:2, I:35 | 427 | Verktyg för mätning av bandbredd för Internetprotokoll
`ifstat` | V:0, I:5 | 52 | InterFace STATistics övervakning
`bmon` | V:1, I:20 | 141 | bärbar bandbreddsövervakare och hastighetsestimator
`ethstatus` | V:0, I:2 | 41 | skript som snabbt mäter nätverksenhetens genomströmning
`bing` | V:0, I:0 | 80 | empirisk stokastisk bandbreddstestare
`bwm-ng` | V:1, I:10 | 95 | liten och enkel konsolbaserad bandbreddsmonitor
`ethstats` | V:0, I:0 | 21 | konsolbaserad Ethernet-statistikmonitor
`ipfm` | V:0, I:0 | 78 | verktyg för analys av bandbredd

### 5.6.1. Hitta optimal MTU

NM ställer normalt in optimal Maximum Transmission Unit (MTU) automatiskt.

I vissa fall kanske du vill ställa in MTU manuellt efter att ha experimenterat med `ping`(8) med alternativet "`-M do`" för att skicka ett ICMP-paket med olika datapaketstorlekar. MTU är den maximala efterföljande datapaketstorleken utan IP-fragmentering plus 28 byte för IPv4 och plus 48 byte för IPv6. I följande exempel är MTU för en IPv4-anslutning 1460 och MTU för en IPv6-anslutning 1500.

    $ ping -4 -c 1 -s $((1500-28)) -M do www.debian.org
    PING  (149.20.4.15) 1472(1500) bytes of data.
    ping: local error: message too long, mtu=1460

    ---  ping statistics ---
    1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

    $ ping -4 -c 1 -s $((1460-28)) -M do www.debian.org
    PING  (130.89.148.77) 1432(1460) bytes of data.
    1440 bytes from klecker-misc.debian.org (130.89.148.77): icmp_seq=1 ttl=50 time=325 ms

    ---  ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 325.318/325.318/325.318/0.000 ms
    $ ping -6 -c 1 -s $((1500-48)) -M do www.debian.org
    PING www.debian.org(mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e)) 1452 data bytes
    1460 bytes from mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e): icmp_seq=1 ttl=47 time=191 ms

    --- www.debian.org ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 191.332/191.332/191.332/0.000 ms

Denna process är Path MTU (PMTU) discovery(RFC1191) och kommandot `tracepath`(8) kan automatisera detta.

Tabell 5.6. Grundläggande riktlinjer för det optimala MTU-värdet

nätverksmiljö | MTU | motivering
--- | --- | ---
Uppringd länk (IP: PPP) | 576 | standard
Ethernet-länk (IP: DHCP eller fast) | 1500 | standard och förval

Utöver dessa grundläggande riktlinjer bör du känna till följande.

- All användning av tunneleringmetoder (VPN etc.) kan minska optimal MTU ytterligare på grund av deras overhead.

- MTU-värdet bör inte överstiga det experimentellt fastställda PMTU-värdet.

- Ett större MTU-värde är i allmänhet bättre när andra begränsningar uppfylls.

Den maximala segmentstorleken (MSS) används som ett alternativt mått på paketstorleken. Förhållandet mellan MSS och MTU är följande.

- MSS = MTU - 40 för IPv4

- MSS = MTU - 60 för IPv6

| Notera
Den `iptables`(8)-baserade optimeringen (se Avsnitt 5.7, ”Netfilters infrastruktur”) kan klämma paketstorleken med MSS och är användbar för routern. Se "TCPMSS" `i iptables`(8).

### 5.6.2. WAN TCP-optimering

TCP-genomströmningen kan maximeras genom att justera TCP-buffertstorleksparametrarna som i"TCP tuning" för moderna WAN med hög bandbredd och hög latens. Hittills har de nuvarande standardinställningarna för Debian fungerat bra även för mitt LAN som är anslutet med den snabba 1G bps FTTP-tjänsten.

## 5.7. Netfilters infrastruktur

Netfilter tillhandahåller infrastruktur för stateful brandvägg och NAT (Network Address Translation) med Linux kernel-moduler (se Avsnitt 3.10, ”Initialisering av kärnmodulen”).

Tabell 5.7. Lista över brandväggsverktyg

paket | popcon | storlek | beskrivning
--- | --- | --- | ---
`nftables` | V:212, I:850 | 191 | administrationsverktyg för paketfiltrering och NAT(Netfilter)(efterföljare till {ip,ip6,arp,eb}tables)
`iptables` | V:353, I:629 | 2410 | administrationsverktyg för netfilter`(iptables`(8) för IPv4, `ip6tables`(8) för IPv6)
`arptables` | V:0, I:1 | 102 | administrationsverktyg för netfilter`(arptables`(8) för ARP)
`ebtables` | V:14, I:24 | 276 | administrationsverktyg för netfilter`(ebtables`(8) för Ethernet-bryggning)
`iptstate` | V:0, I:1 | 122 | kontinuerligt övervaka nätfiltrets tillstånd (liknande `top`(1))
`ufw` | V:73, I:99 | 859 | Uncomplicated Firewall (UFW) är ett program för hantering av en nätfilterbrandvägg
`gufw` | V:5, I:10 | 3663 | grafiskt användargränssnitt för Uncomplicated Firewall (UFW)
`firewalld` | V:16, I:24 | 2482 | firewalld är ett dynamiskt hanterat brandväggsprogram med stöd för nätverkszoner
`firewall-config` | V:0, I:3 | 1076 | grafiskt användargränssnitt för firewalld
`shorewall-init` | V:0, I:0 | 88 | Initialisering av Shoreline Firewall
`shorewall` | V:2, I:5 | 3090 | Shoreline Firewall, generator för konfigurationsfil för netfilter
`shorewall-lite` | V:0, I:0 | 71 | Shoreline Firewall, Netfilter konfigurationsfilgenerator (light-version)
`shorewall6` | V:0, I:1 | 1334 | Shoreline Firewall, generator för konfigurationsfilen netfilter (IPv6-version)
`shorewall6-lite` | V:0, I:0 | 71 | Shoreline Firewall, netfilter konfigurationsfilgenerator (IPv6, light-version)

Huvudprogrammet för användarutrymmet i netfilter är `iptables`(8). Du kan konfigurera netfilter manuellt interaktivt från shell, spara dess tillstånd med `iptables-save`(8) och återställa det via init-skript med `iptables-restore`(8) när systemet startas om.

Konfigurationshjälpskript som shorewall underlättar denna process.

Se dokumentationen på Netfilter Documentation (eller i "`/usr/share/doc/iptables/html/`").

- HOWTO om Linux-nätverkskoncept

- HOWTO om paketfiltrering i Linux 2.4

- Linux 2.4 NAT HOWTO

| Tips
Även om dessa skrevs för Linux 2.4, gäller både kommandot `iptables`(8) och kärnfunktionen netfilter för Linux 2.6 och 3.x-kärnserierna.

Kapitel 4. Autentisering och åtkomstkontroll |  | Kapitel 6. Nätverkstillämpningar