Где посматрати саобраћај OpenVPN клијента на пролазу
VPN пролаз са рутирањем прослеђује пакете без отварања сокета за њих. Изаберите conntrack, ограничено снимање тунела или дневнике посредника према томе где ток пролази.
Желите да знате до којих одредишта стиже повезан клијент, па отварате љуску на VPN серверу и укуцавате ss. Ништа корисно се не појављује, а закључак да је тунел покварен долази мало превише лако. VPN пролаз OpenVPN са рутирањем прослеђује пакете клијента; он не окончава њихове TCP везе и не поседује сокете за њих. Доказ живи на другом месту, а где зависи од тога како се саобраћај обрађује пошто напусти тунел.
Утврдите који распоред гледате
Два уобичајена облика дају потпуно различите доказе. Пролаз са рутирањем декапсулира, прослеђује и по потреби ради изворни NAT, па веза клијента наставља да постоји од краја до краја без локалног сокета.
Посредник окончава саобраћај: прихвата везу, а затим отвара своју сопствену везу према горе. У том распореду постоје две везе за један захтев, а веза међу њима постоји само у посредниковим сопственим записима. Знање коју сте од ове две поставили одлучује да ли треба да читате стање токова у језгру или дневнике апликације.
Већина забуне долази од нагађања. Потврдите облик пре него што изаберете алат. Прво прочитајте конфигурацију сервера тражећи директиву посредника, јер његово присуство мења сваки следећи корак. Без ње, пут пакета је рутирање, а стање токова у језгру је ваш доказ.
Прво повежите адресу са сесијом
Почните од стања сесија на серверу и препознајте клијентову тренутну унутрашњу адресу. Адресе из базена се рециклирају, па је адреса сама по себи закуп, а не особа.
Запишите време и потврђени идентитет заједно и забележите да ли се за тим клијентом крије цела локална мрежа. Ако удаљена страна рутира подмрежу, унутрашње адресе које видите могу бити изворни домаћини или преведене.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40Тај пар одговара на два питања одједном: који префикс опслужује интерфејс тунела и која је сесија била активна у интервалу који вас занима. Учините то пре тумачења било ког уноса тока, јер уверљива торка везана за погрешну сесију гора је од никаквог доказа.
Читајте табелу токова на пролазу са рутирањем
Када су адреса и интервал утврђени, списак праћених веза само за читање показује шта пролаз прослеђује за њега. Филтрирајте по изворном извору да не читате целу табелу.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37Сваки унос држи две торке, изворну и одговорну, које су два смера једног тока, а не две апликације. На путу изворног NAT-а изворна торка задржава адресу тунела, док одговорна страна показује преведену адресу пролаза, и то је управо оно због чега излаз на први поглед изгледа погрешно.
Третирајте списак као живо стање, а не као историју. Кратки токови су можда већ истекли, непраћени саобраћај се никада не појављује, а други мрежни простор имена показује другу табелу. Референца за conntrack документује филтере и двострани излаз.
Једно ограничено снимање за потврду читања
Ако је интерфејс тунела видљив тамо где гледате, једно ограничено снимање решава да ли су пакети које сте препознали они на жици. Држите филтер узак, а ограничење пакета мало.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'Упоредите временске ознаке, протокол и портове са уносом тока и са захтевом који сте послали као тест. Снимање узето после NAT-а показује само јавну адресу пролаза, док страна тунела може још да показује клијентову, и та разлика је информација, а не недоследност.
Ако интерфејс не види ништа, проверите пут података пре него што закључите да клијент мирује: саобраћај клијент-према-клијенту и неки путеви растерећења никада не пролазе кроз тачку коју гледате.
Дневници посредника и границе онога што сте видели
Када је посредник на путу, његови сокети према горе видљиви су у табели сокета, али се не пресликавају један на један на VPN клијенте, посебно уз удруживање или мултиплексирање. Користите конфигурисани дневник трансакција посредника да повежете идентитет клијента, одредиште, временску ознаку и сваки идентификатор захтева који бележи.
Проверите конфигурацију евидентирања инсталиране верзије уместо да претпостављате да се сваки захтев евидентира подразумевано.
На крају, будите прецизни око обима. Одредишна адреса и порт су метаподаци, не URL и не садржај странице, јер унутрашња HTTPS сесија задржава сопствену заштиту без обзира на тунел. Пријавите шта сте приметили, са које тачке посматрања и у које време.