SNAT-Problem..

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
tanita
Beiträge: 78
Registriert: 14.08.2003 13:45:27
Wohnort: Muc
Kontaktdaten:

SNAT-Problem..

Beitrag von tanita » 20.09.2005 12:28:03

Hallo,

versuche mein Problem noch mal zu schildern:

Ich möchte Anfragen aus Netz A nach Server B Port 5050 auf 192.168.11.180 snat-en. Da ich SNAT auf Server B brauche, müsste es in die PREROUTING-Regel.

Netz A = 172.16/12
Server B = 192.168.111.146:5050

Code: Alles auswählen

#/bin/sh
IPTABLES=`which iptables`
test -f $IPTABLES || exit 0

$IPTABLES -A PREROUTING -t nat -p tcp --dst 192.168.111.146 --dport 5050 -j SNAT --to-source 192.168.11.180
Beim Ausführen der Regel bekomme ich die Meldung:iptables: Invalid argument

Stimmt irgendwas an der Reihenfolge in der Regen nicht? Oder was ist sonst falsch?

geleadene ip_Module

Code: Alles auswählen

webf:~# lsmod |grep ip
ipt_MASQUERADE          3968  0
iptable_nat            22828  1 ipt_MASQUERADE
ip_conntrack           32908  2 ipt_MASQUERADE,iptable_nat
iptable_filter          3072  0
ip_tables              16896  3 ipt_MASQUERADE,iptable_nat,iptable_filter
ipv6                  229892  12
Danke,
Servus T.

Benutzeravatar
init.d
Beiträge: 238
Registriert: 23.03.2004 10:02:51
Wohnort: München

Beitrag von init.d » 20.09.2005 14:12:59

hi,

du musst ip_forwarding aktivieren sonst routet es garnichts:

echo "1"> /proc/sys/net/ipv4/ip_forward

bzw. das entsprechende modul laden.

grüsse,
init.d

tanita
Beiträge: 78
Registriert: 14.08.2003 13:45:27
Wohnort: Muc
Kontaktdaten:

Beitrag von tanita » 20.09.2005 14:33:24

hm.. wenn ich forward vorher aktiviere, scheint es aktiviert zu sein:

Code: Alles auswählen

webf:~# cat /proc/sys/net/ipv4/ip_forward
1
bekomme aber immer noch die Meldung:iptables: Invalid argument


Welches Modul wäre denn das Richtige? Habe unter Debian Sarge iptables 1.2.11-10 und Kernel 2.6.8-2-386 installiert..

Code: Alles auswählen

webf:~# ls /lib/modules/2.6.8-2-386/kernel/net/ipv4/netfilter/
arptable_filter.ko      ip_nat_irc.ko         ipt_conntrack.ko  ipt_mark.ko        ipt_REJECT.ko
arp_tables.ko           ip_nat_snmp_basic.ko  ipt_dscp.ko       ipt_MARK.ko        ipt_SAME.ko
arpt_mangle.ko          ip_nat_tftp.ko        ipt_DSCP.ko       ipt_MASQUERADE.ko  ipt_state.ko
ipchains.ko             ip_queue.ko           ipt_ecn.ko        ipt_multiport.ko   ipt_tcpmss.ko
ip_conntrack_amanda.ko  iptable_filter.ko     ipt_ECN.ko        ipt_NETMAP.ko      ipt_TCPMSS.ko
ip_conntrack_ftp.ko     iptable_mangle.ko     ipt_esp.ko        ipt_NOTRACK.ko     ipt_tos.ko
ip_conntrack_irc.ko     iptable_nat.ko        ipt_helper.ko     ipt_owner.ko       ipt_TOS.ko
ip_conntrack.ko         iptable_raw.ko        ipt_iprange.ko    ipt_physdev.ko     ipt_ttl.ko
ip_conntrack_tftp.ko    ip_tables.ko          ipt_length.ko     ipt_pkttype.ko     ipt_ULOG.ko
ipfwadm.ko              ipt_addrtype.ko       ipt_limit.ko      ipt_realm.ko
ip_nat_amanda.ko        ipt_ah.ko             ipt_LOG.ko        ipt_recent.ko
ip_nat_ftp.ko           ipt_CLASSIFY.ko       ipt_mac.ko        ipt_REDIRECT.ko
Danke,
Servus T.

tanita
Beiträge: 78
Registriert: 14.08.2003 13:45:27
Wohnort: Muc
Kontaktdaten:

Beitrag von tanita » 20.09.2005 14:57:33

Wenn ich anstelle von PREROUTING POSTOUTING einstelle, kommt keine Fehlermeldung, aber die Scr-IP wird überhaupt nicht genatet, sehe auch nichts im tcpdump auf dem vorgeschalteten Loadbalancer...

Geht SNAT nicht mit PREROUTING? Habs beim googlen aber schon gefunden.. Wieso werden die ausgehenden Pakete mit POSTROUTING nicht genatet?

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: SNAT-Problem..

Beitrag von herrchen » 20.09.2005 15:02:18

tanita hat geschrieben: Ich möchte Anfragen aus Netz A nach Server B Port 5050 auf 192.168.11.180 snat-en. Da ich SNAT auf Server B brauche, müsste es in die PREROUTING-Regel.
man iptables:
SNAT
This target is only valid in the nat table, in the POSTROUTING chain.
It specifies that the source address of the packet should be modified
(and all future packets in this connection will also be mangled),

beschreib' doch mal, was du vorhast (beispiel).

herrchen

tanita
Beiträge: 78
Registriert: 14.08.2003 13:45:27
Wohnort: Muc
Kontaktdaten:

Beitrag von tanita » 20.09.2005 16:06:53

Das mit dem Postrouting hab ich auch gelesen. Mein eigentlichens Problem stammt doch anders her. Es wird nicht nach der richtigen Src-IP geschaut, sondern nach der IP im HTTP-Header oder Protocoll geschaut.. D.h. ein SNAT würde hier nix bringen.. muss noch mal genau im tcpdump morgen schauen..

Aber unabhängig von meinem aktuellen Problem möchte ich wissen, was ich beim hiergenannten Naten falsch mache.. Poste das aber später..

Danke,
Servus T.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 20.09.2005 16:26:48

Naja, wenn in der Doku von iptables steht, dass das nur bei POSTROUTING geht, dann wirds schon so sein. Auch wenn google da vielleicht was anderes liefert. Wer sagt denn, dass die Hits von Google korrekt sind ;)

rall0r
Beiträge: 123
Registriert: 20.05.2005 09:33:48

Beitrag von rall0r » 20.09.2005 21:44:28

Hallo,

wie wäre es damit:

Code: Alles auswählen


iptables -t nat -A POSTROUTING -s 192.168.111.146 --sport 5050 -o ethX -j SNAT --to 192.168.11.180

Hab das nun nicht getestet aber versuchen kann man es ja mal :)

Gruß,
Ralf
apt-get moo
wer denkt sich soetwas aus? :)

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von herrchen » 21.09.2005 03:21:03

tanita hat geschrieben: Aber unabhängig von meinem aktuellen Problem möchte ich wissen, was ich beim hiergenannten Naten falsch mache.. .
hat denn der router überhaupt ein interface im netz von "192.168.11.180"?

herrchen

Antworten