<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>socat &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/socat/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Mon, 17 May 2021 10:52:44 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=90193</generator>
	<item>
		<title>Server VPN dietro NAT con port forwarding UDP</title>
		<link>https://blog.smsoft.it/2021/06/01/server-vpn-dietro-nat/</link>
					<comments>https://blog.smsoft.it/2021/06/01/server-vpn-dietro-nat/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 01 Jun 2021 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[autossh]]></category>
		<category><![CDATA[socat]]></category>
		<category><![CDATA[ssh port forwarder]]></category>
		<category><![CDATA[UDP]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[wireguard]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4957</guid>

					<description><![CDATA[Un paio di settimane fa vi ho parlato di come installare WireGuard su un raspberry, a distanza di pochi giorni la situazione è cambiata e non è più stato possibile raggiungere direttamente il raspberry con un port-forward dal router, dato che il router stesso aveva un IP privato di una rete Ho. Fortunatamente ho una ... <a title="Server VPN dietro NAT con port forwarding UDP" class="read-more" href="https://blog.smsoft.it/2021/06/01/server-vpn-dietro-nat/" aria-label="Per saperne di più su Server VPN dietro NAT con port forwarding UDP">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Un paio di settimane fa vi ho parlato di come installare <strong>WireGuard</strong> su un raspberry, a distanza di pochi giorni la situazione è cambiata e non è più stato possibile raggiungere direttamente il raspberry con un <strong>port-forward</strong> dal router, dato che il router stesso aveva un IP privato di una rete <strong>Ho.</strong></p>



<p class="wp-block-paragraph">Fortunatamente ho una serie di VPS onLine e mi sono appoggiato ad uno di questi per pubblicare la porta di <strong>WireGuard</strong> tramite <strong>SSH Port Forwarding</strong>, ma in questo caso la cosa non è stata immediata, perché WireGuard funziona in UDP mentre SSH fa il Port Forwarding di connessioni TCP.</p>



<p class="wp-block-paragraph">Beh, allora l&#8217;unica cosa da fare era veicolare i pacchetti UDP sulla connessione TCP che SSH, tramite Port Forwarding, metteva a disposizione. Passiamo al dunque.</p>



<p class="wp-block-paragraph">Intanto ho bisogno di <strong>autossh</strong> sul <strong>raspberry</strong> che installiamo con:</p>



<pre class="wp-block-preformatted">apt install autossh</pre>



<p class="wp-block-paragraph">e <strong>socat</strong> sia sul <strong>raspberry</strong> che sul <strong>VPS</strong>:</p>



<pre class="wp-block-preformatted">apt install socat</pre>



<p class="wp-block-paragraph">Sul <strong>raspberry</strong> (<strong>Wireguard Server</strong>) ho inserito queste due righe nel file <strong>/etc/rc.local</strong> (in modo da avviare automaticamente al reboot):</p>



<pre class="wp-block-preformatted">autossh -2 -fN -M 20001 -R 51821:localhost:51821 user@ip_del_vps
socat tcp4-listen:51821,reuseaddr,fork udp:localhost:51820</pre>



<p class="wp-block-paragraph">Sul <strong>VPS</strong> (con <strong>IP pubblico</strong>) ho inserito questa riga nel file <strong>/etc/rc.local</strong>:</p>



<pre class="wp-block-preformatted">socat -T15 udp4-recvfrom:51820,reuseaddr,fork tcp:localhost:51821</pre>



<p class="wp-block-paragraph">ecco fatto&#8230; Ora, effettuando la connessione dal client Wireguard verso l&#8217;IP del server VPS su porta <strong>51820/UDP</strong>, i pacchetti vengono inoltrati da <strong>socat</strong> verso la porta <strong>51821/TCP</strong> dove in ascolto c&#8217;è la connessione SSH, per il Port-Forwarding, avviata dal Raspberry sul quale abbiamo nuovamente <strong>socat</strong> che rigira i pacchetti dalla porta <strong>51821/TCP</strong> verso la porta <strong>51820/UCP </strong>dove è in ascolto il servizio VPN WireGuard.</p>



<h4 class="wp-block-heading">Nota: </h4>



<p class="wp-block-paragraph">Sui sistemi Debian Based recenti (con systemd) è necessario riattivare l&#8217;esecuzione di <strong>rc.local</strong> al riavvio. C&#8217;è già il file systemd in <strong>/lib/systemd/system/rc-local.service</strong> dove aggiungeremo la sezione [<strong>Install</strong>] alla fine:</p>



<pre class="wp-block-preformatted">[Install]
WantedBy=multi-user.target</pre>



<p class="wp-block-paragraph">Poi creiamo il file rc.local:</p>



<pre class="wp-block-preformatted">&gt;/etc/rc.local
chmod +x /etc/rc.local</pre>



<p class="wp-block-paragraph">in cui scriviamo</p>



<pre class="wp-block-preformatted">#!/bin/sh -e
#
# rc.local
#
#inserire di seguito le istruzioni


exit 0</pre>



<p class="wp-block-paragraph">infine attiviamo il servizio:</p>



<pre class="wp-block-preformatted">systemctl enable rc-local.service
systemctl start rc-local.service</pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2021/06/01/server-vpn-dietro-nat/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
