Nftables Masquerade: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Linkai.zhang (Diskussion | Beiträge)
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Nftables]]
[[Kategorie:Nftables]]
[[Kategorie:Linux]]
[[Kategorie:Linux]]
= Einfache Routing Firewall =
= Routing Firewall =
 
* Eine einfache Firewall, die Pakete aus dem LAN ins WAN weiterleitet
* Eine einfache Firewall, die Pakete aus dem LAN ins WAN weiterleitet
* Pakete aus dem WAN von etablierten Verbindungen sollen ins LAN geleitet werden
* Pakete aus dem WAN von etablierten Verbindungen sollen ins LAN geleitet werden
Zeile 8: Zeile 7:
== Routing aktivieren ==
== Routing aktivieren ==


* '''sysctl -w net.ipv4.ip_forward = 1'''
* '''sysctl -w net.ipv4.ip_forward=1'''
* falls das rebootfähig sein soll, muss die Datei ''/etc/sysctl.conf'' bearbeitet werden
* falls das rebootfähig sein soll, muss die Datei ''/etc/sysctl.conf'' bearbeitet werden
* '''vim ''/etc/sysctl.conf'' '''
* '''vim ''/etc/sysctl.conf'' '''
Zeile 19: Zeile 18:


== Einfaches NAT ==
== Einfaches NAT ==
* Quell IP Adressen aus dem LAN sollen auf die WAN IP geändert werden
* Quell IP Adressen aus dem LAN sollen auf die WAN IP geändert werden
* Am einfachsten ist dafür das "Masquerading"
* Am einfachsten ist dafür das "Masquerading";
* Sowohl dynamische als auch statische WAN IPs können damit Zugriff auf das Internet gewähren
* Sowohl dynamische als auch statische WAN IPs können damit Zugriff auf das Internet gewähren
* Wenn sicher eine statische IP hat, ist SNAT ein wenig schneller
* '''vim ''/etc/nftables.conf'' '''
* '''vim /etc/nftables.conf'''
<pre>
#!/usr/sbin/nft -f
flush ruleset
 
table inet nat {
    chain postrouting {
        type nat hook postrouting priority 100; policy accept;
        oif "name_des_wan_interfaces" masquerade
    }
}
</pre>
 
 
'''Merksatz'''
 
*DNAT '''früh''', weil das Ziel schon geändert sein muss, bevor geroutet wird.
*SNAT '''spät''', weil erst klar sein muss, '''welches Interface''' das Paket verlässt.


flush ruleset
;Enablen
...
* '''systemctl enable --now nftables'''
table ip nat {
    chain prerouting {
        type nat hook prerouting priority 0; policy accept;
    }
    chain postrouting {
        type nat hook postrouting priority 100; policy accept;
        oif ''"name_des_wan_interfaces"'' masquerade
    }
}


= Links =
= Links =
* https://wiki.gentoo.org/wiki/Nftables/Examples
* https://wiki.gentoo.org/wiki/Nftables/Examples

Aktuelle Version vom 15. April 2025, 04:45 Uhr

Routing Firewall

  • Eine einfache Firewall, die Pakete aus dem LAN ins WAN weiterleitet
  • Pakete aus dem WAN von etablierten Verbindungen sollen ins LAN geleitet werden

Routing aktivieren

  • sysctl -w net.ipv4.ip_forward=1
  • falls das rebootfähig sein soll, muss die Datei /etc/sysctl.conf bearbeitet werden
  • vim /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
...
  • sysctl -p

Einfaches NAT

  • Quell IP Adressen aus dem LAN sollen auf die WAN IP geändert werden
  • Am einfachsten ist dafür das "Masquerading";
  • Sowohl dynamische als auch statische WAN IPs können damit Zugriff auf das Internet gewähren
  • vim /etc/nftables.conf
#!/usr/sbin/nft -f
flush ruleset

table inet nat {
    chain postrouting {
        type nat hook postrouting priority 100; policy accept;
        oif "name_des_wan_interfaces" masquerade
    }
}


Merksatz

  • DNAT früh, weil das Ziel schon geändert sein muss, bevor geroutet wird.
  • SNAT spät, weil erst klar sein muss, welches Interface das Paket verlässt.
Enablen
  • systemctl enable --now nftables

Links