tunneling prin ssh in FreeBSD.
Salutare la toti! Am reushit sa fac tunneling la un server inafara Universitatii de Stat de la compul meu ce sade pe FreeBSD.Scopul : De a trece de firewall-ul Universitatii de Stat ce sade pe linux ce este configurat ca proxy si de a accesa diferite adrese "interzise" de firewall, ca de ex. vre-un servak de la IRC sau mai stii vre-o adresa cu pornuha :))) glumesc. Da indeobshte tat si-ti da in cap... Cum am facut:1. Am acces la servakul cu FreeBSD de la un internet-cafe din orash cu acount-ul revers de la root -> toor. Viteza la inet-cafe este de 128 Kb/sec.2. Masurile de securitate luate la univer, hren ih znaiet cite-s, dar stiu ca UDP vaashe nu merge iar din TCP eli,eli acolo 80, 443 si inca vre-o citeva - la mail si altele... Cautam pe internet cum sa fac tuneling-ul ista si am gasit raznie sposoburi incepind de la aceea cum sa recompilezi Apache-ul cu niste optii si library-uri noi dar asta era de lucrat mult la asa variant. In general m-am orientat sa vad ce destination port-uri se permit prin proxy(am abandonat cu 80 la apache) si am ramas la 443. Am gasit alt variant - sa folosesc ssh-ul staraia dobraia metoda pentru tunelizarea la alte dofiga de servicii, prin portul 443.3. Am luat si am configurat sshd-ul de la serverul indepartat de la inet-cafe sa lucreze pe 443, apoi clientul meu de la compul meu in ssh_config(care stiu inteleg despre ce vorbesc eu). Dar o problema - cum sa lucreze ssh-ul prin proxy? Am gasit apoi cum se face - printr-o proga pe FreeBSD numita corkscrew. Dupa ce ii faci make install, scrii o comanda in fisierul ssh_config(pentru client) care starteaza programul odata cu sesiunea de ssh si-i indica ssh-ului prin ce server(respectiv proxy al Univerului) sa se foloseasca pentru login-area la sistemul indepartat de la inet-cafe sau in general la alte adrese. Nu o mai scriu aici dar daca va trebui o pun(care-i folosul?)4. Ghini , tat este. Cum fac sesiunea de tunneling? Nimic mai simplu - am gasit metoda prezentata in handbook-ul de la FreeBSD. Mai detaliat este scris acolo cum se face tunneling pentru mai multe servicii. Eu m-am uitat la "bypassing a draconian firewall" si era explicat cum sa treci de un firewall. Cum functioneaza - iti deschizi un port la localhost sau la loopback adress sau ma rog cum vreti adica la 127.0.0.1. Fie el in range-ul de numere de marimea 2 la puterea a 16-a. Nu da eu deamu ma prikalesc :))))). Koroce fie el 3128. Acest port se indica in comanda de la sesiunea de ssh:# ssh -2 -N -f -L 3128::80 toor@ip_servak_cafein loc de ip adresa poti sa scrii deasemenea hostname-ul.optiunile : -2 - se va lucra cu versiunea 2 de openssh -N - se indica ca va fi sesiune de tunneling si NU sesiune normala de ssh cu executare de comenzi la sistemul distantat. -f - sa se ruleze sesiunea de ssh in background -L - se deschide un port local la loopback sau local tunnel cum e scris acolo adica se va face un map-ing intre port-ul local si adresa dorita de a o deschide: localport:remotehost:remoteport.5. Cum deschidem adresa dorita? De exemplu adresa de la xxx.com - scrii in bara de adrese de la browser : http://127.0.0.1:3128 - indici adresa loopback cu port-ul la care e facut map-ing la adresa de la xxx(inainte de asta tre de scos proxy configuration). Si merge! La mine a mers. De exemplu am facut maping la site-ul erotica.com la portul 3128 si scriind cele de mai sus in bara de adrese de la browser am incarcat pagina erotica.com. Daca vrei sa incarci folosind proxy pentru internet - dulea! squid-ul de la linux tzipa ACCESS DENIED - tipa nafik tzie iti trebuie(el filtreaza numele ce contin nume interzise si multe altele face), dar prin tunneling trece - URAAAAA! Si pe IRC am bazarit.Amu deamu m-am gindit ceva - la fiecare adresa trebuieste un port local de deschis. Dar eu vreau sa fac sa mearga tot traficul, la orice adresa printr-un singur port local. Eu ma gindesc ca cu ssh-ul nu se va primi - va trebui de folosit alte programe pentru tuneling. Sint in instalarea de la FreeBSD dar eu nu am vazut inca ce pot face ele - acolo sint si cu ipv4 in ipv6 si invers, udp in tcp s.a.