Adott egy NAS valahol a világ másik végén dupla nat mögött, melyet el kéne érni néha-néha kintről is. Arra gondoltam, hogy a NAS-on futó l2tp/ipsec VPN klienssel becsatlakozok a kedvenc pFsense-emre, majd annak a WAN interfacen a kívánt portot forwardolom a NAS felé. Így egyrészt elérném a pFsense mögötti LAN-ból is a NAS-t, másrészt kintről is tudnék hozzá csatlakozni a pFsense WAN-ján levő port forwardot használva.
Működik is nagyjából, a VPN tunnel létrejön, a pFsense mögötti LAN-ból elérem a NAS-t. Viszont a port forward nem megy, ami nem meglepő, hiszen a NAS def. gw-je nem az l2tp tunnel másik végén csücsülő pFsense, hanem egy helyi router, ami így is kéne hogy maradjon. A problémát az okozza, hogy a pFsense destination nat-ot használ a port forwardhoz, ami teljesen érthető, viszont nekem jelen esetben erre az 1db hostra nem jó.
Tehát egy olyan felállást szeretnék összehozni, ahol a WAN intarfecen bejövő csomagok forráscímét is átírná pFsense pl. a LAN lábának az IP-jére. Tovább bonyolítja a dolgot, hogy ezt a fajta source nat-ot csak erre az 1db hostra szeretném használni, mert vannak a pFsense mögött olyan szolgáltatások, amelyeknél fontos lenne, hogy tudják a forrás valódi IP címét. A megoldás kapcsán elakadtam, és a doksi sem segít :(
Valakinek esetleg van ötlete?
- 1894 megtekintés
Hozzászólások
Én ilyesmihez mikrotiket használnék (pl. egy 850GX2), az könnyen paraméterezhető és tud mindent amire szükséged lehet.
Persze ha messze van és nem tudsz elé ilyet rakni akkor ez nyilván nem járható...
Spikes
- A hozzászóláshoz be kell jelentkezni
Sajnos az nem megy, az internetszolgáltató adott ott ahol a NAS van, nincs más (csoda hogy egyáltalán ez a lehetőség is rendelkezésre áll, egy kicsiny zsákfaluról van szó, mobil térerő sem nagyon van). A pFsenset pedig én hostolom teljesen máshol. Persze be tudnék tenni mellé mást is, de örülnék neki ha meg lehetne vele oldani, és nem kéne plusz egy eszközt terelgetni csak emiatt.
Egyébként nagyjából nyomon vagyok, sikerült már a forrás IP-t lecserélni egy inbound nat szabállyal, a NAS már az L2TP network gw-je felől látja jönni a csomagokat, így a válasz is jó irányba megy. De valamiért a pFsense elnyeli és nem fordítja vissza a wan felé. Küzdök még vele kicsit :)
- A hozzászóláshoz be kell jelentkezni
Sose használtam pfSense-t, csak FreeBSD-t. Szóval melyik tűzfal megvalósítást használja a pfSense?
Ha ipfw, akkor a redirect_address a /etc/rc.firewall-ba.
Ha ipf - akkor rdr szabály az ipnat.conf-ba.
Ha pedig pf, akkor szintén rdr szabály a pf.rules -ba.
Feltéve, hogy jól értem mit akrsz.
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
pf-et használ.
Így néz ki az ide vonatkozó két szabály:
nat on l2tp inet proto tcp from any to 10.2.2.200 port = ssh -> (l2tp) round-robin static-port
rdr pass on em0 inet proto tcp from any to 4.4.4.4 port = ssh -> 10.2.2.200
4.4.4.4 - pFsense WAN
10.2.2.200 - a NAS ip-je (az l2tp tunnel NAS felőli vége)
Az első a source nat, ez azért kell, mer a NAS-nak nem a pFsense a default gw-je. Ha az lenne, akkor nem lenne semmi gond.
Egyébként kipróbáltam, hogy mi történik akkor, ha ugyanezt nem egy l2tp kliens IP-jével akarom eljátszani hanem egy a pFsense LAN-ján (10.2.2.0/24) levő host-al. Érdekes módon így teljesen jól működik. tcpdump-al látom hogy bejön a WAN-on a kérés, forwardolja a belső hostnak, ahol már a pFsense LAN ip-jét látom forrésként (10.2.2.1). Majd a visszakapott választ a pFsense kiküldi a WAN-on annak a távoli gépnek aki eredetileg indította a sessiont.
Ha az l2tp-s klienssel csinálom ugyanezt, akkor az utolsó mondatban levő dolog nem megy, tehát a WAN-on nem megy ki a válasz :(
Nem tudom mennyire érthető, lehet hogy inkább rajzolnom kéne :)
- A hozzászóláshoz be kell jelentkezni
Routing jól van beállítva a pfsense-en? Az l2tp-s interfészre vonatkozó szabályok jól vannak belőve? Az hogy "a WAN-on nem megy ki a válasz" az nekem azt jelenti, hogy
a) nem találja meg, hogy merre kéne választ küldenie
b) találja, de valamelyik másik szabály megfogja
Első esetben - gondolom én - kéne valami hibaüzenet ("Host/network unreachable" stílusúra gondolok). Második esetben pedig a blokkoló szabály számlálójának nőni kellene, tehát ebből ki lehetne gyökölni. (Illetve a generikus DROP szabály elé be lehetne szúrni még egyet, amit konkrétan az l2tp-s interfész forgalmának eldobására húzol fel, és máris látszik, hogy egyáltalán odáig eljut-e. Nyilván lehet ott általános ALLOW is az l2tp-re, nem feltétlenül kell DROP/BLOCK , de amíg tesztelsz, addig nem nagy gond, hogy a tesztcsomagokat is eldobod, de az, hogy véletlenül beengedsz olyasmit amit nem kellene, az életveszélyes lehet.)
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
A pFsense hálisten elég jó debug toolokkal rendelkezik a rule-ok kapcsán, szépen követhető/kereshető hogy mit és miért blokkolt/dropolt. Ezeket átnéztem, nem akadt meg sehol a dolog, illetve eleve van átmenetileg egy allow any/any floating rule az l2tp-n, hogy nehogy ezen bukjon el.
Amúgy azt hiszem rájöttem, egy eldugott pFsense doksiban ezt találtam:
"There are two main modes for NAT with IPsec:
1. .....
2. NAT - Overload/PAT Style - Local network is a subnet, but the translated address is a single IP. Works for outbound connections only."
Nekem meg ugye pont inboundra kéne :(
- A hozzászóláshoz be kell jelentkezni