linux-l: NAT Experte gesucht...

Karl-Heinz Haag kh at lux.in-berlin.de
So Mär 4 15:02:30 CET 2001


Quoting Schreiber Frank (Frank.Schreiber at lr-online.de):
> 
> Das klappt leider nicht!
> iptables -t nat -A POSTROUTING -s 192.168.1.11/32 -o eth1 \
> -j SNAT --to 1.2.3.4/32
'Klappt nicht' ist so auskunftsreich wie 'mein Auto fährt nicht'

So aus dem Zusammenhang gerissen ist dazu nicht viel zu sagen. 
Deshalb zunächst ein paar basics. 

1. Ein script übernehmen *ohne* zu verstehen -->bullshit 
   (das gilt auch fuer evtl. 'mitgelieferte' Suse-scripts)
   Also: selbst schreiben siegt. 

2. Wenn Du ein produktives Netz administrierst, ist immer angesagt, das
   firewall-script in einer Testumgebung auf Herz und Nieren zu checken. 
   Es sei denn, Du wärest bereits vorher _der_ firewall-Fachmann.

3. Voraussetzung für NAT (+FORWARDing) ist 
   a) ein forwarding- und nat-fähiger Kernel 
   b) wenn iptables-*Module* im Spiel sind, sollte *vor* der Aktivierung
      von Regeln Sorge getragen werden, daß die erforderlichen Module auch 
      geladen  werden. (per Hand oder script) 
      Hier kann man sich nicht auf autoloading von Kernel-Modulen verlassen!
   c) folgende Anweisung an den laufenden Kernel hat vorher ausgeführt
      worden zu sein: 
      		     echo "1" >/proc/sys/net/ipv4/ip_forward
      Am einfachsten machst Du das wieder in dem von Dir zu schreibenden
      script.
4. Das letzte basic hier:
   "iptables -t nat -A POSTROUTING ...." kann nur dann gehen und setzt
   voraus, daß Du *davor* eine Regel setzt, die das folgende
   POSTROUTING ACCEPT'ed. 
   (da anzunehmen ist, daß die policy bei Dir 'DROP' heißt)

Wenn diese Voraussetzungen erfüllt sind, und immer es noch 'nicht klappt',
mußt Du Debuggen. 
Das macht sich am besten, indem Du jede in Frage kommende Regel mit
einer logging-rule einleitest und /var/log/messages auswertest. 
Im gleichen eth-Strang kannst Du zusätzlich tcpdump die interessierenden 
Pakete loggen lassen.

Lesen der einschlägigen HOWTO's (hier: Netfilter-HOWTO + NAT-HOWTO) ist
latürnich nicht ganz falsch... 

Gruß + Erfolg
Karl-Heinz




Mehr Informationen über die Mailingliste linux-l