Oddělení VPN provozu od zbytku připojení

Ferda

Oddělení VPN provozu od zbytku připojení
« kdy: 11. 11. 2017, 07:22:17 »
Netuším, jak bych měl oddělit VPN provoz od zbytku připojení? Když spustím OpenVPN klienta, tak mi přesměruje veškerý provoz přes něj a to nechci. Chtěl bych přes VPN provozovat pouze aplikaci pro torrenty a netuším jak na to, když je vše spouštěno na localhostu. Nevím jak označit některé packety nebo provoz přes určitý port (ten se často mění), u kterých bych to přesměrování přes VPN vyžadoval. Zatím to řeším přes virtuální PC, na kterém je spuštěný OpenVPN klient.
Předem děkuji za podrobnější pomoc.


Re:Oddělení VPN provozu od zbytku připojení
« Odpověď #1 kdy: 11. 11. 2017, 07:47:32 »
Netuším, jak bych měl oddělit VPN provoz od zbytku připojení? Když spustím OpenVPN klienta, tak mi přesměruje veškerý provoz přes něj a to nechci. Chtěl bych přes VPN provozovat pouze aplikaci pro torrenty a netuším jak na to, když je vše spouštěno na localhostu. Nevím jak označit některé packety nebo provoz přes určitý port (ten se často mění), u kterých bych to přesměrování přes VPN vyžadoval. Zatím to řeším přes virtuální PC, na kterém je spuštěný OpenVPN klient.
Předem děkuji za podrobnější pomoc.

Pokud je to podle protokolu, portu, či dokonce aplikace, tak v zásadě nemáte jiné řešení, než to, co popisujete. Možná by to ještě šlo na FreeBSD vyřešit tím, že byste nastavil net.add_addr_allfibs=0, OpenVPN hodil do odděleného VRF, a aplikaci spouštěl přes setfib. Pak by ta jedna aplikace používala úplně jinou routovací tabulku.

V Linuxu či Windows neznám jinou alternativu, než virtualizaci, jak píšete.

RDa

  • *****
  • 3 018
    • Zobrazit profil
    • E-mail

Re:Oddělení VPN provozu od zbytku připojení
« Odpověď #3 kdy: 11. 11. 2017, 10:37:04 »
Na linuxu to jde taky, pres iptables: https://serverfault.com/questions/345111/iptables-target-to-route-packet-to-specific-interface

Pravda, ale to už je dost složité oproti tomu, když se dá nastavit celému procesu jiná routovací tabulka, musíte to dělat přes match owner, nevím, jestli je ještě nějaký match na PID?

Maros

Re:Oddělení VPN provozu od zbytku připojení
« Odpověď #4 kdy: 11. 11. 2017, 11:42:17 »
Google: split brain tunneling.


Jose D

  • *****
  • 912
    • Zobrazit profil
Re:Oddělení VPN provozu od zbytku připojení
« Odpověď #5 kdy: 11. 11. 2017, 12:45:37 »
.. spustím OpenVPN klienta, tak mi přesměruje veškerý provoz přes něj a to nechci. Chtěl bych přes VPN provozovat pouze aplikaci pro torrenty

Měl jsem na pokusy rozjetý routování podle usera který běží proces. Funguje to, ale.. ..tvoje aplikace bude dělat nějaký DNS requesty.. koho se bude ptát? Pokud to není nějak zvlášť ošetřeno, zeptá se OS. OS se pak zeptá po normální lince. Je tohle to co chceš? Spíš ne.

Vzhledem k charakteru aplikace se chceš vyhnout kompromitaci hlavní linky, a to s poměrně vysokou prioritou, haha. Takže bych aplikaci zavřel do VM, aby pokud aplikace uteče, tak aby nemohla udělat nic nebezpečného, a VPN vytáčel někde jinde, na další VM, nebo na routeru, a ještě bych si dal záležet, aby spadnutá VPN vedla na link down, a ne na dostupnost normálního Internetu, nebo do tvojí domácí LAN.

Ferda

Re:Oddělení VPN provozu od zbytku připojení
« Odpověď #6 kdy: 11. 11. 2017, 16:07:20 »
Všem děkuji za příspěvky. Např. to spadnutí VPN linky a přeskok na hlavní linku mě ani nenapadnul, tu bych opravdu kompromitovat nechtěl, i když chvilkově by to nevadilo. V tom virtulním stroji mám kromě OpenVPN klienta, spuštěný i qbittorrent, kde při výpadku VPN linky to nekomunikuje vůbec, což si časem všimnu, ale stává se to mimořádně (to by šlo řešit nějakým skriptem). Ten qbittorrent ovládám přes webové rozhraní a pro soubory využívám sambu, která mi už na serveru běží. Akorát pro aktivní port spouštím skript, který mi také přepíše konfiguraci qbittorrentu, který následně restartuji (jako démona). Vím, že tohle není košér, ale podstupuji to.
Díval jsem se po návodech, které by řešily dvě "default gateway", tím pádem dvě routovací tabulky, ale nevěděl, jak přes ně konkrétně směrovat provoz. To by ale nesměl ten ovpn klient veškerý provoz přesměrovat, ale na to byly nějaké příkazy do konfigurace (asi --route-noexec).
Nakonec to nechám tak, jak to mám.