<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Nftables on My IT Journal</title>
    <link>https://my-it-blog.netlify.app/tags/nftables/</link>
    <description>Recent content in Nftables on My IT Journal</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 17 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://my-it-blog.netlify.app/tags/nftables/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Linux Firewall &amp; DMX Networking Lab</title>
      <link>https://my-it-blog.netlify.app/posts/dmz-networking/</link>
      <pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://my-it-blog.netlify.app/posts/dmz-networking/</guid>
      <description>&lt;h2 id=&#34;objective&#34;&gt;Objective&lt;/h2&gt;
&lt;p&gt;The lab focuses on troubleshooting real-world network failures by systematically isolating issues at each layer of the network stack.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;network-topology&#34;&gt;Network Topology&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;LAN (User Network)		DMZ (Service Network)
192.168.10.0/24			192.168.20.0/24
__________________		_____________________

Client VM			Server VM
192.168.10.101			192.168.20.10
	|				|
	|				|
	________ Firewall VM ___________
		(Router + Firewall)
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id=&#34;issue-1-no-connectivity-between-networks&#34;&gt;Issue 1: No connectivity between networks&lt;/h2&gt;
&lt;p&gt;Failure to connect to the webserver&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;issue&#34; loading=&#34;lazy&#34; src=&#34;https://my-it-blog.netlify.app/posts/dmz-networking/issue.png&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;troubleshooting-workflow&#34;&gt;Troubleshooting Workflow&lt;/h2&gt;
&lt;h3 id=&#34;step-1---verify-the-service-exists&#34;&gt;Step 1 - Verify the service exists&lt;/h3&gt;
&lt;p&gt;From Server:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DMZ Network Lab - Firewall, Routing, and nftables</title>
      <link>https://my-it-blog.netlify.app/posts/dmz/</link>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://my-it-blog.netlify.app/posts/dmz/</guid>
      <description>&lt;h2 id=&#34;objective&#34;&gt;Objective&lt;/h2&gt;
&lt;p&gt;The goal of this lab is to design and implement a basic DMZ (Demilitarized Zone) network using Linux virtual machines, understand routing between network segments, and apply nftables as a stateful firewall.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;network-topology&#34;&gt;Network Topology&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;LAN (User Network)		DMZ (Service Network)
192.168.10.0/24			192.168.20.0/24
__________________		_____________________

Client VM			Server VM
192.168.10.101			192.168.20.10
	|				|
	|				|
	________ Firewall VM ___________
		(Router + Firewall)
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id=&#34;vm--routing-configuration&#34;&gt;VM &amp;amp; Routing Configuration&lt;/h2&gt;
&lt;h3 id=&#34;client-vm&#34;&gt;Client VM&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;client-config&#34; loading=&#34;lazy&#34; src=&#34;https://my-it-blog.netlify.app/posts/dmz/client-conf.png&#34;&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo netplan try
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo netplan apply
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;firewall-vm-core-router&#34;&gt;Firewall VM (Core Router)&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;firewall-config&#34; loading=&#34;lazy&#34; src=&#34;https://my-it-blog.netlify.app/posts/dmz/frw-conf.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux nftables Firewall Fundamentals Lab</title>
      <link>https://my-it-blog.netlify.app/posts/nftables/</link>
      <pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://my-it-blog.netlify.app/posts/nftables/</guid>
      <description>&lt;h2 id=&#34;objective&#34;&gt;Objective&lt;/h2&gt;
&lt;hr&gt;
&lt;h2 id=&#34;lab-environment&#34;&gt;Lab Environment&lt;/h2&gt;
&lt;p&gt;Client VM 1 - 192.168.10.101
Client VM 2 - 192.168.10.102
Server VM - 192.168.10.10&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;server-setup&#34;&gt;Server Setup&lt;/h2&gt;
&lt;h3 id=&#34;step-1---run-web-server&#34;&gt;Step 1 - Run web server&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3 -m http.server &lt;span style=&#34;color:#ae81ff&#34;&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ss -tln | grep :8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;web-server&#34; loading=&#34;lazy&#34; src=&#34;https://my-it-blog.netlify.app/posts/nftables/web-server.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;step-2---base-firewall-configuration&#34;&gt;Step 2 - Base firewall configuration&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo nft add table inet filter
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo nft add chain inet filter input &lt;span style=&#34;color:#ae81ff&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;{ type filter hook input priority 0; policy drop; }&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo nft add rule inet filter input iif lo accept
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo nft add rule inet filter input ct state established,related accept
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;ruleset&#34; loading=&#34;lazy&#34; src=&#34;https://my-it-blog.netlify.app/posts/nftables/basenft_ruleset.png&#34;&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
