IP-Route dauerhaft einbinden

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Zusammen!

    Ich habe ein kleines Problem, bzw. weiß ich nicht wie ich einen Routingeintrag genau machen soll.

    Aber der Reihe nach:
    Ich habe den Raspberry mit OpenVPN bestückt und die Fitzbox dient lediglich noch als Router ohne DHCP.
    Mein Netzwerk sieht so aus:
    Fritzbox 192.168.2.1
    Raspberry: 192.168.2.2 (eth0)
    Raspberry: 192.168.2.3 (eth0:0)
    Raspberry: VPN-Tunnel (tun0)

    Beim Start wird die iptables mit diesem Start-Befehl geschrieben.

    Soweit so gut. Der gesamte Datenverkehr wird via VPN geleitet.
    Nun ist es so, dass ich via VPN (Fritzbox VPN) auf ein anderes Netzwerk zugreifen will, nämlich auf diverse IP-Adressen von 192.168.1.x
    Wenn ich via SUDO diese befehle einlese, dann funktioniert das auch:

    Code
    sudo route add -host 192.168.1.101 gw 192.168.2.1
    sudo route add -host 192.168.1.1 gw 192.168.2.1
    sudo route add -host 192.168.1.100 gw 192.168.2.1

    Leider ist es so, dass diese eben nach einem Neustart wieder weg sind.
    Wie muss der Eintrag in der /etc/iptables.up.rules nun aussehen, damit meine "Ausnahmen" über 192.168.2.1 (also die Fritzbox) geleitet werden.

    edit 28.07.2014 / 15:33
    Ach ja, meine /etc/network/interfaces sieht so aus.
    Hier kann man auch sehen wie die /etc/iptables.up.rules mitgeladen wird

    Danke schon mal für eure Hilfe!

    Gruß Michael861

    Einmal editiert, zuletzt von michael861 (28. Juli 2014 um 15:33)

  • Wieso zum Henker willst Du die Routen manuell setzen?
    Sag dem OpenVPN Server er soll dem Client sagen wo es lang geht.

    Der Server pushed die Routen z.B. hier mit:

    Code
    push "route 192.168.1.0 255.255.255.0 192.168.1.1 100"
    push "route-gateway 192.168.1.1"



    Ach so noch etwas. Die Routen setzt Du nicht im iptables Script/config.
    Das Script hat ein bestimmtes Format was iptables-save ausgibt und mit iptables-restore wieder eingespielt werden kann.
    ip route ..... oder sonstige Befehle würden iptables-restore einfach nur auf die Fresse fallen lassen.

    Routen manuell setzen machst Du wenn dann so wie Du das iptables-restore aufrufst bei eth0 in der /etc/network/interfaces.
    Dabei ist es nicht et sondern tap0 bzw. tun0 je nach Konfiguration vom openvpn.

    Wäre übrigens auch interessant gewesen was Du da benutzt. Konnte man jetzt nur anhand der iptables Rules sehen.
    Dabei sieht man tun0 wird gesetzt, das kannst Du aber nicht in der Interfaces Datei eintragen, weil Du dann ein tun1 bekommen würdest, da tun0 schon vorhanden wäre.

    Übrigens wenn Du in das andere Netz Routen willst, dann guck Dir lieber mal tap anstatt tun an.


  • Der Server pushed die Routen z.B. hier mit:

    Code
    push "route 192.168.1.0 255.255.255.0 192.168.1.1 100"
    push "route-gateway 192.168.1.1"

    Danke erst mal für deine Rückantwort, aber um ehrlich zu sein hab ich gar nichts davon verstanden.

    Ich habe alles reingeschrieben wo ich geglaubt habe was man braucht.
    Was meinst du mit "Was du da benutzt..."?

    Ich nutze ein Raspberry PI B, meintest du das?
    Oder meinst du welchen VPN-Anbieter ich nutze?
    Das wäre Hide.me.

    Bzgl. deiner beiden Code-Zeilen:
    Was bewirken diese?
    Mein Router (wo auch der VPN-Server am laufen ist) ist 192.168.2.1
    Und ich will nach 192.168.1.1 bzw. 1.100 oder 1.101

    Sorry, aber ich hab mir die Infos im Netz zusammen gesucht um mein "Problem" zu lösen.
    Wenn es eine bessere Lösung gibt, gerne. Ich weiß nur, dass es mit

    Code
    sudo route add -host 192.168.1.1 gw 192.168.2.1


    so funktioniert.

    Schönen Gruß
    Michael861


  • Die beiden Zeilen mit dem push "route....." kommen die die Konfiguration vom OpenVPN.

    Ok, meine /etc/openvpn/hideme.conf sieht derzeit so aus:

    Wenn ich es so mache wie du sagst, dann sollte es so aussehen:

    Jetzt noch eine Frage: ich gehe ja über den Gateway 192.168.2.1 auf das Netz von 192.168.1.0, also z.B. zu 192.168.1.100.
    Sollte dann die Zeile push "route...." nicht so aussehen:
    push "route-gateway 192.168.2.1"
    :danke_ATDE:

    edit:
    hab es sowohl mit
    push "route-gateway 192.168.1.1"
    als auch mit
    push "route-gateway 192.168.2.1"
    in der Config von Openvpn probiert, leider geht beides nicht.

    Gruß Michael861

    Einmal editiert, zuletzt von michael861 (28. Juli 2014 um 17:36)

  • Nein Du gehst nicht über die 192.168.2.1 sondern über das Gateway vom VPN.

    VPN Verbinden und mal die IP Config dann angucken auf beiden Seiten.
    ip a s dev tun0

    Beide Endpunkte sollten eine IP haben über die die Route gehen muss.

    Das push muss vom Server kommen.

    Was hast Du eigentlich auf beiden Seiten so stehen? Beide Netze haben eine Fritzbox oder haben auch beide Seiten einen PI stehen? Dann mach das alles direkt bei Dir mit OPnVPN und lass Hide.me weg.

  • Ich habe mal einen Anhang dazu gefügt.

    Es ist so, dass ich hier in einer Wohnung sitze und hier einen DSL/Kabel-Anschluss mit einer Fritzbox nutze.
    Hier habe ich die locale IP 192.168.2.x

    Meine Fritzbox ist mit "Bordmitteln" (also nix Freetz oder OpenVPN) mit der Fritzbox meiner Eltern verbunden.
    Diese haben 192.168.1.x

    Außerdem sind noch etwa 8 weitere "Haushalte" mit 192.168.1.x verbunden, und zwar nach dem gleichen Prinzip.

    Wir haben das gemacht, da das der "einfachste" gemeinsame Nenner war.
    Fast alle haben oder hatten schon eine Fritzbox.

    So, jetzt war es so, dass ich immer für gewisse Anonymisierungen den OpenVPN-Client von Hide.ME gestartet habe.
    Allerdings nicht so praktisch.

    Dann habe ich den Raspberry mal ein wenig aufgesetzt und habe dort OpenVPN zum laufen bekommen.
    DHCP-Server in der Fritzbox abgeschaltet und nun vergibt der Raspberry die IP-Adresse, wodurch der Raspberry zum Standardgateway geworden ist und den gesamten Traffic via HIDE.ME routet.

    Mit der Ausnahme der "Routen" zu 192.168.1.1 / 1.100 / 1.101 / ...

    Das ist eig. genau das was ich wollte und es funktioniert im Betrieb auch ganz gut.
    Nur sind die Routen:

    Code
    sudo route add -host 192.168.1.101 gw 192.168.2.1
    sudo route add -host 192.168.1.1 gw 192.168.2.1
    sudo route add -host 192.168.1.100 gw 192.168.2.1
    sudo route add -host 192.168.1.165 gw 192.168.2.1
    sudo route add -host 192.168.1.167 gw 192.168.2.1
    sudo route add -host 192.168.1.118 gw 192.168.2.1
    sudo route add -host 192.168.1.106 gw 192.168.2.1

    eben nach einem Neustart nicht mehr und müssen per SSH neu eingelesen werden.

    Ich verstehe, wenn jetzt das Argument kommt, AVM-VPN ist Käse...
    Nur ist es in meinem Fall die wohl kostengünstigste und einfachste Lösung, da eben schon sooo viele Haushalte damit verbunden sind.

    Gruß Michael861


  • eben nach einem Neustart nicht mehr und müssen per SSH neu eingelesen werden.


    Keine elegante Lösung, aber wenn es sein muss dann versuch mal die Routen, mit der "/etc/rc.local" oder mit einem Script im Verzeichnis "/etc/network/if-up.d" oder mit der "/etc/network/interfaces" zu konfigurieren.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • und was soll ich z.B. in die /etc/network/interfaces rein schreiben?
    Bisher sieht die so aus:

    Gruß Michael861


  • und was soll ich z.B. in die /etc/network/interfaces rein schreiben?


    Dein noch zu erstellendes Script, das die Routen konfiguriert.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • So, vielen Dank für eure Hilfestellungen!

    Ich habe jetzt erst mal die Zeilen in /etc/rc.local eingetragen.
    Das war vorerst mal am einfachsten.

    Aber ich geben euch recht, nicht die schönste Lösung.

    Ich werde mir das mit dem Script mal ansehen und ggf. anpassen, sollte das mit /etc/rc.local nicht funktionieren.

    Schönen Gruß
    Michael861


  • ..., sollte das mit /etc/rc.local nicht funktionieren.


    Mach einen reboot und schau dir die Ausgabe von:

    Code
    route -n


    an, dann siehst Du ob es funktioniert.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • ja, hab schon ein paar Reboot's gemacht und funktioniert auch.
    Gleich nach dem Reboot stehen alle meine "Routen" zu den IP-Adressen bei 192.168.1.x und ca. 30 Sekunden später steht auch der VPN-Tunnel zu Hide.ME

    Naja, wenn das Ergebnis stimmt, dann lasse ich es vorerst mal so.
    Mal sehen was uns da noch einfällt...

    Gruß Michael861

  • In die Interfaces, nach dem Muster :

    Code
    iface eth0 inet static
            address 172.27.77.254
            netmask 255.255.255.0
            up route add -net 172.16.0.0 netmask 255.255.0.0 gw 172.27.77.1
            up route add -net 172.27.0.0 netmask 255.255.0.0 gw 172.27.77.1
            up route add -net 192.168.10.0 netmask 255.255.255.0 gw 172.27.77.1

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (28. Juli 2014 um 20:35)

  • Hallo!

    Ok, die Lösung hier finde ich noch am "schönsten":

    Vielen Dank euch allen!

    Gruß Michael861

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!