<?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>UDP &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/udp/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, 20 Jan 2025 20:07:10 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=62626</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>
		<item>
		<title>Verificare se una porta UDP sul server è raggiungibile da remoto</title>
		<link>https://blog.smsoft.it/2021/05/04/verificare-se-una-porta-udp-sul-server-e-raggiungibile-da-remoto/</link>
					<comments>https://blog.smsoft.it/2021/05/04/verificare-se-una-porta-udp-sul-server-e-raggiungibile-da-remoto/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 04 May 2021 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[10000]]></category>
		<category><![CDATA[nc]]></category>
		<category><![CDATA[netcat]]></category>
		<category><![CDATA[ngrep]]></category>
		<category><![CDATA[tcpdump]]></category>
		<category><![CDATA[UDP]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4936</guid>

					<description><![CDATA[Oggi avevo necessità di controllare se la porta 10000 UDP su un server jitzi fosse raggiungibile dall&#8217;esterno, perché il server non era direttamente pubblico ma dietro un router. Per la verifica bisogna installare sul server il pacchetto ngrep: apt install ngrep sul client bisogna invece installare netcat: apt install netcat A questo punto sul server ... <a title="Verificare se una porta UDP sul server è raggiungibile da remoto" class="read-more" href="https://blog.smsoft.it/2021/05/04/verificare-se-una-porta-udp-sul-server-e-raggiungibile-da-remoto/" aria-label="Per saperne di più su Verificare se una porta UDP sul server è raggiungibile da remoto">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Oggi avevo necessità di controllare se la porta <strong>10000 UDP</strong> su un server <strong>jitzi</strong> fosse raggiungibile dall&#8217;esterno, perché il server non era direttamente pubblico ma dietro un router.</p>



<p class="wp-block-paragraph">Per la verifica  bisogna installare sul <strong>server</strong> il pacchetto <strong>ngrep</strong>:</p>



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



<p class="wp-block-paragraph">sul <strong>client</strong> bisogna invece installare <strong>netcat</strong>:</p>



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



<p class="wp-block-paragraph">A questo punto sul <strong>server</strong> digitiamo:</p>



<pre class="wp-block-preformatted">ngrep -q 'si funziona' udp port 10000</pre>



<p class="wp-block-paragraph">e nel <strong>client</strong>:</p>



<pre class="wp-block-preformatted">echo 'si funziona' | nc -u 75.143.7.31 10000</pre>



<p class="wp-block-paragraph"><em>dove 75.143.7.31 è l&#8217;IP del server</em> e poi controlliamo se nella console del server scrive qualcosa tipo:</p>



<pre class="wp-block-preformatted">U 150.90.33.62:54977 -&gt; 75.143.7.31:10000 #1
si funziona…….</pre>



<p class="wp-block-paragraph">Ecco, se quando inviamo il messaggio con netcat viene stampato nella console del server un messaggio del genere, allora la porta è aperta.</p>



<p class="wp-block-paragraph">In alternativa ci possiamo mettere in ascolto sulla porta 10000UDP del server con <strong>tcpdump</strong> e poi inviare sempre il messaggio dal client con netcat. Per mettersi un ascolto con tcpdump:</p>



<pre class="wp-block-preformatted">tcpdump -ni ens192 udp port 10000 -vv -X</pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2021/05/04/verificare-se-una-porta-udp-sul-server-e-raggiungibile-da-remoto/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
