iptables - routing über IP Adresse

#0
26.11.2006, 09:07
...neu hier

Beiträge: 4
#1 Hy,

Ich habe ein Problem. Kurzbeschreibung:
Linux Debian sarge, OpenVPN Server in tap bridges Modus soll auf OpenVPN Client zugreifen (bestimmte ports). Folgendes der OpenVPN Client kommt ins Internet über firewall (bridge einseitig) -- iptables -m physdev ......
Der openvpn Server kommt auch ins internet. Der OpenVPN Client (defaultroute über OpenVPN Server als GW) kann auf den OpenVPN Server zugreifen (z. B. über SSH), aber nicht umgekehrt. Der OpenVPN Server kann nicht auf den Client zugreifen, Grund routing defaultroute über OpenVPN Server. Ich kann dies jedoch nicht ändern, stattdessen habe ich eine andere Lösung gefunden:
Netzwerkkonfiguration: br0 (mit fester öffentl. IP) <-- eth0 und tap0 gebridged
Ich habe ein zweite IP Adresse den tap0 interface zugewiesen (tap0:1) im privaten
netzbereich.
Mit dieser Adresse kann ich ein Ping setzten auf den Client (ping -I ....) oder auch ein telnet
über port 25 (telnet -s).
Jetzt möchte ich über Prerouting / Postrouting mit iptables verwirklichen:
Sobald von localhost (127.0.0.1 oder ip des öffentl.) an die Zieladresse auf den Port 25 oder
icmp gesendet wird, soll nur über diese Adresse (tap0:1) gesendet werden, nicht über das
Interface.
Ein Routing über die routing tabelle ist nicht möglich, das dies Interface gebunden ist, und es
würde ein bridge mehr funktionieren.

Es ist sehr wichtig, das der OpenVPN Client über die bridge direkt ins internet kommt, nicht über routing. Dagegen soll der OpenVPN Server auf den Client zugreifen können.

Wie kann ich es konfigurieren, über iptables, sobald von localhost an Ziel-IP gesendet wird, das er nur von einer IP Adresse sendet. Ist das überhaupt möglich?

Besten Dank!!
Viele Grüße


Markus
Seitenanfang Seitenende
26.11.2006, 11:32
Member
Avatar Xeper

Beiträge: 5291
#2

Zitat

Wie kann ich es konfigurieren, über iptables, sobald von localhost an Ziel-IP gesendet wird, das er nur von einer IP Adresse sendet. Ist das überhaupt möglich?
Ich kenn mich zwar nicht ganz genau aus mit bridging aber das hört sich für mich stark nach SNAT an.

Zitat

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), and
rules should cease being examined.
siehe: man iptables
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
26.11.2006, 12:01
...neu hier

Themenstarter

Beiträge: 4
#3 Hy,

Vielen Dank für deine Antwort.

Habe ich mir auch gedacht, nut funktionieren tut die nicht:

iptables -t nat -A POSTROUTING -s 127.0.0.1 -d 212.20.160.22 -j SNAT --to 192.168.11.1
iptables -t nat -A POSTROUTING -s 212.20.160.20 -d 212.20.160.22 -j SNAT --to 192.168.11.1

-s --> lo und br0
-d --> über tap0 der Zielrouter
--to --> lokale Schnittstelle

Warum geht dies nicht?
Seitenanfang Seitenende
26.11.2006, 12:08
Member
Avatar Xeper

Beiträge: 5291
#4 Versuch mal:

sysctl -w net.ipv4.ip_forward=1

Eventuell muss der kernel dafür forwarding enabled haben, außerdem musst du gucken das du entweder ne explizite FORWARD Regel in den tables hast oder gleich die FORWARD Policy auf ACCEPT hast.
__________
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: