PC als openVPN Server UND client

Neonstar21

Cadet 4th Year
Registriert
Dez. 2016
Beiträge
86
Moin,

Ich habe ein kleines Problem mit meinem openVPN Server. Ziel ist es mein Handy oder Laptop von überall als Client mit meinem Desktop PC Zuhause per VPN zu verbinden und beide Geräte miteinander kommunizieren zu lassen. Das ganze brauche ich für einen Test ob Steam Link mit hervorragender Internet Anbindung an beiden Seiten eventuell über VPN spielbar ist. Mir ist bewusst das die Latenz sehr hoch wird und es soll auch nur ein Experiment sein! Jedenfalls bin ich soweit dass ich mein Handy mittels einer TAP Bridge mit meinem PC(Server) verbinden hab. Ich kann vom PC aus das Handy anpingen, jedoch finde ich mit dem Handy keinerlei Geräte im selben Netzwerk. Gibt es irgendeine command line, die den Server auch kommunizieren lässt oder woran kann das liegen?

Danke schonmal!
 
Neonstar21 schrieb:
Gibt es irgendeine command line, die den Server auch kommunizieren lässt oder woran kann das liegen?
Kurze Antwort: An vielem.

Lange Antwort: Ohne Details (zB server.conf bzw. .ovpn / client.conf bzw. .ovpn) kann man nichts sagen. Dein Beitrag liest sich so als wenn du in die Autowerkstatt fährst und dem KFZ-Heini sagst "Auto kaputt, woran liegt es?"
Poste deine Konfigurationsdateien und dann kann man sehen ob ein offensichtlicher Fehler vorliegt.


Was den Threadtitel angeht: In deinem Text lese ich nichts was mit dem Threadtitel zu tun hat. Grundsätzlich kann man auf einem PC soviele OpenVPNs anlegen wie man lustig ist, als Server und als Client. Zum Vergleich: Auf meinem heimischen Server läuft 1x OpenVPN als Server und 3x als Client. In der Firma habe ich in meinem Labor 2x Server und 2x Client. Unter Windows musst du dazu einfach einen neuen TAP-Adapter erstellen, der sich dann als zusätzlicher virtueller Netzwerk-Adapter zeigt. Innerhalb der .ovpn/.conf musst du dann mittels dev-node angeben welchen Adapter OpenVPN für diese Konfiguration verwenden soll. Es empfiehlt sich daher, die Adapter nach Erstellung umzubenennen (zB VPNServer und VPNClient, o.ä.). In der jeweiligen Konfiguration dann entsprechend diesen Adapter angeben.
Unter Linux ist's einfacher, weil Linux die virtuellen Adapter implizit erstellt. D.h. man braucht im Prinzip nur mehrere Konfigurationsdateien, die man dann jeweils in einer OpenVPN-Instanz laufen lässt. Linux bastelt sich dann eigenständig tun0, tun1, etc...
 
Danke für die Antwort, habe jetzt einen weiteren Adapter erstellt und meinen PC als client mit dem server der auch auf meinem pc läuft verbunden (sinnvoll?). Jedoch können sich die beiden verbundenen Geräte immernoch nicht "sehen". Falls es hilft hier sind meine ovpn configs für server und client (keys gelöscht)
Code:
client
dev tap
proto udp
remote 91.15.xxx.xx 1194
resolv-retry infinite
nobind
persist-key
persist-tun

#up "/etc/openvpn/up.sh"
#down "etc/openvpn/down.sh"
script-security 2
route-nopull

comp-lzo
verb 3
mute 20

#ca ca.crt
<ca>

(KEY)
</ca>


#cert client.crt
<cert>


(KEY)
</cert>

#key client.key
<key>
(KEY)

</key>
Code:
port 1194


proto udp

dev tap
push "redirect-gateway def1"

#iptables -t nat -A POSTROUTING -s 192.168.178.41 -o br0 -j MASQUERADE (irgendwo gelesen das soll was bringen, jedoch nur Error)
#iptables -t nat -A POSTROUTING -s 192.168.178.81 -o br0 -j MASQUERADE

ifconfig-pool-persist ipp.txt

server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

client-to-client
keepalive 10 120
comp-lzo

# The maximum number of concurrently connected
# clients we want to allow.
;max-clients 100

persist-key
persist-tun

status openvpn-status.log
log         openvpn.log
verb 3
mute 20

#ca ca.crt
<ca>

</ca>

#cert server.crt
<cert>

</key>

#dh dh2048.pem
<dh>

</dh>
 
Der PC muss sich doch als Client nicht auch am eigenen Server verbinden.... So wie ich das sehe brauchst du nur 1x OpenVPN als Server auf dem PC. Portweiterleitungen im Router für den VPN-Port (Standard UDP 1194) und gut is.

