Asi neobvyklá konfigurace VPN

Asi neobvyklá konfigurace VPN
« kdy: 26. 04. 2018, 12:19:24 »
Zdravím,
lokální síť A. Ta je skryta za neveřejnou IP a není rozumný způsob, jak to změnit.
Pak mám nezávislé přístroje (telefon, tablet apod.), které mají veřejné, ale dynamické adresy.
No a pak mám server s veřejnou statickou IP.

Potřebuji se pomocí zmíněných nezávislých přístrojů dostat do lokální sítě A. Varianta, kterou bych to chtěl vyřešit, je instalace VPN na server s tím, že lokální síť se na tuto VPN připojí automaticky.
Mobilní klienti po připojení na VPN na serveru připojí do lokální sítě A.

Věděl by někdo, jak na to?


Re:Asi neobvyklá konfigurace VPN
« Odpověď #1 kdy: 26. 04. 2018, 12:23:20 »
Za popsané situace je to řešitelné, ale volba technologie se odvíjí asi od 20 dalších otázek. Např. rychlost připojení, stabilita, očekávaná rychlost v rámci VPN, jestli do VPN půjde veškerý provoz, nebo se tam budou směrovat jen některé sítě, jaké OS budou na straně klientů, ... Z toho vyplyne typ tunel, jestli L2 neb L3 a jaká budou omezení.

Pepan

Re:Asi neobvyklá konfigurace VPN
« Odpověď #2 kdy: 26. 04. 2018, 13:24:57 »
Co zkusit třeba VPS s veřejnou IP adresou?

Síť A vytáčí VPN (IPSec) na VPS. Klienti se připojují VPN (OpenVPN, IPSec nebo co já vím) k VPS...

Sten

Re:Asi neobvyklá konfigurace VPN
« Odpověď #3 kdy: 26. 04. 2018, 13:49:20 »
Tinc. Server s veřejnou statickou adresou bude sloužit jen jako broker, komunikace ale půjde přímo. Vhodným nastavením směrování v client config (nebo použitím bridge módu) dostanou všichni klienti přístup do celé sítě A.

Re:Asi neobvyklá konfigurace VPN
« Odpověď #4 kdy: 26. 04. 2018, 23:31:44 »
Za popsané situace je to řešitelné, ale volba technologie se odvíjí asi od 20 dalších otázek. Např. rychlost připojení, stabilita, očekávaná rychlost v rámci VPN, jestli do VPN půjde veškerý provoz, nebo se tam budou směrovat jen některé sítě, jaké OS budou na straně klientů, ... Z toho vyplyne typ tunel, jestli L2 neb L3 a jaká budou omezení.
Klienti budou vesměs na iOS nebo Androidu, bylo by skvělé, kdyby to fungovalo bez dodatečné instalace, pouze nakonfigurováním.
Rychlost není podstatná, přenos dat nebude velký ani co do objemu, ani co do náročnosti na propustnost. Síť A by měla zůstat víceméně stejná. U mobilních klientů je to jedno, podstatné je, že po připojení k VPN uvidí na síť A a budou schopny komunikovat i s počítači v této síti.


Re:Asi neobvyklá konfigurace VPN
« Odpověď #5 kdy: 26. 04. 2018, 23:34:14 »
Co zkusit třeba VPS s veřejnou IP adresou?

Síť A vytáčí VPN (IPSec) na VPS. Klienti se připojují VPN (OpenVPN, IPSec nebo co já vím) k VPS...
Vzhledem k tomu, že mám k dispozici server s veřejnou statickou adresou, tak se bez VPS obejdu. V zásadě řeším to, jaký software zvolit a jak to nakonfigurovat.

Re:Asi neobvyklá konfigurace VPN
« Odpověď #6 kdy: 26. 04. 2018, 23:34:59 »
Tinc. Server s veřejnou statickou adresou bude sloužit jen jako broker, komunikace ale půjde přímo. Vhodným nastavením směrování v client config (nebo použitím bridge módu) dostanou všichni klienti přístup do celé sítě A.
To vypadá zajímavě, díky. Prověřím a kdyžtak se optám.

Pepan

Re:Asi neobvyklá konfigurace VPN
« Odpověď #7 kdy: 27. 04. 2018, 09:08:40 »
Co zkusit třeba VPS s veřejnou IP adresou?

Síť A vytáčí VPN (IPSec) na VPS. Klienti se připojují VPN (OpenVPN, IPSec nebo co já vím) k VPS...
Vzhledem k tomu, že mám k dispozici server s veřejnou statickou adresou, tak se bez VPS obejdu. V zásadě řeším to, jaký software zvolit a jak to nakonfigurovat.

Smarja, v tom VPS pointa nebyla. A ten zbytek byla odpověď na to, co řešíte. Nebo ne?

Tinc vypadá zajímavě, ale nějak mi uniká, jakou by pro Vás měl výhodu... Potřebujete mesh? Navíc jste psal, že preferujete řešení bez instalace dalšího software na klientech.
Windows, Android i IOS nativně podporují L2TP/IPSec.

