tcp ecn/cwr & panos

Scriu postul asta in aproape Noiembrie 2017. Nu ca n-ar avea blog-ul timestamp, da e bine de retinut ca e vorba de sfarsitul lui 2017. Si e important acest aspect.

Pentru un client cu nevoi de Client-to-Site VPN am ales sa folosesc PaloAlto Networks VM-100. Ca are capabilitati misto, e super click-click de folosit, si pe langa VPN pot sa fac si alte lucruri bune cu el in retea.

Cum focusul principal e VPN-ul acum, m-am apucat voiniceste sa configurez GlobalProtect sa ajunga lumea de pe unde o fi in reteaua interna. Si da-i si configureaza, salveaza si incearca sa te conectezi pe portul 443 la firewall sa te loghez in portal sa downloadezi clientul, sa-l instalezi si sa te conectezi.

Pula. Ca nu mergea neam. Vreo 3 zile am incercat toate bifele de acolo, ca poate imi scapa mie ceva. Bai da nimic. O singura regula de firewall cu Any-Any-Allow-Log. Ca nu pot da gres cu asta cand lasi traficul sa curga in toate directiile.

Dupa ce n-a vrut si n-a vrut, am zis sa sun pe cine stiam eu ca s-a mai dat cu PaloAlto. Se uita omul, face config de la zero ca eu il stersem sa nu fi uitat vreo chestie si sa debugheze aiurea. Rezultatul: fix pula. Coincidenta face ca omul sa fie fost la un curs de refresh de PAN si l-a pus si pe ala de era instructor sa se uite. Teoretic trebuia sa mearga, practic nu mergea.

Si ca sa fie treaba si mai si, cateodata puteai accesa portalul pentru cateva minute pana cand iar nu mai mergea, dar doar daca fix in acelasi timp te dadeai pe interfata de management a echipamentului. Ca daca tot e voodoo, sa fie pana la capat.

Plecand de la premisa ca e buna configuratia, omul de l-am sunat s-a apucat sa faca dump de pachete, sa vedem daca ajung la jucarie. Si ajungeau bine mersi, doar ca erau “silent dropped”. De ce? Pai pentru ca toate pachetele de SYN aveau si flag-urile de ECN si CWR setate. Cu care firewall-ul nu avea nici o problema sa le accepte pentru management, dar avea o problema cand se duceau spre portalul minune pentru VPN. Care stau in mortii lor fix pe acelasi echipament, si pachetele trec fix prin acelasi loc si morti in inima, singura diferenta e portul pe care stau componentele.

Sa retinem, la sfarsit de 2017 inca mai sunt unii si altii care nu au auzit de ECN.

Pentru ca eu n-am ce sa-i fac, m-am apucat sa vorbesc cu suportul. Care primul nivel de suport este evident format din indieni incompetenti, dar care sunt foarte bine dresati sa caute motive sa dea vina pe tine din ce cauza nu merge jucaria si sa inchida cazul. Si sa scrie in notitele de la caz aproape orice altceva decat ca este o problema cu produsul.

Ultima scremere e ca IP-ul extern il iau prin DHCP si s-a gandit Pradeep ca poate de acolo e, desi el se conecta pe interfata de management la echipament fix prin acea interfata. Dar probabil ca in logica indieneasca o avea vreun sens.

Si cireasa de pe tort (cel putin pana acum) e ca dupa ce am stat iar cateva ore sa refaca configuratia de cateva ori, a scris pe notitele de la caz ca “we discussed that this is a cosmetic issue”. Asta o zic asa, sa nu zica lumea p’aci ca’s am ceva in mod gratuit cu indienii cand zic despre ei ca majoritatea sunt imbecili “summa cum laude”.

Asta dupa ce prima oara mi-a zis senin ca “da, pai dezactiveaza ECN pe clientii care o sa se conecteze si asta”. S-o dezactivez pe ma-sa. Ca daca voiam sfaturi cretine despre cum sa depanez problema ma duceam in parc sa discut cu un caine despre asta.

Si acu ca sa ma laud, am gasit si workaround temporar la problema pana ma termin de certat cu astia si isi fixeaza cacatul de produs. Am mai configurat o interfata pe firewall, am bagat-o intr-un alt VR si am legat-o intr-un Linux, legat fix pe DHCP la acelasi provider. Si pe Linux am un redir care asculta pe 443 pe interfata externa si trimite toate conexiunile pe IP-ul de pe interfata de la firewall. Ca stack-ul de IP de la Linux nu e scris de oameni care nu stiu sa citeasca un RFC si sa implementeze corect ce scrie acolo si il doare fix intre buci ca vin pachete cu SYN+ECN+CWR. Si uite asa merge treaba, cu workaround-uri din astea tembele. La workaround-ul asta am ajuns gandidu-ma cum sa fac sa scap de flag-urile alea fara sa impactez clientul.

Deci da, nu toata lumea stie ca internetul a mai evoluat din 2000 pana azi.

One thought on “tcp ecn/cwr & panos

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.