Üdv!
Elakadtam a fentiekben és hozzá (jobban) értőktől kérnék segítséget.
A Proxmox 7-es szerveren az OpenVPN szerver üzemel és szépen lehet is csatlakozni.
VPN szerver ping oké de a belső hálózatot nem látom a kliensről (alapból ez is oké). IPV4 forward engedélyezve (net.ipv4.ip_forward=1
).
Emlékeim szerint 2 sor iptables és mennie kellene...
A fél netet áttúrtam, de az ottani infók nem akarnak működni.
Van rá sansz, hogy a Proxmox szivat és a vmbr0-ás interface-en nem hajlandó VPN forgalmat átengedni???
Proxmoxon mindegyik tűzfal elvileg ki van kapcsolva (host és datacenter részen is).
Adatok:
VPN: 10.8.0.0/24
VPN-SRV: 10.8.0.1
LAN: 192.168.0.0/24
LAN-GW: 192.168.0.1
Proxmox LAN-IF: vmbr0 (enp9s0-re bridge)
Szerver.conf
port 1194
proto udp4
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
client-config-dir ccd
route 192.168.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 8.8.8.8"
client-to-client
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-GCM
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3
explicit-exit-notify 1
...
ha jól emlékszem valami ilyesmi volt (régen volt már, kopik az infó :-) ) a megoldás:
iptables -A INPUT -i tun+ -j ACCEPT
iptables -t nat -A POSTROUTING -o 192.168.0.0/24 -j MASQUERADE
A hoston szeretném a VPN szervert futtatni, nem konténerben stb.
Köszi.
- 223 megtekintés
Hozzászólások
Elso korben juss el odaig, hogy a LAN tartomanyod felol a VPN ip-(ke)t mi routeolja el a megfelelo iranyba.
- A hozzászóláshoz be kell jelentkezni
Hello,
értem a kérdésed, de mégsem. Ez a konfig működött (még sok évvel ezelőtt) és akkor nem kellett pl a routerben (másik gép/másik IP) csak a
portforward. Egy belső szerveren volt az openvpn, mint itt. Egy db hálókártyán ült minden, plusz NAT-olás stb nem kellett piszkálni. Azt érzékeltem, hogy sokminden változott azóta openvpn fronton is. Ezért kértem konkrét segítséget.
Plusz infó: ha ezt a konfigot egy teszt VM-be felteszem (win8 a poén kedvéért és megosztom a hálózati kártyáját, akkor megy a LAN elérés).
- A hozzászóláshoz be kell jelentkezni
1. kérdés: A fent említett két szabályon kívül van valami még a táblákban?
iptables -vnL -t raw
iptables -vnL -t mangle
iptables -vnL -t nat
iptables -vnL -t filter
2. Ha "üres" az iptables, akkor valami ilyen kell neked: (Persze sok minden függ attól, hogy mi van jelenleg a táblákban)
# FILTER tábla
# Conntrack használat
iptables -t filter -A FORWARD -j ACCEPT -m conntrack --ctstate ESTABLISHED
iptables -t filter -A FORWARD -j ACCEPT -m conntrack --ctstate RELATED
# VPN hálózatból induló, LAN hálózatba menő kapcsolatok elfogadása
iptables -t filter -A FORWARD -j ACCEPT -s 10.8.0.0/24 -d 192.168.0.0/24
# VPN hálózatból induló, LAN hálózatba menő kapcsolatok elfogadása
iptables -t filter -A FORWARD -j ACCEPT -s 192.168.0.0/24 -d 10.8.0.0/24
3. A NAT táblában az " -o 192.168.0.0/24"-nak semmi értelme, mert az "-o" output interface-t jelent és nem IP címet.
4. A legfontosabb kérdés, hogy a különböző hálózatokban (tehát a vmbr0-ban és a VPN-ben) lévő gépeknek mi van routing táblájukban. Más néven: Tudnak-e a gépek arról, hogy a másik oldal a Proxmox szerveren keresztül érhető el? Ehhez adj ki egy "ip r" parancsot egy-egy vmbr0-ban és a VPN-ben lévő gépen.
Debian Linux rulez... :D
RIP Ian Murdock
- A hozzászóláshoz be kell jelentkezni
csak ebben van infó, a többi üres jelenleg:
iptables -vnL -t filter
Chain INPUT (policy ACCEPT 1180 packets, 228K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 426 packets, 45015 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate ESTABLISHED
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED
4 208 ACCEPT all -- * * 10.8.0.0/24 192.168.0.0/24
0 0 ACCEPT all -- * * 192.168.0.0/24 10.8.0.0/24
Chain OUTPUT (policy ACCEPT 413 packets, 167K bytes)
pkts bytes target prot opt in out source destination
szerveren ip r:
default via 192.168.0.1 dev vmbr0 proto kernel onlink
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
192.168.0.0/24 via 10.8.0.2 dev tun0
- A hozzászóláshoz be kell jelentkezni
Ok, akkor az iptables része most jó lesz.
Viszont nem figyeltél a kérésemre. :) A szerver routing táblája nem volt kérdes, hanem a kapcsolódó gépeké/VM-eké... Tehát azokon adj ki egy "route" parancsot.
A másik, ami nagyon érdekes, hogy miért van ilyen bejegyzésed a szerveren: "192.168.0.0/24 via 10.8.0.2 dev tun0" ???
Debian Linux rulez... :D
RIP Ian Murdock
- A hozzászóláshoz be kell jelentkezni
akkor kezdjuk ujra a kalyhatol, mit szeretnel elerni es honnan?
na, azon a gepeken nezd meg merrol/merre megy (menne?) a csomag (routing). ha az rendben van, akkor kezdhetsz el pingelgetni/tcpdumpolgatni/stb.
- A hozzászóláshoz be kell jelentkezni
Igen, nem... :)
A túzfal része most rendben van, legalábbis a filter része. (Mondjuk ha nem vesz fel semmilyen szabályt, akkor ez sem szükséges.)
Valószínűsítem, hogy a VPN-ből próbál elérni a belső hálón lévő gépeket (és nem fordítva).
Ez lehet úgy is, hogy mindkét oldal routing táblái szinkronban vannak, azaz tudnak a másik oldalról, vagy pedig úgy, hogy a VPN-ről indított forgalom SNAT/MASQUERADE funkcióval lesz "elrejtve" a LAN gépei elől.
De amúgy tényleg tisztázni kellene, pontosan mit szeretne...
Debian Linux rulez... :D
RIP Ian Murdock
- A hozzászóláshoz be kell jelentkezni
Ezekre a bejegyzésekre szerintem nincs szükség a VPN konfigban:
push "route 10.8.0.0 255.255.255.0"
route 192.168.0.0 255.255.255.0
Debian Linux rulez... :D
RIP Ian Murdock
- A hozzászóláshoz be kell jelentkezni
Dobj be esetleg egy /etc/network/interfaces kimenetet is.
Illetve ez tudom, hogy nem válasz a kérdésre, de WireGuard VPN esetleg nem játszik? Azon egyszerűbb tapasztalataim alapján a routing-ot belőni és megtalálni hol a hiba. Az OPENVPN direkt fut l3 módban? Ha a VM-eket akarod elérni és nincs akadálya, rakd be l2 módban a vmbr0 bridge-be és látni fog mindenki mindenkit.
Ha traceroute-olsz a VPN kliensről valamely VM felé, az 1. hop a VPN szerver?
TheAdam
- A hozzászóláshoz be kell jelentkezni
Hello,
win10 VPN kliensről proxmoxon futó VM felé:
Tracing route to 192.168.0.220 over a maximum of 30 hops
1 10 ms 10 ms 10 ms 10.8.0.1
2 * * * Request timed out.
/etc/network/interfaces:
auto lo
iface lo inet loopback
iface enp9s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.0.250/24
gateway 192.168.0.254
bridge-ports enp9s0
bridge-stp off
bridge-fd 0
- A hozzászóláshoz be kell jelentkezni
Ha valamit lehet javasolni akkor egy vm-be vagy konténerbe tedd be az openvpn servert (inkább vm).
Semmi nem garantálja neked hogy egy következő proxmox update nem fogja felülvágni a host oldali network setupodat.
A VM-edben meg az van amit beleteszel.
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Értem, hogy ezt gondolod és tényleg nincs semmi ilyenre biztosítás, ugyanakkor:
- több Proxmox szervert is frissítettem már, beleértve a fő verzió frissítésekkel és soha ilyen eset nem volt. Ha valami el is romlott, az az én figyelmetlenségem volt.
- ilyen alapon a VM-be tett VPN szerver sem megoldás, mert ha a Proxmox hálózatkezelése változna gyökeresen, akkor ugyanekkora eséllyel nyírhatnák ki a VPN kapcsolatok továbbítását.
Ez csak magánvélemény.
Debian Linux rulez... :D
RIP Ian Murdock
- A hozzászóláshoz be kell jelentkezni
A VM-en belüli networkinget nem fogja a proxmox host upgrade tönkretenni, abban megegyezünk?
A Proxmox upgrade ha úgy dönt hogy holnaptól netplan alapú lesz a networking akkor mit fog csinálni az iptables szabályrendszered?
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Ok, A VM-en belüli networking is lehet egy külön hálózat, nem kötelező mindent a vmbr0-ra tenni, így alapvetően fontos, hogy a netfilter/iptables (proxmox tűzfal) hogyan és mit enged át.
Ha netplan alapú a rendszer, (amit ugye az Ubuntu eröltet és a Proxmox Debian alapú) attól még az olyan alap fogalmak, mint a brige-ing vagy a netfilter/iptables részek változnának.
Én inkább azért "aggódnék", hogy az iptables kikerül a rendszerből és már csak nftables marad. Nem azért, mert nem használható, hanem mert át kell akkor írni a szabályrendszereket. De ez sem olyan, ami csak úgy holnap bekövetkezne.
Szóval őszintén nem értem, mit akarsz a netplan-nal mondani... :) HA netplan lenne, akkor attól még nem változik a netfilter/iptables/nftables/ebtables/proxmox tűzfal....
A VM-en belüli networkinget nem fogja a proxmox host upgrade tönkretenni, abban megegyezünk?
Elég nagy gond lenne... :) Ugyanakkor van ugye még ebtables is... :D
Debian Linux rulez... :D
RIP Ian Murdock
- A hozzászóláshoz be kell jelentkezni
Nálam a vpn szerveren az eszköz (nem proxmox):
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.8.0.1 netmask 255.255.255.0 destination 10.8.0.1
iptables, hogy lássam a belső hálót (ami: 192.168.0.0/24 és 10.1.1.0/24):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
- A hozzászóláshoz be kell jelentkezni
Ott a pont, köszönöm, elég ez az egy sor és ezzel megy. :-)
illetve a route táblába beíródott paraméter volt rossz, törölni kellett... most tesztelem, hogy mi írja vissza.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 172.22.0.254 0.0.0.0 UG 0 0 0 vmbr0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
192.168.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 <= kuka!
Köszönöm mindenkinek! :-)
- A hozzászóláshoz be kell jelentkezni
Szerintem a VPN konfigod "route" sora...
Debian Linux rulez... :D
RIP Ian Murdock
- A hozzászóláshoz be kell jelentkezni
Én - kellően barbár módon - azt mondanám, hogy a tun helyett tap eszközt használnék, a VPN-en belül ugyanabból a tartományból osztanék IP-t, amiben a guestek is vannak, az openvpn tap interface-t meg benyomnám a vmbr0 bridge-be és ezen a ponton route-olás, forwardolás és tűzfalazás nélkül működne az egész mutatvány. (Természetesen IP cím osztást csak ésszel, hogy ne legyen IP cím ütközés - de ez megoldható úgy, hogy pl. fix IP-ket a .10 - .99 közötti tartományból adok ki, a helyi DHCP a .100 - .199 tartományból oszt, míg az OpenVPN megkaphatja a .200 - .249 tartományt.)
Ami nekem jelenleg roppant gyanús és amín szerintem a jelenlegi próbálkozás elvérzik, az az, hogy eddig a ProxMox-on se tűzfal szabály nem volt beállítva, se forwarding. Ha a kliensek mégis láttak netet, akkor az nekem azt jelenti, hogy a vmbr0 bridge-be nem csak a guestek vannak belógatva, de abba van betéve a fizikai hálókártya is, így a guestek gyakorlatilag a belső háló részévé válnak. Ezen a ponton viszont a megoldásban vázolt VPN subnet felé az átjáró a LAN gw, a 192.168.0.1, oda is fogják küldeni a válasz csomagot a kliensek, így a ProxMox nem fogja el, nem fogja vissza route-olni a válasz csomagokat a VPN csatiba - csak az "oda" forgalom megy, a "vissza" nem él --> nincs kommunikáció.
Lábjegyzet: ha sikerül megoldani a kommunikációt és a gyanúm helyes, akkor nem csak a guesteket, hanem a ProxMox melletti teljes belső hálót is látni lehet majd a VPN felől. Ez mennyire cél? (Megjegyzés: a jelen felállás működhet, ha a nat tábla POSTROUTING ágán maszkolás történik azon csomagok esetén, amelyek a VPN felől jöttek. De ekkor minden VPN-ből induló kapcsolat a végponton úgy fog látszani, mintha a kérés a ProxMox-ról indulna és az olyan trükkös protokollok, mint amilyen pl. az ftp is, csak conntrack-helper modulokkal fognak működni, mert amikor az IP cím protokollon belül egyeztetett, azt a mezei NAT nem írja át, csak ha van conntrack az adott protokollhoz.)
Igazából az se tiszta, hogy ha a feltételezés igaz, hogy a ProxMox egy védett belső hálóban van és igazából nem is routeol a kliesek és a LAN között, akkor miért itt termináljuk a VPN kapcsolatot?
Egyébként a forgalom vizsgálatára ajánlom a tcpdump utility-t, megfelelően paraméterezve: pl. az eth0 interface esetén érdemes erősen szűrni portra is, hogy a saját ssh kapcsolatunk forgalmát ne listázza - ezzel újabb, dumpolandó forgalmat generálva. Kellően informatív tud lenni arra nézve, hogy:
- bejön-e a kérdéses csomag azon az interface-n, amelyiken várom?
- kimegy-e azon az interface-n, amelyiken várom?
- ha NAT van, akkor az IP cím csere megtörténik-e?
- bejön-e a válasz csomag a megfelelő interface-n?
- kimegy-e a vékasz csomag a megfelelő interface-n?
- ha volt NAT, akkro a csomag visszaalakítása megtörtént-e?
- A hozzászóláshoz be kell jelentkezni