Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Openvpn a routy

Ahoj,
jdu si pro radu. Potřebuji zprovoznit OpenVPN server (síť `10.8.0.0/24`). Což se mi podařilo, ale nyní si hraju s tím, že bych potřeboval nastavit routování.
Mám 2 klienty z toho ten jeden je přímo router. Ten druhý je něčí PC, který se připojí a skrze VPN se potřebuje dostat na PC, které je v místní síti za routerem (`10.22.28.0/24`), který je připojený jako klient 1.

Co jsem pochopil, tak je potřeba přidat direktivu `client-to-client`, ale to mi nepomohlo. Co ještě je potřeba? OpenVpn server je v defaultu, jen jsem přidal ccd kvůli statickým IP pro klienty

Server mi běží na Debian11.

Díky mockrát

Předmět Autor Datum
Není lépe se zeptat na OpenVPN fóru?
Kyncl 27.03.2023 13:51
Kyncl
A ten OpenVPN server máš pod tvojí kontrolou? Hodilo by se sem pastnout jeho konfigurák, bez certifi…
cif 27.03.2023 16:47
cif
Ano, server je čistě v mé správě server.conf port 1194 proto udp6 dev tun user nobody group nogrou…
tomas.kulhanek 27.03.2023 17:04
tomas.kulhanek
Okay. Do server.conf si přidej řádku push "route 10.22.28.0 255.255.255.0" Do adresáře ccd doplň d…
cif 27.03.2023 17:16
cif
Zadám to tam a uvidíme. Klient 1 je klasický PC Klient 2 je router Potřeba je se dostat z Klient 1…
tomas.kulhanek 27.03.2023 17:18
tomas.kulhanek
V tom případě si tu direktivu iroute přidej do ccd konfiguráku klient 2.
cif 27.03.2023 17:21
cif
Jasně a v případě, že bych měl ještě klient 3, tak jemu omezím přístup pomocí ufw, že? Když nechci a…
tomas.kulhanek 27.03.2023 17:22
tomas.kulhanek
Ano, firewall (iptables nebo nftables) tohle řeší. Btw, nevadí ti, že přesměrováváš provoz klientů…
cif 27.03.2023 17:23
cif
No, k tomu jsem se ještě nedostal :D ALe jo, to mi vadí :D
tomas.kulhanek 27.03.2023 17:31
tomas.kulhanek
Z konfiguráku server.conf v tom případě odstraň direktivy push "redirect-gateway def1 bypass-dhcp"…
cif 27.03.2023 17:33
cif
A k tomu abych odebral podporu ipv6, tak odeberu tyhle řádky, že? proto udp6 server-ipv6 fd42:42:42…
tomas.kulhanek 27.03.2023 17:38
tomas.kulhanek
Upřímně bych to nedělal, protože to ničemu nevadí a máš aspoň základ do budoucna, až se rozhodneš IP…
cif 27.03.2023 17:43
cif
Když i přes to, mi datový tok jde skrze server, tak může to být i v konfiguraci klienta, že?
tomas.kulhanek 01.04.2023 19:59
tomas.kulhanek
Dneska jsem se dostal k testu teprve. Ping mi končí na IP routeru, dostanu se na 10.22.28.1, ale nap…
tomas.kulhanek 31.03.2023 21:29
tomas.kulhanek
Ten pc, na ktery se chces dostat to ma s firewalkem jak?
Jan Fiala 01.04.2023 05:48
Jan Fiala
Nyní jsem to zkoušel oproti své síti a nedostanu se na tiskárnu (192.168.1.160) ani na NAS (192.168.…
tomas.kulhanek 01.04.2023 10:43
tomas.kulhanek
no tak si přidej routu ručně a otestuj, ne? Mimochodem, proč jsi zvolil OVPN a ne WG? Pokud dnes im…
touchwood 01.04.2023 20:51
touchwood
Jenže jakou routu? Protože mne to směřuje správně na 10.8.0.50, jelikož ten nas je v síti, která je…
tomas.kulhanek 01.04.2023 20:54
tomas.kulhanek
Pokud pingáš všechny lokální iface routeru na druhé straně, pak je problém v routeru, pravděpodobně… poslední
touchwood 02.04.2023 08:31
touchwood

Ano, server je čistě v mé správě

server.conf

port 1194
proto udp6
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
server-ipv6 fd42:42:42:42::/112
tun-ipv6
push tun-ipv6
push "route-ipv6 2000::/3"
push "redirect-gateway ipv6"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server.crt
key server.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
verb 3
client-to-client
push "route 10.11.19.0 255.255.255.0"

client template

client
proto udp
explicit-exit-notify
remote xxxxxxxx 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server name
auth SHA256
auth-nocache
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3

Okay.
Do server.conf si přidej řádku

push "route 10.22.28.0 255.255.255.0"

Do adresáře ccd doplň do konfiguráku pro klient 1 volbu

iroute 10.22.28.0 255.255.255.0

tím specifikuješ, že za klient 1 je síť 10.22.28.0/24

Pak zrestartuj OpenVPN server, znovu navaž spojení z obou klientů a ověř si, jestli funguje komunikace. Příkaz tracert / traceroute ti případně ukáže cestu packetu a kde se ztratí. Ten router v roli klient 1 je co za stroj?

Upřímně bych to nedělal, protože to ničemu nevadí a máš aspoň základ do budoucna, až se rozhodneš IPv6 používat. Navíc klientům přiděluješ adresy z ULA - neveřejného rozsahu takže to ničemu nevadí dvojnásob, stejně se z těch adres nikam do IPv6 světa nedostanou.
Pokud se i přesto rozhodneš podporu pro IPv6 vyhodit, tak rozhodně ponech direktivu

proto udp6

protože bez ní se ti server nerozjede vůbec (a dle manuálu, který jsi jistě četl, pouze způsobuje to, že OpenVPN server naslouchá na IPv4 i IPv6 rozhraních)

Nyní jsem to zkoušel oproti své síti a nedostanu se na tiskárnu (192.168.1.160) ani na NAS (192.168.1.244). Tam firewall není. Ale na DreamMachine se dostanu. Takže úplně stejná situace

Co je ale zajímavý, tak mi příjde že se mi špatně nastaví routing table na klientovi

netstat -rn
Routing tables

Internet:
Destination Gateway Flags Netif Expire
default 172.20.10.1 UGScg en0
....
....
....
192.168.1 10.8.0.1 UGSc utun6

❯ traceroute 192.168.1.244
traceroute to 192.168.1.244 (192.168.1.244), 64 hops max, 52 byte packets
1 10.8.0.50 (10.8.0.50) 195.495 ms 147.689 ms 79.375 ms
2 * * *
3 *^C
❯ traceroute 192.168.1.1
traceroute to 192.168.1.1 (192.168.1.1), 64 hops max, 52 byte packets
1 192.168.1.1 (192.168.1.1) 228.505 ms 69.645 ms 96.101 ms

Pokud pingáš všechny lokální iface routeru na druhé straně, pak je problém v routeru, pravděpodobně firewall (forwarding pravidla) a/nebo routovací pravidla na routeru, popřípadě tvůj OVPN router není výchozím routerem pro klienty na které se snažíš dopingat (v takovém případě bys musel buď změnit výchozí bránu, nebo přidat statické routy, nebo pro směr z VPN použít NAT.)

edit: testovat můžeš i z druhé strany, tj. zkoušej pingat hostitele ve VPN...

Zpět do poradny Odpovědět na původní otázku Nahoru