Wie bereits schon angedeutet ist IP NAT (Internet Protocol Network Address Translation),
ein Mechanismus um IP Adressen (meist auch die entspr. Ports) zu übersetzen, also
umzuwandeln und weiterzuleiten. Dies ist bspw. notwendig wenn mehrere PC über ein Modem in
das Internet geleitet werden sollen.
PC 1 \ +++++ +~~~~~~~~~~+
Laptop =======| NAT |====| Internet |
PC 2 / +++++ +~~~~~~~~~~+
Die beiden PC und der Laptop haben private Adressen aus dem Block 192.168.1/24, der NAT
Rechner eine oder mehrere Netzwerkkarten die nach innen gehen und ebenfalls private
Adressen haben. Ein externes Interface (Modem/ISDN/DSL Karte) ist mit dem Internet
verbunden und hat die vom Provider zugewiesene offizielle IP Adresse.
Der NAT Rechner bekommt die Anfragen der internen PCs und übersetzt deren Pakete auf die
externe Schnittstelle, welche dann ins Internet gesendet werden. Die Antworten aus dem
Internet werden dann entsprechend rückübersetzt und geroutet.
NetBSD benötigt zum Adressmapping das Pseudodevice IPFilter, welches in den Kernel
einkompiliert sein muss. Dies wird mit der Option
pseudo-device ipfilter # IP filter (firewall) and NAT
im Konfigurationsfile festgelegt. Desweiteren ist IP Forwarding (noch ein Begriff für NAT)
notwendig, sollte nach der Eingabe von
# sysctl net.inet.ip.forwarding
net.inet.ip.forwarding = 1
geantwortet werden, ist GATEWAY im Kernel aktiviert. Standardmäßig ist dies in GENERIC
nicht der Fall, daher sollte man einen neuen Kernel kompilieren oder mit
# sysctl -w net.inet.ip.forwarding=1
IP NAT einschalten. Dieser Befehl kann übrigens in die /etc/rc.local eingefügt
werden, um beim Boot automatisch gesetzt zu werden. Trotzdem sollte man über einen
individuellen Kernel nachdenken, da meistens ältere Hardware eingesetzt wird und ein
verkleinerter Kernel Ressourcen schont (es sei nochmal darauf hingewiesen das NetBSD
komplett Crosscompilefähig ist, man kann den Kernel also auch auf einem anderen,
leistungsfähigeren Rechner bauen).