<?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>TCP &#8211; Haikos Blog</title>
	<atom:link href="https://www.hertes.net/tag/tcp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hertes.net</link>
	<description>Blog von Haiko Hertes zu allen Themen rund um Microsoft, Cloud und Datacenter</description>
	<lastBuildDate>Thu, 22 Feb 2024 14:49:07 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Hyper-V Umgebung hat merkwürdige Netzwerkprobleme</title>
		<link>https://www.hertes.net/2024/02/hyper-v-umgebung-hat-merkwuerdige-netzwerkprobleme/</link>
					<comments>https://www.hertes.net/2024/02/hyper-v-umgebung-hat-merkwuerdige-netzwerkprobleme/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Thu, 22 Feb 2024 17:30:00 +0000</pubDate>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Probleme]]></category>
		<category><![CDATA[TCP]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=4306</guid>

					<description><![CDATA[In einer meiner Lab-Umgebungen hatte ich jüngst sehr merkwürdige Netzwerk-Probleme. TCP-Verbindungen ließen sich entweder gar nicht erst aufbauen oder brachen ständig zusammen, insbesondere HTTP-Sitzungen und RDP-Verbindungen waren davon betroffen. Ich hatte zunächst die Netzwerkkarten der betroffenen Hosts im Verdacht, konnte hier aber selbst beim Wechsel auf eine andere Karte keine Besserung feststellen. Da einige der Systeme sich im Netzwerk von manchen Quellen anpingen ließen, von anderen nicht, hatte ich einen Blick auf die ARP-Tabelle eines der Hosts, von wo aus ein Ping nicht möglich war, geworfen: Dort war mir dann etwas aufgefallen &#8211; nämlich dass eine konkrete MAC-Adresse mehreren IP-Adressen&#8230;]]></description>
										<content:encoded><![CDATA[
<p>In einer meiner Lab-Umgebungen hatte ich jüngst sehr merkwürdige Netzwerk-Probleme. TCP-Verbindungen ließen sich entweder gar nicht erst aufbauen oder brachen ständig zusammen, insbesondere HTTP-Sitzungen und RDP-Verbindungen waren davon betroffen. Ich hatte zunächst die Netzwerkkarten der betroffenen Hosts im Verdacht, konnte hier aber selbst beim Wechsel auf eine andere Karte keine Besserung feststellen.</p>



<p>Da einige der Systeme sich im Netzwerk von manchen Quellen anpingen ließen, von anderen nicht, hatte ich einen Blick auf die ARP-Tabelle eines der Hosts, von wo aus ein Ping nicht möglich war, geworfen:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2024/02/image-3.png"><img fetchpriority="high" decoding="async" width="1024" height="598" src="https://www.hertes.net/wp-content/uploads/2024/02/image-3-1024x598.png" alt="" class="wp-image-4307" srcset="https://www.hertes.net/wp-content/uploads/2024/02/image-3-1024x598.png 1024w, https://www.hertes.net/wp-content/uploads/2024/02/image-3-300x175.png 300w, https://www.hertes.net/wp-content/uploads/2024/02/image-3-768x449.png 768w, https://www.hertes.net/wp-content/uploads/2024/02/image-3.png 1113w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Dort war mir dann etwas aufgefallen &#8211; nämlich dass eine konkrete MAC-Adresse mehreren IP-Adressen zugeordnet war &#8211; mit anderen Worten: Mehrere Hosts im Netzwerk hatten scheinbar die selbe MAC-Adresse!</p>



<p>Um dies zu verifizieren, habe ich mir dann die MACs aller VMs auf den betroffenen Hosts anzeigen lassen:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454.png"><img decoding="async" width="1024" height="597" src="https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-1024x597.png" alt="" class="wp-image-4308" srcset="https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-1024x597.png 1024w, https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-300x175.png 300w, https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-768x448.png 768w, https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454.png 1114w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<pre class="wp-block-code"><code>Get-VMNetworkAdapter -VMName * -ComputerName "HOST01","HOST02","HOST03" | Select-Object VMName,MacAddress | Sort-Object MacAddress</code></pre>



<p>Hier bestätigt sich die vorherige Erkenntnis: 4 der verwendeten MACs werden durch mehr als eine VM genutzt! Aber woher kommt das?</p>



<p>Alle Hyper-V-Hosts wurden im selben Netzwerk und nacheinander aufgesetzt. Dennoch zeigt sich, dass zwei der Hosts den selben MAC Address Pool verwenden:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2024/02/image-4.png"><img decoding="async" width="1024" height="492" src="https://www.hertes.net/wp-content/uploads/2024/02/image-4-1024x492.png" alt="" class="wp-image-4309" srcset="https://www.hertes.net/wp-content/uploads/2024/02/image-4-1024x492.png 1024w, https://www.hertes.net/wp-content/uploads/2024/02/image-4-300x144.png 300w, https://www.hertes.net/wp-content/uploads/2024/02/image-4-768x369.png 768w, https://www.hertes.net/wp-content/uploads/2024/02/image-4-1536x738.png 1536w, https://www.hertes.net/wp-content/uploads/2024/02/image-4.png 1814w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Die Lösung besteht also aus 2 Teilen:</p>



<ul class="wp-block-list">
<li>MAC Address Pool auf mindestens einem der beiden Hosts ändern</li>



<li>Betroffenen VMs eine neue MAC-Adresse (oder einfach eine neue NIC) verpassen</li>
</ul>



<p>Ich habe keine Ahnung, wie dieser Fehler zustande gekommen ist, denn eigentlich prüfen Hyper-V Hosts beim Setup, ob der MAC-Address-Bereich von anderen Hosts verwendet wird, aber diese Prüfung war hier wohl irgendwie wenig erfolgreich&#8230; Naja, egal. Fehler gefunden, behoben, alles gut <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2024/02/hyper-v-umgebung-hat-merkwuerdige-netzwerkprobleme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Azure Firewall &#8211; Unerwartetes Verhalten mit DNAT Rules</title>
		<link>https://www.hertes.net/2021/03/azure-firewall-unerwartetes-verhalten-mit-dnat-rules/</link>
					<comments>https://www.hertes.net/2021/03/azure-firewall-unerwartetes-verhalten-mit-dnat-rules/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Thu, 04 Mar 2021 12:25:54 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Azure Firewall]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Regeln]]></category>
		<category><![CDATA[TCP]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=4086</guid>

					<description><![CDATA[Die Azure Firewall hat ein für mich zunächst nicht nachvollziehbares, aber dann verständliches, wenn auch nicht erwartetes Verhalten. Allerdings steht es, wenn man dann genau nachliest, auch genau so, wie es passiert in der Doku. Aber nochmal langsam&#8230; Ich habe auf einer Azure Firewall einige DNAT Rules, um auf Jump-Hosts zu kommen, die in unterschiedlichen Netzwerken stehen: Hier ist also für zwei VMs aus dem freien Internet über die Public IP der Azure Firewall und zwei höhere Ports der Durchgriff auf RDP TCP/3389 konfiguriert. Zwischen den beiden Netzwerken, in denen sich die VMs befinden, soll der Traffic aber stark reglementiert&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Die Azure Firewall hat ein für mich zunächst nicht nachvollziehbares, aber dann verständliches, wenn auch nicht erwartetes Verhalten. Allerdings steht es, wenn man dann genau nachliest, auch genau so, wie es passiert in der Doku. Aber nochmal langsam&#8230;</p>



<p>Ich habe auf einer Azure Firewall einige DNAT Rules, um auf Jump-Hosts zu kommen, die in unterschiedlichen Netzwerken stehen:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2021/03/image.png"><img loading="lazy" decoding="async" width="1024" height="100" src="https://www.hertes.net/wp-content/uploads/2021/03/image-1024x100.png" alt="" class="wp-image-4087" srcset="https://www.hertes.net/wp-content/uploads/2021/03/image-1024x100.png 1024w, https://www.hertes.net/wp-content/uploads/2021/03/image-300x29.png 300w, https://www.hertes.net/wp-content/uploads/2021/03/image-768x75.png 768w, https://www.hertes.net/wp-content/uploads/2021/03/image-1536x150.png 1536w, https://www.hertes.net/wp-content/uploads/2021/03/image.png 1675w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Hier ist also für zwei VMs aus dem freien Internet über die Public IP der Azure Firewall und zwei höhere Ports der Durchgriff auf RDP TCP/3389 konfiguriert.</p>



<p>Zwischen den beiden Netzwerken, in denen sich die VMs befinden, soll der Traffic aber stark reglementiert sein. Daher sind dort nur einige Ports explizit erlaubt, für den Rest sollte die Azure Firewall &#8222;per default&#8220; blockieren:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2021/03/image-1.png"><img loading="lazy" decoding="async" width="1024" height="112" src="https://www.hertes.net/wp-content/uploads/2021/03/image-1-1024x112.png" alt="" class="wp-image-4088" srcset="https://www.hertes.net/wp-content/uploads/2021/03/image-1-1024x112.png 1024w, https://www.hertes.net/wp-content/uploads/2021/03/image-1-300x33.png 300w, https://www.hertes.net/wp-content/uploads/2021/03/image-1-768x84.png 768w, https://www.hertes.net/wp-content/uploads/2021/03/image-1-1536x168.png 1536w, https://www.hertes.net/wp-content/uploads/2021/03/image-1.png 1611w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Jedoch ist es dennoch so, dass zwischen den beiden VMs, die ja in getrennten Netzen stehen, weiterhin Kommunikation möglich ist, auch jenseits von ICMP und HTTP(S). Getestet hatte ich es mit RDP &#8211; das geht noch, obwohl das nach meiner Meinung nicht so sein sollte.</p>



<p>Und das hatte mich sehr verwundert. Zunächst hatte ich das als Fehlverhalten interpretiert. Ein kurzer Call mit dem Support hat aber geklärt, dass dieses Verhalten so ganz normal ist. Das wiederum war für mich unerwartet.</p>



<p>Die Lösung hier ist, dass eine DNAT Rule eine implizite Network Rule nach sich zieht. Dabei werden allerdings nicht Port und Destination IP sondern Translated Adress und Translated Port für die Destination verwendet. So steht es auch in der Doku:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2021/03/image-2.png"><img loading="lazy" decoding="async" width="953" height="308" src="https://www.hertes.net/wp-content/uploads/2021/03/image-2.png" alt="" class="wp-image-4089" srcset="https://www.hertes.net/wp-content/uploads/2021/03/image-2.png 953w, https://www.hertes.net/wp-content/uploads/2021/03/image-2-300x97.png 300w, https://www.hertes.net/wp-content/uploads/2021/03/image-2-768x248.png 768w" sizes="auto, (max-width: 953px) 100vw, 953px" /></a></figure>



<p>(Quelle: <a href="https://docs.microsoft.com/en-us/azure/firewall/rule-processing?WT.mc_id=AZ-MVP-5001882">https://docs.microsoft.com/en-us/azure/firewall/rule-processing</a>)</p>



<p>Es gibt hier also zwei Lösungen, um das Ziel, keine Kommunikation zwischen den Netzen zu haben, zu erreichen:</p>



<ul class="wp-block-list"><li>In den DNAT Rules konkrete Source-IPs / Netze eintragen</li><li>Explizite Network Rules mit einem Deny zwischen den Netzen</li></ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2021/03/azure-firewall-unerwartetes-verhalten-mit-dnat-rules/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