Re:Asi neobvyklá konfigurace VPN
« Odpověď #8 kdy: 27. 04. 2018, 09:20:19 »
Omlouvám se, v tom případě jsem pointu nepochopil. To, že na serveru s veřejnou IP bude běžet VPN, ke které se síť A připojí, jsem psal už v úvodním popisu situace, takže mi nějak uniklo, v čem se mnou naznačené řešení liší od navrhovaného.
Vzhledem k tomu, že do sítí vyloženě nedělám, by pro mě měl Tinc výhodu relativně jednoduché konfigurace. Zkoušel jsem rozběhat L2TP/IPSec (S/WAN), ale bohužel bez úspěchu. Když se připojuju z iPhone, tak mi server vždy vyhodí chybu "no matching CHILD_SA config found" a dál jsem se nedostal.

Proto se ptám zde na rady, třeba to jde řešit jednodušeji. Ukazuje se, že ten Tinc cesta nebude.

Host

Re:Asi neobvyklá konfigurace VPN
« Odpověď #9 kdy: 27. 04. 2018, 10:19:32 »
OpenVPN má klienty pro iPhone i Droida, po nastavení správného routování by to mělo fungovat jak je požadováno.

Martin

Re:Asi neobvyklá konfigurace VPN
« Odpověď #10 kdy: 27. 04. 2018, 13:43:05 »
Taky používám OpenVPN na podobný účel. Doma veřejná IP. Port 1194 přesměrovaný na NAS, na kterém je server OpenVPN a připojuji se klienty z PC i mobuli bez problému.

Pepan

Re:Asi neobvyklá konfigurace VPN
« Odpověď #11 kdy: 27. 04. 2018, 16:01:45 »
Omlouvám se, v tom případě jsem pointu nepochopil. To, že na serveru s veřejnou IP bude běžet VPN, ke které se síť A připojí, jsem psal už v úvodním popisu situace, takže mi nějak uniklo, v čem se mnou naznačené řešení liší od navrhovaného.
Vzhledem k tomu, že do sítí vyloženě nedělám, by pro mě měl Tinc výhodu relativně jednoduché konfigurace. Zkoušel jsem rozběhat L2TP/IPSec (S/WAN), ale bohužel bez úspěchu. Když se připojuju z iPhone, tak mi server vždy vyhodí chybu "no matching CHILD_SA config found" a dál jsem se nedostal.

Proto se ptám zde na rady, třeba to jde řešit jednodušeji. Ukazuje se, že ten Tinc cesta nebude.

Tak já nevím...
Na triviální otázku triviální odpověď.
Myslel jsem, že Vám jde o nástin řešení a ne o zaslání kompletní konfigurace...

Nemyslím, že je konfigurace Tinc nějak zásadně jednodušší než třeba OpenSwan. Zběžně jsem si prošel dokumentaci Tinc a nezdála se mi moc dobrá (mohu se plést). Ale k IPSecu jistě najdete více příkladů, návodů, řešení problémů.

IPSec je standardní způsob jak propojit dvě sítě. OpenVPN používám jen tam, kde se mi IPSec neosvědčil (Mikrotik + LTE + špatný signál). Na připojení klientů můžete použít, co chcete. OpenVPN je fajn, jen je celkem "opruz" dostat na mobilní zařízení konfigurační soubory s certifikáty. VPN aplikace znám lepší, ale použitelné to je. Psal jste ALE, že preferujete řešení, které nevyžaduje dodatečný software na klientech. Proto jsem Vám navrhl L2TP/IPSec, který je nativně podporován skoro na všech OS.

Nebo Vám něco vadí na návrhu řešení, které je běžně používané, využívá standardní protokoly a najdete k němu milion návodů na internetu?

Re:Asi neobvyklá konfigurace VPN
« Odpověď #12 kdy: 27. 04. 2018, 17:55:05 »
Nechci působit arogantně, nečekal jsem, že na základě mírně specifického dotazu někdo vygeneruje konfiguraci, to samozřejmě ne.

Celou akci bych rozdělil na několik částí:
- vybrat vhodné řešení, které bude zvládat všechny požadavky (což dejme tomu IPSec je)
- nakonfigurovat VPN na serveru s veřejnou IP tak, aby se k němu dalo připojit mobilními klienty (iPhony, Androidi)
- nakonfigurovat router na lokální síti tak, aby se byl schopen připojit na VPN zmíněnou výše
- nakonfigurovat cosi (routování?), aby mobilní klienti viděli na lokální síť A a naopak

No a já jsem skončil hned u druhého bodu. Zadání: nakonfigurovat L2TP/IPSec v režimu PSK tak, aby se k ní šlo připojit připojit iPhonem. Jak jsem psal, ať použiju jakýkoliv návod, tak to nefunguje. S poslední kuchařkou, kterou jsem zkoušel, mi to vyhazovalo tu chybu "no matching CHILD_SA config found". Dostupné zdroje radí, že nejspíš bude problém v left a right identifikaci, ale tu mám přesně návodu, takže asi ne.

