Ero sivun ”NFTables” versioiden välillä

Siirry navigaatioon Siirry hakuun
3 173 merkkiä lisätty ,  4. kesäkuuta 2019
+esimerkki
Ei muokkausyhteenvetoa
(+esimerkki)
 
(2 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
'''NFTables''' (<code>nft</code>) korvaa vanhat <code>[[iptables]]</code> ([[IPv4]]), <code>[[ip6tables]]</code> ([[IPv6]]), <code>[[arptables]]</code> ([[ARP]]/RARP) ja <code>[[ebtables]]</code> (Silta) -palomuuriohjelmistot. NFTables nitoo kaikki vanhat ohjelmat yhden ohjelman alle. Joissain jakeluissa NFTables on asennettu jo vakiona ja joihinkin se pitää asentaa. Paketin nimi on yleensä <code>nft</code> tai <code>nftables</code>. NFTables kehitettiin mm. siksi, että vanhoja edellä mainittuja ohjelmia on paljon ja näin monen ohjelman ylläpito ja kehitys on hankalaa. NFTables tulee syrjäyttämään vanhat palomuuriohjelmat tulevaisuudessa.
'''NFTables''' (<code>nft</code>) korvaa vanhat <code>[[iptables]]</code> ([[IPv4]]), <code>[[ip6tables]]</code> ([[IPv6]]), <code>[[arptables]]</code> ([[ARP]]/RARP) ja <code>[[ebtables]]</code> ([[Bridge|Silta]]) -palomuuriohjelmistot. NFTables nitoo kaikki vanhat ohjelmat yhden ohjelman alle. Joissain jakeluissa NFTables on asennettu jo vakiona ja joihinkin se pitää asentaa. Paketin nimi on yleensä <code>nft</code> tai <code>nftables</code>. NFTables kehitettiin mm. siksi, että vanhoja edellä mainittuja ohjelmia on paljon ja näin monen ohjelman ylläpito ja kehitys on hankalaa. NFTables tulee syrjäyttämään vanhat palomuuriohjelmat tulevaisuudessa.


== Joitain ominaisuuksia ==
== Joitain ominaisuuksia ==
Rivi 8: Rivi 8:
* [https://wiki.nftables.org/wiki-nftables/index.php/Scripting Skriptituki]
* [https://wiki.nftables.org/wiki-nftables/index.php/Scripting Skriptituki]
** Muuttujatuki
** Muuttujatuki
*** <code>define ntp_servers = { 127.0.0.1, 192.168.0.1 }</code>
*** [[NTP]]-aikapalvelimet: <code>define ntp_servers = { 127.0.0.1, 192.168.0.1 }</code>
*** <code>define google_dns = 8.8.8.8</code>
*** [[DNS]]-nimipalvelin: <code>define google_dns = 8.8.8.8</code>
** Tiedostojen liittäminen
** Tiedostojen liittäminen skriptitiedostoihin:
*** <code>include "variables.ruleset"</code>
*** <code>include "variables.ruleset"</code>
*** <code>include "lan-rules.ruleset"</code>
*** <code>include "lan-rules.ruleset"</code>
*** <code>include "wan-rules.ruleset"</code>
*** <code>include "wan-rules.ruleset"</code>
* Reaaliaikainen palomuurisääntöjen muutosten seuranta (<code>nft monitor</code>)
** Mahdollistaa esimerkiksi skriptin teon, joka ottaa automaattiset varmuuskopiot [[git]]-versionhallinnan avulla sekä kirjoittaa tiedon milloin muutos tehtiin
*** Tämä taas mahdollistaa helpon palomuurisääntöjen historiaseurannan ja muutoksen peruutuksen
* [[JSON]]- ja [[XML]]-tuki
** Helpottaa sääntöjen kirjoittamista ja luettavuutta ohjelmistoilla
** Esimerkiksi sääntöjen listauksesta luettavassa JSON-muodossa: <code>nft export json | jq</code>
* Yhdistetty IPv4 ja IPv6 sääntö <code>inet</code>-nimen alle, mutta myös <code>ip</code> ja <code>ip6</code> ovat käytettävissä erikseen
== Esimerkki ==
<code>/etc/nftables.conf</code>
<pre>
# Käytetään inet-taulua, joka mätsää ipv4- sekä ipv6-liikenteen
table inet filter {
    chain INPUT {
        # Pudota kaikki paketit vakiona
        type filter hook input priority 0; policy drop;
        # Salli ping (ICMP)
        icmp type echo-request counter packets 0 bytes 0 accept
        icmp type echo-reply counter packets 0 bytes 0 accept
        # Salli DHCP
        udp sport 67-68 udp dport 67-68 counter packets 0 bytes 0 accept
        # Salli DNS
        udp dport 53 counter packets 0 bytes 0 accept
        udp sport 53 counter packets 0 bytes 0 accept
        # Salli LAN <-> LAN -liikenne
        ip saddr 10.0.0.0/8 ip daddr 10.0.0.0/8 counter packets 0 bytes 0 accept
        ip saddr 172.16.0.0/12 ip daddr 172.16.0.0/12 counter packets 0 bytes 0 accept
        ip saddr 192.168.0.0/16 ip daddr 192.168.0.0/16 counter packets 0 bytes 0 accept
        ct state established,related counter packets 0 bytes 0 accept
        # Salli loopback interface 127.0.0.1 lo
        iifname "lo" counter packets 0 bytes 0 accept
    }
    chain OUTPUT {
        # Pudota kaikki paketit vakiona
        type filter hook output priority 0; policy drop;
        # Salli ping
        icmp type echo-request counter packets 0 bytes 0 accept
        icmp type echo-reply counter packets 0 bytes 0 accept
        # Salli DHCP
        udp sport 67-68 udp dport 67-68 counter packets 0 bytes 0 accept
        # Allow DNS
        udp dport 53 counter packets 0 bytes 0 accept
        udp sport 53 counter packets 0 bytes 0 accept
        # Salli LAN <-> LAN
        ip saddr 10.0.0.0/8 ip daddr 10.0.0.0/8 counter packets 0 bytes 0 accept
        ip saddr 172.16.0.0/12 ip daddr 172.16.0.0/12 counter packets 0 bytes 0 accept
        ip saddr 192.168.0.0/16 ip daddr 192.168.0.0/16 counter packets 0 bytes 0 accept
        # Allow loopback interface 127.0.0.1
        oifname "lo" counter packets 0 bytes 0 accept
        ct state new counter packets 0 bytes 0 accept
        ct state related,established counter packets 0 bytes 0 accept
    }
    chain FORWARD {
        # Pudota kaikki paketit vakiona
        type filter hook forward priority 0; policy drop;
    }
}
</pre>


== Muuta ==
== Muuta ==
NFTablesiin on tehty apuohjelmia ja skriptejä, joilla voit käyttää NFTablesia kuten käyttäisit iptablesia, mutta apuohjelma muuttaa iptables-säännöt NFTables-yhteensopiviksi. Esimerkiksi Ubuntussa paketin nimi on <code>iptables-nftables-compat</code>.
NFTablesiin on tehty apuohjelmia ja skriptejä, joilla voit käyttää NFTablesia kuten käyttäisit [[iptables]]ia, mutta apuohjelma muuttaa iptables-säännöt NFTables-yhteensopiviksi. Esimerkiksi [[Ubuntu]]ssa paketin nimi on <code>iptables-nftables-compat</code>.


== Aiheesta muualla ==
== Aiheesta muualla ==
Rivi 23: Rivi 98:
* Arch Linuxin wiki: https://wiki.archlinux.org/index.php/nftables
* Arch Linuxin wiki: https://wiki.archlinux.org/index.php/nftables
* Gentoon wiki: https://wiki.gentoo.org/wiki/Nftables
* Gentoon wiki: https://wiki.gentoo.org/wiki/Nftables
[[Luokka:Järjestelmä]]
[[Luokka:Verkko]]
[[Luokka:Tietoturva]]
[[Luokka:Ylläpitotyökalut]]
[[Luokka:Komentorivin perustyökalut]]
76

muokkausta

Navigointivalikko