{"id":7,"date":"2020-03-27T00:16:22","date_gmt":"2020-03-26T22:16:22","guid":{"rendered":"https:\/\/edutictac.es\/chverma\/?p=7"},"modified":"2020-03-27T00:16:22","modified_gmt":"2020-03-26T22:16:22","slug":"una-tasca-facil-pero-ben-complicada","status":"publish","type":"post","link":"https:\/\/edutictac.es\/blog\/chverma\/2020\/03\/27\/una-tasca-facil-pero-ben-complicada\/","title":{"rendered":"Una tasca f\u00e0cil, per\u00f2 ben complicada"},"content":{"rendered":"\n<p>Hom pensa que una cosa f\u00e0cil de comprendre \u00e9s senzilla d&#8217;implementar. En el cas que vos porte hui \u00e9s una excepci\u00f3. Una cosa senzilla, f\u00e0cil d&#8217;entendre i que, si saps pr\u00e8mer les tecles adequades, \u00e9s ben f\u00e0cil d&#8217;implementar. En canvi, si no saps com fer-ho, et pot dur dos dies trencant-te el cap, com m&#8217;ha passat a mi. Menys mal que estem confinats a casa i no podem eixir&#8230;<\/p>\n\n\n\n<p>B\u00e9, no m&#8217;enrotlle m\u00e9s, vull que el meu alumnat em deixe en casa els exercicis (qu\u00e8 c\u00f2mode soc). No vull emprar cap servei del n\u00favol i no puc emprar les plataformes Aules. JA EST\u00c0! Amb un servei DynDNS apunte a la IP din\u00e0mica de casa i l&#8217;alumnat es podr\u00e0 connectar. MEEEEC! Tens una xarxa darrere del router amb NAT (d\u00f3na-li les gr\u00e0cies al teu ISP).<\/p>\n\n\n\n<p>Val, d&#8217;acord, no tinc una IP p\u00fablica assignada al router. Per\u00f2 xe, jo vull connectar-me a la Raspberry Pi que tinc muntada al menjador!! Ostres&#8230; Ja est\u00e0, he escoltat que podria fer-ho amb ssh port forwarding (reenviament de ports). Menys mal que tinc un VPS que no li trac massa profit (t\u00e9 IP p\u00fablica).<\/p>\n\n\n\n<p>Vos pose en context. Tenim una Raspberry Pi al menjador, com sabeu t\u00e9 IP privada (192.168.1.41). Una IP privada \u00e9s aquella que no es pot accedir des d&#8217;Internet, no \u00e9s p\u00fablica. La RasPi t\u00e9 uns quants serveis web en distints ports (per defecte, el protocol http treballa sobre el port 80 i el https sobre el 443). Doncs en esta m\u00e0quina hi ha un servei web escoltant en el port 3000 i puc accedir-hi des de casa amb http:\/\/192.168.1.41:3000, per\u00f2 no puc accedir-hi des de Xina (qui volguera estar all\u00ed ara ;P). Doncs suposem que tenim una m\u00e0quina amb IP p\u00fablica (un VPS, Virtual Private Server) amb IP 200.200.200.200. Per tant, l&#8217;esquema de connexi\u00f3 seria aquest:<\/p>\n\n\n\n<p>Client Web (firefox) -&gt; 200.200.200.200:3000 -&gt; 192.168.1.41:3000<br>Un client web es connecta a la IP 200.200.200.200 amb port 3000 i esta connexi\u00f3 es reenvia a 192.168.1.41 al port 3000. I, com ho fem? Amb ssh. En concret hem d&#8217;executar aquesta orde en la RasPi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -N -R 3000:localhost:3000 chverma@200.200.200.200<\/code><\/pre>\n\n\n\n<p>Vos explique: l&#8217;opci\u00f3 -N serveix per a no executar cap commandament, \u00e9s a dir, no em &#8220;trasllada&#8221; al terminal de la m\u00e1quina dest\u00ed. L&#8217;opci\u00f3 -R especifica que les connexions remotes seran reenviades als ports locals. En concret, les connexions que arriben al port 3000 de la m\u00e0quina amb IP p\u00fablica (200.200.200.200) seran reenviades al localhost (la RasPi) al port 3000. Al final de l&#8217;ordre hem d&#8217;indicar el nom d&#8217;usuari, seguit del @ i la IP del nostre VPS.<\/p>\n\n\n\n<p> A m\u00e9s, hem d&#8217;afegir una l\u00ednia al fitxer &#8220;\/etc\/ssh\/sshd_config&#8221;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GatewayPorts yes<\/code><\/pre>\n\n\n\n<p>Despr\u00e9s de reiniciar el servei ssh amb:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart sshd<\/code><\/pre>\n\n\n\n<p>Gr\u00e0cies a la l\u00ednia que hem afegit, els ports s\u00f3n accesibles des de l&#8217;exterior del VPS (no cal iniciar sessi\u00f3 amb el terminal). Finalment, ja tenim configurada la nostra ordre.<\/p>\n\n\n\n<p>He dit finalment&#8230; Encara no&#8230; Les connexions ssh no s\u00f3n permanents&#8230; poden caure i, per tant, desconnectar-se&#8230; Aix\u00ed, per a que es mantiga la connexi\u00f3 establerta &#8220;indefinidament&#8221; (quan es desconnecte, torna a connectar-se) emprarem la ferramenta autossh. Sols cal afegir el par\u00e0metre -f (foreground, en segon pla) i ja tenim la m\u00e0gia feta.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>autossh -f -N -R 3000:localhost:3000 chverma@200.200.200.200<\/code><\/pre>\n\n\n\n<p>Si teniu cap pregunta ja sabeu, feu-la sense por. Suggeriments, correcci\u00f3 d&#8217;errades&#8230; Tamb\u00e9 m&#8217;agradaria saber si he sigut molt t\u00e8cnic i\/o si s&#8217;ha ent\u00e9s. Ja hem digueu. \u00c0nim amb el Covid!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hom pensa que una cosa f\u00e0cil de comprendre \u00e9s senzilla d&#8217;implementar. En el cas que vos porte hui \u00e9s una excepci\u00f3. Una cosa senzilla, f\u00e0cil d&#8217;entendre i que, si saps pr\u00e8mer les tecles adequades, \u00e9s ben f\u00e0cil d&#8217;implementar. En canvi, si no saps com fer-ho, et pot dur dos dies trencant-te el cap, com m&#8217;ha &#8230; <a title=\"Una tasca f\u00e0cil, per\u00f2 ben complicada\" class=\"read-more\" href=\"https:\/\/edutictac.es\/blog\/chverma\/2020\/03\/27\/una-tasca-facil-pero-ben-complicada\/\" aria-label=\"M\u00e9s informaci\u00f3 sobre Una tasca f\u00e0cil, per\u00f2 ben complicada\">Llegiu m\u00e9s<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[2,3,1],"tags":[8,9,13,14,15,16,17,18,19,20],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-internet","category-linux","category-general","tag-forwarding","tag-ip","tag-pi","tag-port","tag-ports","tag-privada","tag-publica","tag-raspberry","tag-reenviament","tag-ssh"],"_links":{"self":[{"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":0,"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/posts\/7\/revisions"}],"wp:attachment":[{"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/media?parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/categories?post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/edutictac.es\/blog\/chverma\/wp-json\/wp\/v2\/tags?post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}