Netzwerk Frage

KingJoshii1000

Lieutenant
Registriert
Apr. 2010
Beiträge
879
Hallo,
ich habe folgendes vor, unzwar habe ich mir via VMware einen Debian Server virtualisiert.
Eth0 befindet sich im 192.168.178/24 Netz.
Nun möchte ich auf dem Server ein VPN Netzwerk mit OpenVPN aufbauen und ein neutrales IP Netz.
In diesem neutralen IP Netz befinden sich andere virtuelle Clients.
Zur besseren Verdeutlichung:
eth1(neutrales Netz) hat die IP 192.168.1/24.
tun0 hat 192.168.2/24.

Nun möchte ich das routing aber so konfiguieren, dass eth1 mit tun0 komplett kommunizieren darf, sprich die VPN Clients können auf bereitgestellten Diensten der Clients im neutralen Netz drauf zugreifen und andersrum.

Jedoch soll diese Konstellation vom lokalen Netz (192.168.178/24) teilweise abgeschirmt werden, also Clients des lokalen Netzes können auf das eth1 Netz zugreifen, diese jedoch nicht auf das eth0 Netz.

Wie realisiere ich das?

Habe schon das IPv4 Routing aktiviert
Code:
 echo 1 > /proc/sys/net/ipv4/ip_forward
jedoch dann können Clients aus eth0 und 1 gegenseitig kommunizieren.
Auch die Iptables Regel:
Code:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
bringt auch nicht die erhoffte Lösung.

Eigentlich ist das doch Vergleichbar mit einem Gateway Server im LAN. Dieser soll die internen Anfragen nach außen Weiterleiten, die Anfragen von Außen aber nicht ohne ensprechende Port Forward in das LAN lassen.

Mit freundlichen Grüßen
 
Du musst jetzt neben der NAT auch noch alle neuen eingehenden Verbindungen mit einem Drop oder Reject unterbinden, damit die NAT den von dir gewünschten Effekt bietet.
 
Hallo,
wie genau muss ich den Iptables Konfiguieren?
Habe schon etwas rumprobiert, jedoch hat es nicht geklappt. Entweder konnten beide sich noch anpingen oder niemand konnte pingen.

Mit freundlichen Grüßen :)
 
Code:
iptables -P FORWARD DROP
iptables -A FORWARD -i eth1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
So ungefähr sollte es gehen.
 
Hey,

habe dein Code mal eingegeben, jedoch können sich beide Clients immer noch anpingen :(.
Ist es den technisch überhaupt möglich einem Netz zugriff auf das Andere zu gewähren, aber nicht anders herum?

Mit freundlichen Grüßen
 
Klar geht das. Poste mal bitte dein ganzes IPtables Skript. Denke da fehlt wohl noch etwas...?
 
Hallo, dein Code hat bis eben wunderbar funktioniert :(. Habe den Server neu gestartet, und das Script (enthält nur deinen Code) gestartet. Nun können sich beide wieder nicht anpingen :(. Ich kann mit einem PC den Server auf seiner eth0 IP anpingen, jedoch nicht auf der eth1 und tun0 IP. Ein Client aus dem "neutralen Netz" jedoch schon. :/
Das is ne echt komplizierte Sache, ich vermute mal das funktioniert auch nur wenn es dazu gerade lust hat :D.

Mit freundlichen Grüßen
 
Wozu machst du auf eth1 Masquerading("NAT")? Sowas will man nur, wenns unbedingt sein muß. Einen Grund dafür finde ich in der Beschreibung nicht.
 
Hallo,
ja habe ich auch bemerkt und steht seit gestern nicht mehr im Script.
Kann aber trotzdem den Server unter der eth1 oder tun0 IP nicht anpingen, obwohl nichts in Iptables steht (Habe den Cronjob rausgenommen der das Script lädt)
 
Von wo aus? Die IPs deiner Ping-Ziele müssen auch in der Routigtabelle des pingenden Hosts irgendwie auftauchen (netstat -nr). Du lieferst keinerlei Infos ... da kann man nicht helfen. Du sagst nichtmal, mit welchem Fehlerverhalten Ping nix tut. Da gibts ja x Möglichkeiten.


Ich rate erstmal mit iptables nichts zu sperren und alles miteinander zum Reden zu bekommen (also das Routing in den Grifff zu bekommen), bevor du anfängst Zeug zu sperren, was vielleicht nie funktionierte.
 
Zuletzt bearbeitet:
Zurück
Oben