Aus dem Stegreif stechen mir ein paar Einstellungen ins Auge (# = Kommentar):

Code:
server.conf:
#server-bridge ....  Für deine Zwecke ist dies nicht notwendig, daher auskommentieren
#und server-statement verwenden
server 10.8.0.0 255.255.255.0

topology subnet
# Standard-Einstellungen ist "net30". Das führt dazu, dass Server und Client stets
# in ein eigenes Subnetz gepackt werden. Das kann für den Laien verwirrend sein.
#"subnet" ist die offizielle Empfehlung

push "redirect-gateway def1"
# Dein Client macht allerdings "route-nopull" und ignoriert somit gepushte Routen vom Server.
# Wenn du das Gateway nicht ändern willst, dann kannst du den push-Befehl auch weglassen (und route-nopull)

Willst du vom VPN-Client auch in dein Heimnetzwerk, also auf Geräte hinter deinem VPN-Server? Dann muss der Server nämlich auch Routen und ggfs NATten, um das Heimnetzwerk zugreifbar zu machen. Wenn der VPN-Server ein Windows-PC ist, wird das sehr sehr mühsam................
 
Willst du vom VPN-Client auch in dein Heimnetzwerk, also auf Geräte hinter deinem VPN-Server? Dann muss der Server nämlich auch Routen und ggfs NATten, um das Heimnetzwerk zugreifbar zu machen. Wenn der VPN-Server ein Windows-PC ist, wird das sehr sehr mühsam................
Nein, zum Glück nicht :D Folgendes wird von Steam Link verlangt: beide Geräte müssen sich mit aktiver Internetverbindung im selben Netzwerk befinden. Der Client muss durch das Netzwerk auf den PC zugreifen können und somit überprüfen ob auf einem der Geräte im Netzwerk Steam läuft.

Wie gesagt konnte ich mich jetzt von außerhalb meines Heimnetzes verbinden, jedoch vom Client aus keine Geräte im Netzwerk feststellen.
Auch noch Strange ist, dass ich seit ich die serverconfig wie du gesagt hast von Serverbridge zu nur Server geändert habe ich mich von außerhalb gar nicht mehr verbinden kann... Ich bin ein wenig ratlos....
 
Du widersprichst dir selbst. Erst sagst du, dass du nicht via VPN in das Heimnetzwerk hinter dem VPN-Server willst, dann sagst du aber, dass im Netzwerk nach Steam gesucht werden soll. Ja was nu? Ich kenne mich mit Steam Link nicht wirklich aus und weiß daher nicht ob das nur auf TCP/IP basiert oder ob da noch andere Protokolle Verwendung finden. Wenn Steam zB Layer-2-Broadcasts o.ä. einsetzt, wird es über VPN sowieso schwierig. Evtl. findet sich hier im Forum ja jemand, der sich mit Steam via VPN auskennt.

Wie testest du die VPN-Verbindung überhaupt? Von innerhalb des Netzwerks oder wirklich von außerhalb? Am besten lädst du dir bei OpenVPN auf der Seite die Beispiel-Konfiguration runter und gehst davon aus.
Außerdem sind Fehlerbeschreibungen wir "geht gar nicht mehr" nicht wirklich belastbar. Fehlermeldungen, Logs, etc. sind belastbar, aber nichtssagende "geht nicht"-Kommentar sind wenig hilfreich ;)
 
Raijin schrieb:
Du widersprichst dir selbst. Erst sagst du, dass du nicht via VPN in das Heimnetzwerk hinter dem VPN-Server willst, dann sagst du aber, dass im Netzwerk nach Steam gesucht werden soll. Ja was nu? Ich kenne mich mit Steam Link nicht wirklich aus und weiß daher nicht ob das nur auf TCP/IP basiert oder ob da noch andere Protokolle Verwendung finden. Wenn Steam zB Layer-2-Broadcasts o.ä. einsetzt, wird es über VPN sowieso schwierig. Evtl. findet sich hier im Forum ja jemand, der sich mit Steam via VPN auskennt.

Wie testest du die VPN-Verbindung überhaupt? Von innerhalb des Netzwerks oder wirklich von außerhalb? Am besten lädst du dir bei OpenVPN auf der Seite die Beispiel-Konfiguration runter und gehst davon aus.
Außerdem sind Fehlerbeschreibungen wir "geht gar nicht mehr" nicht wirklich belastbar. Fehlermeldungen, Logs, etc. sind belastbar, aber nichtssagende "geht nicht"-Kommentar sind wenig hilfreich ;)
Okay okay .... Dann werde ich nochmal mit der Sample config neu anfangen, zu Steam Link ist mir bekannt dass es multicast benötigt und ich eine TAP Verbindung brauche ...

Und zu ich widerspreche mir: ich meine das so; ich muss vom vpn Client bsp. Handy im Netzwerk meinen PC finden können, jedoch NICHT andere Geräte im Heimnetz wie z.b. den Fernseher oder sonstiges, mich interessiert nur der PC der auch als Server dient
 
Hm.. Multicasts... Das habe ich via OpenVPN noch nie ausprobiert. Es kann gut sein, dass du dann in der Tat server-bridge benötigst, da bei server die Multicasts evtl. gar nicht geroutet werden.
 
Dann werde ich das Mal versuchen mit der Server Bridge zu machen ...
 
Zurück
Oben