Nechci po nikom, aby mi tu ve volném čase dělal zadarmo support, ale pokud byste hodil jeden či dva odkazy z těch "milionů návodů", byl bych Vám vděčný.

vpn

Re:Asi neobvyklá konfigurace VPN
« Odpověď #13 kdy: 28. 04. 2018, 13:57:24 »
Zrovna jsem to nastavoval : docker hub martin/openvpn
Jel Linux i Win10(nezkousel jsem ted mobily, ale kdysi mi iOS do USA jel).
Kazdemu klientovi vygenerujete jeden ovpn soubor(certifikaty jsou v nem).

naseptavac

Re:Asi neobvyklá konfigurace VPN
« Odpověď #14 kdy: 29. 04. 2018, 15:19:14 »
Tady je fungujici konfigurace PSK L2TP/IPSEC (libreswan/centos7).
Stroj ma 2 sitova rozhrani - 192.168.172.5 je vnejsi a za druhym (192.168.15.5) je sit, kam se pristupuje (192.168.15.0/24) a odkud se taky berou adresy pro l2tp klienty i server.
Na firewallu jsou treba jen 2 UDP "vpichy" - porty 500 a 4500 zevne na 192.168.172.5
Pod windows za natem je treba nahrat nekam do registru nejakou hodnotu a restartovat.

========================================
https://libreswan.org/wiki/VPN_server_for_remote_clients_using_IKEv1_with_L2TP
========================================
yum install epel-release libreswan lsof ppp
yum install --enablerepo=epel xl2tpd
========================================
cp -p /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.original
cp -p /etc/ppp/options.xl2tpd /etc/ppp/options.xl2tpd.original
cp -p /etc/ipsec.conf /etc/ipsec.conf.original
vi /etc/xl2tpd/xl2tpd.conf
vi /etc/ppp/options.xl2tpd
vi /etc/ipsec.conf
vi /etc/ppp/chap-secrets
vi /etc/ipsec.d/l2tp-ipsec.conf
vi /etc/ipsec.d/l2tp-ipsec.secrets
vi /etc/sysctl.d/98-ipsec.conf
chmod 600 /etc/ipsec.d/l2tp-ipsec.conf
chmod 600 /etc/ipsec.d/l2tp-ipsec.secrets
chmod 600 /etc/ppp/chap-secrets
========================================
systemctl enable ipsec
###### kvuli povoleni xl2tpd jsem kdysi musel na chvili vypnout selinux ######
###### mozna by stacil relabel nebo restart, pokud uz to nefunguje samo ######
systemctl enable xl2tpd
========================================
systemctl start ipsec
systemctl start xl2tpd
========================================
ipsec verify
========================================
 cat /etc/sysctl.d/98-ipsec.conf
===
net.ipv4.ip_forward=1
#
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
#
net.ipv4.conf.default.arp_filter=1
net.ipv4.conf.all.arp_filter=1
#
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.send_redirects=0
#
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.accept_redirects=0
========================================
 cat /etc/xl2tpd/xl2tpd.conf
===
[global]
listen-addr = 192.168.172.5
ipsec saref = yes
force userspace = yes
debug tunnel = no

[lns default]
ip range = 192.168.15.16-192.168.15.32
local ip = 192.168.15.10
require chap = yes
refuse pap = yes
require authentication = yes
name = MYVPNSERVER
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
========================================
 cat /etc/ppp/options.xl2tpd
===
ipcp-accept-local
ipcp-accept-remote
noccp
auth
crtscts
# when having MTU issues, can be decreased to about 1200
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
========================================
cat /etc/ppp/chap-secrets
===
# Secrets for authentication using CHAP
# client    server     secret          IP addresses
user1       *          "password1"     10.10.64.2
user2       *          "password2"     10.10.64.3
user10      *          "secret10"      *
user47      *          "paparde11"     *
========================================
 cat /etc/ipsec.d/l2tp-ipsec.conf
===
conn l2tp-ipsec
        type=transport
        authby=secret
        ikev2=never
        auto=add

# Apple's and Microsoft's L2TP/IPsec clients do not enable PFS
        pfs=no

        rekey=no
        phase2=esp
        encapsulation=yes
        nat-keepalive=yes
        salifetime=3h
        ikelifetime=2h

        left=%defaultroute
        leftprotoport=17/1701

        right=%any
        rightprotoport=17/%any

# Apple iOS doesn't send delete notify so we need dead peer detection
# to detect vanishing clients
        dpddelay=10
        dpdtimeout=90
        dpdaction=clear
========================================
 cat /etc/ipsec.d/l2tp-ipsec.secrets
===
: PSK "strongrandomstring"
========================================
 diff /etc/ipsec.conf /etc/ipsec.conf.original
===
12,13d11
<       listen=192.168.172.5
<       uniqueids=no
46c44
<       virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10,%v4:!192.168.15.0/24
---
>       virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
========================================