Port Weiterleitung iptables

#0
19.09.2012, 07:06
...neu hier

Beiträge: 3
#1 Erstmal Hallo

folgende problematik

Debian Linux mit externer IP an eth0 62.157.94.10
interne Virtuelle ip an eth1 eth1.11 192.168.200.11 ( sollen später mehr werden )

Monitoring icinga
soll Server in Internen Netzen überwachen über das Internet überwachen ( NAT )
diese Nat Regeln werden in den jeweiligen Firewalls / Routern eingetragen
bei den Meisten check_...kann ich einen Port mit angeben z.b. check_esxi_harware -H [IP]:port
jedoch beim check_ipmi_sensors klappt das nicht

lösungsansatz

ich verwende eine virtuelle interne ip ( z.b. 192.168.200.11 geht an port udp 623 an eth1:11
spreche diese com check_ipmi_sensors an
und leite diese über die Firewall uml raus auf Ziel 217.91.20.179 port 10024 und von dort intern weitergeleitet

habe schon verschiedene Fprward.und Prerouting Postrouting varianten ausprobiert
es kommt nichts an,
was habe ich übersehen ??

Bitte um Unterstützung
anbei ifconfig und Iptables

MfG

ifconfig:
++++++++++++++++++++

eth0 Link encap:Ethernet Hardware Adresse 00:0c:29:8f:d8:0c
inet Adresse:62.157.94.10 Bcast:62.157.94.255 Maske:255.255.255.0
inet6-Adresse: fe80::20c:29ff:fe8f:d80c/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:23173894 errors:0 dropped:0 overruns:0 frame:0
TX packets:22371464 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:18015641396 (16.7 GiB) TX bytes:3404582436 (3.1 GiB)

eth1 Link encap:Ethernet Hardware Adresse 00:0c:29:8f:d8:16
inet Adresse:192.168.200.10 Bcast:192.168.200.255 Maske:255.255.255.0
inet6-Adresse: fe80::20c:29ff:fe8f:d816/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:2280 (2.2 KiB) TX bytes:468 (468.0 B)

eth1:11 Link encap:Ethernet Hardware Adresse 00:0c:29:8f:d8:16
inet Adresse:192.168.200.11 Bcast:192.168.200.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1

lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metrik:1
RX packets:166548 errors:0 dropped:0 overruns:0 frame:0
TX packets:166548 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:22067791 (21.0 MiB) TX bytes:22067791 (21.0 MiB)


Firewall regeln

# Generated by iptables-save v1.4.8 on Tue Sep 18 20:56:28 2012
*mangle
:pREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:pOSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Tue Sep 18 20:56:28 2012
# Generated by iptables-save v1.4.8 on Tue Sep 18 20:56:28 2012
*nat
:OUTPUT ACCEPT [0:0]
:pREROUTING ACCEPT [0:0]
:pOSTROUTING ACCEPT [0:0]
-A PREROUTING -p udp -m udp -d 192.168.200.11 --dport 623 -j DNAT --to-destination 217.91.20.179:10024
# post1
-A POSTROUTING -s 192.168.200.11 -d 217.91.20.179 -j MASQUERADE
COMMIT
# Completed on Tue Sep 18 20:56:28 2012
# Generated by iptables-save v1.4.8 on Tue Sep 18 20:56:28 2012
*filter
:FORWARD ACCEPT [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Accept traffic from internal interfaces
-A INPUT ! -i eth0 -j ACCEPT
# Accept traffic with the ACK flag set
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
# Allow incoming data that is part of a connection we established
-A INPUT -m state --state ESTABLISHED -j ACCEPT
# Allow data that is related to existing connections
-A INPUT -m state --state RELATED -j ACCEPT
# Accept responses to DNS queries
-A INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT
# Accept responses to our pings
-A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
# Accept notifications of unreachable hosts
-A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
# Accept notifications to reduce sending speed
-A INPUT -p icmp -m icmp --icmp-type source-quench -j ACCEPT
# Accept notifications of lost packets
-A INPUT -p icmp -m icmp --icmp-type time-exceeded -j ACCEPT
# Accept notifications of protocol problems
-A INPUT -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT
# Allow connections to our SSH server
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
# Allow connections to our IDENT server
-A INPUT -p tcp -m tcp --dport auth -j ACCEPT
# Respond to pings
-A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
# Protect our NFS server
-A INPUT -p tcp -m tcp --dport 2049:2050 -j DROP
# Protect our X11 display server
-A INPUT -p tcp -m tcp --dport 6000:6063 -j DROP
# Protect our X font server
-A INPUT -p tcp -m tcp --dport 7000:7010 -j DROP
# Allow connections to unprivileged ports
-A INPUT -p tcp -m tcp --dport 1024:65535 -j ACCEPT
COMMIT
# Completed on Tue Sep 18 20:56:28 2012
root@monitoring:/#
Seitenanfang Seitenende
19.09.2012, 10:50
Member
Avatar Xeper

Beiträge: 5291
#2 Also die MASQUERADE Regel ist da meiner Meinung nach falsch, was gibt's da zu "maskieren" -- nix.
Benutzt auch immer schön:

Code

iptables -F
iptables -X
?
Weil wenn sich da n Regeln überlappen kann das alleine schon für Misserfolg sorgen,
ich würde erstmal alle anderen Regeln rausschmeißen, default policies auf ACCEPT setzen und dann mich nur mit dem DNAT beschäftigen.
Denn diese Regel müßte eigentlich klappen, ich würde auch mal experimentell einfach was anderes als ipmi nutzen - zb. ssh (oder http) zum testen.

Wenn du das schon machst musst natürlich auch sorgen das forwarding in der kernel config aktiviert ist...
Edit:
Ach ja und natürlich bräuchtest du auch eine SNAT Regel sonst kann die Antwort ja nicht zurück kommen...
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Dieser Beitrag wurde am 19.09.2012 um 11:10 Uhr von Xeper editiert.
Seitenanfang Seitenende
19.09.2012, 17:57
...neu hier

Themenstarter

Beiträge: 3
#3 Danke für die Info

Das es mit dem Forward und Postrouting was zu tun hat war mir schon kler,
jedoch die genaue Syntax ist mir unklar

zuerst hab ich das Port Forwarding eingeschaltet

cat /proc/sys/net/ipv4/ip_forward
1

dann habe ich alle regeln deaktiviert ausser diese:

klappt aber immer noch nicht

welche Regeln theoretisch eingetragen werden kann mann ja nachlesen,
aber wie und in welcher reihen folge und in genau welcher syntax,
ist bei diesen vielen vorlieben bei den beispielen schwierig.

es wäre schön, wenn mir jemand sagen könnte wie die Syntax genau aussehen soll

# Generated by iptables-save v1.4.8 on Tue Sep 18 20:56:28 2012
*mangle
:pREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:pOSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Tue Sep 18 20:56:28 2012
# Generated by iptables-save v1.4.8 on Tue Sep 18 20:56:28 2012
*nat
:pREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:pOSTROUTING ACCEPT [0:0]
-A PREROUTING -p udp -d 192.168.200.11 --dport 623 -j DNAT --to-destination 217.91.20.179:10024
-A POSTROUTING -d 217.91.20.179 -j SNAT --to-source 62.157.94.10
COMMIT
*filter
:FORWARD ACCEPT [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
#-A FORWARD -p udp --dport 623 -j ACCEPT
#-A FORWARD -p udp --dport 10024 -j ACCEPT
# Accept traffic from internal interfaces
-A INPUT ! -i eth0 -j ACCEPT
# Accept traffic from eth0
-A INPUT -i eth0 -j ACCEPT
COMMIT
# Completed on Tue Sep 18 20:56:28 2012
Seitenanfang Seitenende
19.09.2012, 18:07
Member
Avatar Xeper

Beiträge: 5291
#4

Zitat

es wäre schön, wenn mir jemand sagen könnte wie die Syntax genau aussehen soll
Kenne ich zum Glück nicht aus dem Kopf weil ich mehr BSD Systeme für solche Dinge einsetze... aber das wirst du schon selbst rausbekommen frei nach RTFM. ;)

Zitat

-A PREROUTING -p udp -d 192.168.200.11 --dport 623 -j DNAT --to-destination 217.91.20.179:10024
-A POSTROUTING -d 217.91.20.179 -j SNAT --to-source 62.157.94.10
Nene also das ist so nicht richtig, also ich gehe mal davon aus du hast dir 192.168.200.0/24 als internen space ausgesucht.
Eingehend ist alles auf 217.91.20.179 (public ip/static ip ??)
Dann wäre das doch eher so:
-A PREROUTING -p udp -d 217.91.20.179 --dport 623 -j DNAT --to-destination 192.168.200.11:10024
-A POSTROUTING -s 192.168.200.11 -d 0/0 -j SNAT --to-source 217.91.20.179

Ob das mit PREROUTING/POSTROUTING richtig ist müßtest aber selbst nochmal nachschauen, dass ist sehr netfilter spezifisch.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
20.09.2012, 10:08
...neu hier

Themenstarter

Beiträge: 3
#5 hallo xeper

erstmal danke für die mühe

die von mit erstellte regel scheint so schon korrekt zu sein

habe gestern schon ( zum testen ) eine endian Firewall installiert
da ich die Regeln mit webinterface einstellen und in der console auslesen kann

die regel auf der endian funktioniert

ausserdem ist das Netz 192.168.200.0 nur ein dummy netzwerk für die weiterleitung
da ich nicht so viele externe ip adressen habe
der linux rechner hat eine eigenstängige IP Adresse im Internet 62.157.94.10 ( bzw endian 11 )

die nat regeln auf der endian sehen so aus ( andere ip 62.157.94.11 extern 192.168.200.211 intern )

kann die endian leider nicht bestehen lassen, muss es auf der debian hinbekommen

also was zum geier fehlt ?

------ endian anfang ----------

Chain PREROUTING (policy ACCEPT)
target prot opt source destination
CUSTOMPREROUTING all -- anywhere anywhere
PROXIES all -- anywhere anywhere
PORTFW all -- anywhere anywhere

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
CUSTOMPOSTROUTING all -- anywhere anywhere
OPENVPNCLIENT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere policy match dir out pol ipsec
SOURCENAT all -- anywhere anywhere
POSTPORTFW all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
PORTFW all -- anywhere anywhere

Chain CUSTOMPOSTROUTING (1 references)
target prot opt source destination

Chain CUSTOMPREROUTING (1 references)
target prot opt source destination

Chain OPENVPNCLIENT (1 references)
target prot opt source destination

Chain PORTFW (2 references)
target prot opt source destination
DNAT tcp -- anywhere 62.157.94.11 tcp dpt:10443 to:192.168.200.254:10443
DNAT udp -- anywhere 192.168.200.211 udp dpt:asf-rmcp to:217.91.20.179:10024

Chain POSTPORTFW (1 references)
target prot opt source destination

Chain PROXIES (1 references)
target prot opt source destination

Chain SOURCENAT (1 references)
target prot opt source destination
SNAT all -- anywhere anywhere to:62.157.94.11

----- endian ende ------

----- debian anfang ------

target prot opt source destination
DNAT udp -- anywhere 192.168.200.11 udp dpt:623 to:217.91.20.179:10024

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- anywhere anywhere to:62.157.94.10

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@monitoring:/etc#

----- debian ende -----

ausserdem habe ich gerade ber tcpdump festgestellt,
das der udp port 623 auf den lo adapter geschickt wird und nicht auf den eth1 oder eth1:11

route endian *******

192.168.200.0 * 255.255.255.0 U 0 0 0 br0
62.157.94.0 * 255.255.255.0 U 0 0 0 eth1
default gate10.etcconne 0.0.0.0 UG 0 0 0 eth1


route debian *******
192.168.200.0 * 255.255.255.0 U 0 0 0 eth1
localnet * 255.255.255.0 U 0 0 0 eth0
default gate10.etcconne 0.0.0.0 UG 0 0 0 eth0
Seitenanfang Seitenende
21.09.2012, 13:36
Member
Avatar Xeper

Beiträge: 5291
#6

Zitat

erstmal danke für die mühe

die von mit erstellte regel scheint so schon korrekt zu sein

habe gestern schon ( zum testen ) eine endian Firewall installiert
da ich die Regeln mit webinterface einstellen und in der console auslesen kann
Ja endian welches denn lil' oder big? *scnr*
Nein wirklich es gibt keine XY Firewall, die nutzen alle den Netfilter - ein und das selbe.
Ach UDP, ja wirklich?

Dann hast du es aber versäumt das auch bei deinen Regeln auf dem Debian anzugeben, ich denke mal per default wird doch eher TCP angenommen?!
Wenn du glaubst die lil'/big Endianess Firewall ist übermächtig kannst du ja versuchen einfach exakt die selben Regeln in Debian zu importieren, ich wette es wird dann auch funktionieren... ;)
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: