<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Drake&#39;s Blog</title>
    <link>https://drakenguyen.net/posts/</link>
    <description>Recent content in Posts on Drake&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-gb</language>
    <lastBuildDate>Mon, 23 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://drakenguyen.net/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Proxmox Opnsense Bridged Setup</title>
      <link>https://drakenguyen.net/posts/proxmox-opnsense-transparent-bridge-setup/</link>
      <pubDate>Mon, 23 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://drakenguyen.net/posts/proxmox-opnsense-transparent-bridge-setup/</guid>
      
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;I chose this because I didn&amp;rsquo;t want to mess with my home network and I wanted to test out opnSense filtering.&lt;/p&gt;
&lt;h3 id=&#34;hardware&#34;&gt;Hardware&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://www.aliexpress.us/item/3256806241034001.html?utparam-url=scene%3Asearch%7Cquery_from%3A&#34;&gt;Topton pfSense Firewall Soft Router N5105 N150 N100 4x i226-V 2.5G LAN NVMe Barebone Fanless Mini PC HDMI2.0 DP AES-NI OPNsense&lt;/a&gt;
!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623203504.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;software&#34;&gt;Software&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Opnsense &lt;a href=&#34;https://opnsense.org/download/&#34;&gt;https://opnsense.org/download/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Proxmox &lt;a href=&#34;https://www.proxmox.com/en/downloads&#34;&gt;https://www.proxmox.com/en/downloads&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;downloading-and-setting-up-proxmox&#34;&gt;Downloading and Setting up Proxmox&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://forum.proxmox.com/threads/proxmox-beginner-tutorial-how-to-set-up-your-first-virtual-machine-on-a-secondary-hard-disk.59559/&#34;&gt;https://forum.proxmox.com/threads/proxmox-beginner-tutorial-how-to-set-up-your-first-virtual-machine-on-a-secondary-hard-disk.59559/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;creating-vm&#34;&gt;Creating VM&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Make sure you&amp;rsquo;re not on VPN when trying to connect to Proxmox. Made that mistake before.&lt;/li&gt;
&lt;li&gt;Configs - Default
&lt;ul&gt;
&lt;li&gt;General !&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623202132.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;OS - Choose OPNsense!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623202210.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Disks - SSD emulation!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623203059.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;CPU - 4 cores, type - &lt;code&gt;host&lt;/code&gt;, gets all features of host CPU!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623203826.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Memory - 4GB!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623203854.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Network - We will config more later!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623203910.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Confirm&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;NIC setup
&lt;ul&gt;
&lt;li&gt;Go to &lt;code&gt;Datacenter&lt;/code&gt; &amp;gt; your node &amp;gt; &lt;code&gt;System&lt;/code&gt; &amp;gt; &lt;code&gt;network&lt;/code&gt;!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623204205.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Create&lt;/code&gt; &amp;gt; &lt;code&gt;Linux Bridge&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Create 1:1 relationship of Linux bridges for each physical NIC you have&lt;/li&gt;
&lt;li&gt;vmro0 was already created so vmbr1 needs to be created.&lt;/li&gt;
&lt;li&gt;I mapped it to enp2s0 and commented the label it has on the physical port!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623204626.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Repeat!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623204955.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Apply Configuration&lt;/code&gt; to save your changes! &lt;strong&gt;If you don&amp;rsquo;t you will get a vmbr doesn&amp;rsquo;t exist error when trying to start VM![&lt;/strong&gt;[Pasted image 20250623211526.png]]&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Go back to our OpnSense VM
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Hardware&lt;/code&gt; &amp;gt; &lt;code&gt;Add&lt;/code&gt; &amp;gt; &lt;code&gt;Network Device&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Add your WAN port!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623205238.png&#34; alt=&#34;Image Description&#34;&gt;
&lt;ul&gt;
&lt;li&gt;Make sure that your VM is stopped or else you will get this error 😅!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623205458.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Add your LAN port&lt;/li&gt;
&lt;li&gt;Remove vmbr0 because this will be used to communicate to your client / proxmox for config.!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623211332.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;opnsense-installation&#34;&gt;OpnSense Installation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Boot up VM&lt;/li&gt;
&lt;li&gt;It first boots up into Live mode, like linux distros. This is to test. We will need to install to fully utilize opnSense!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623211759.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Login
&lt;ul&gt;
&lt;li&gt;User: &lt;code&gt;installer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Pass: &lt;code&gt;opnsense&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Installer GUI
&lt;ul&gt;
&lt;li&gt;Continue with default keymap!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623211916.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;ZFS or UFS? Per u/jtbis
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://old.reddit.com/r/PFSENSE/comments/tcr5lg/to_zfs_or_not_that_is_the_question/i0f05we/&#34;&gt;&amp;ldquo;UFS (I don’t think PFSense supports EXT4) is more resource efficient, but lacks journaling so it gets corrupted easily in the event of a power failure. ZFS uses more resources but can take unexpected shutdowns just fine. ZFS also supports software RAID if you have multiple disks.&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I chose ZFS&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Virtual Device type: Whatever your configuration is. I only have 1 drive, so stripe.!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213057.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Select your disk!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213113.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Confirm!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213128.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Wait!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213208.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Change your root password and complete install!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213402.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Reboot now!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213507.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;It will reboot!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213520.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Proceed to the next step&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;It will boot back up shortly!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623213639.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;We will now config the LAN and WAN!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623214426.png&#34; alt=&#34;Image Description&#34;&gt;
&lt;ul&gt;
&lt;li&gt;Plug in your machine into the OpnSense LAN port that you configured and go to 192.168.1.1!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623214710.png&#34; alt=&#34;Image Description&#34;&gt;!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623214649.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Login to the firewall
&lt;ul&gt;
&lt;li&gt;User: root&lt;/li&gt;
&lt;li&gt;Pass: opnsense (or whatever your changed it to)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Set your DNS Servers. If you have a local one use that. &lt;code&gt;Enable DNSSEC support&lt;/code&gt; if you would like.!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623215103.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Choose your timezone!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250623215138.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;We can exit the wizard after this.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuring-the-transparent-bridge&#34;&gt;Configuring the Transparent Bridge&lt;/h2&gt;
&lt;p&gt;These steps are taken from zenarmor transparent bridge setup.
&lt;a href=&#34;https://www.zenarmor.com/docs/network-security-tutorials/how-to-configure-transparent-filtering-bridge-on-opnsense&#34;&gt;https://www.zenarmor.com/docs/network-security-tutorials/how-to-configure-transparent-filtering-bridge-on-opnsense&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Installing OpenWrt on MX4200</title>
      <link>https://drakenguyen.net/posts/installing-openwrt-on-mx4200/</link>
      <pubDate>Fri, 07 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://drakenguyen.net/posts/installing-openwrt-on-mx4200/</guid>
      
      <description>&lt;p&gt;&lt;em&gt;Guide was followed at certain parts here &lt;a href=&#34;https://openwrt.org/toh/linksys/mx4200_v1_and_v2&#34;&gt;https://openwrt.org/toh/linksys/mx4200_v1_and_v2&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;h3 id=&#34;hardware&#34;&gt;Hardware&lt;/h3&gt;
&lt;p&gt;Linksys AX4200 Velop Mesh Wi-Fi 6 System
It was a steal!
!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307204945.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;software&#34;&gt;Software&lt;/h3&gt;
&lt;p&gt;I chose OpenWrt&amp;hellip; Why?
Default router firmware typically lacks advanced features, security updates, and general support that OpenWrt provides. What else? It&amp;rsquo;s OPEN SOURCE!&lt;/p&gt;
&lt;h2 id=&#34;downloading-openwrt&#34;&gt;Downloading OpenWrt&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We need to select the proper firmware for our device.&lt;/li&gt;
&lt;li&gt;Go to &lt;a href=&#34;https://firmware-selector.openwrt.org/&#34;&gt;https://firmware-selector.openwrt.org/&lt;/a&gt; and search for &lt;code&gt;mx4200&lt;/code&gt;!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307211227.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;I had no clue if I had v1 or v2, this link cleared it up &lt;a href=&#34;https://www.reddit.com/r/LinksysVelop/comments/1655uxh/mx4200_v1_vs_v2_difference/&#34;&gt;https://www.reddit.com/r/LinksysVelop/comments/1655uxh/mx4200_v1_vs_v2_difference/&lt;/a&gt; (Model number for MX4200 V2 would just be &lt;code&gt;MX4200V2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;I chose &lt;code&gt;Factory&lt;/code&gt; because I will be using the web interface to install the new firmware.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;flashing-openwrt&#34;&gt;Flashing OpenWrt&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Connect your computer to your MX4200 via ethernet and enter &lt;code&gt;192.168.1.1&lt;/code&gt; into your browser and hit enter.&lt;/li&gt;
&lt;li&gt;Click on the wifi icon to unlock the secret menu !&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307212351.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;You may have to reset password here, I tried the default password and it didn&amp;rsquo;t work. Enter the password and sign in.!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307212444.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Connectivity&lt;/code&gt; on the left.!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307212611.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Click on the &lt;code&gt;CA&lt;/code&gt; on the bottom-right!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307212739.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Choose File&lt;/code&gt; &amp;gt; choose your openWrt file &amp;gt; click  &lt;code&gt;Start&lt;/code&gt;!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307212906.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;YES!&lt;/code&gt;!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307212936.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;YES!!&lt;/code&gt;!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307212958.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Wait for the firmware to flash!&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307213015.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;The device will reboot after a few minutes and the LED on the router will be solid blue. BE PATIENT. !&lt;img src=&#34;https://drakenguyen.net/images/Pasted%20image%2020250307213140.png&#34; alt=&#34;Image Description&#34;&gt;&lt;/li&gt;
&lt;li&gt;Once the light is solid blue it&amp;rsquo;s done!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;flash-openwrt-to-alternate-boot-partition&#34;&gt;Flash OpenWrt to Alternate Boot Partition&lt;/h2&gt;
&lt;p&gt;MX4200 routers use two firmware partitions. If you do a 30/30/30 reboot (&lt;em&gt;press reset button for 30s. While holding, unplug router for 30s, power on, hold the reset button for 30 more seconds&lt;/em&gt;)
the device then it will boot to the alternate partition. You can do the same thing to swap back to the primary partition.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Setting Up My First Blog</title>
      <link>https://drakenguyen.net/posts/setting-up-my-first-blog/</link>
      <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://drakenguyen.net/posts/setting-up-my-first-blog/</guid>
      
      <description>&lt;h1 id=&#34;tech-stack&#34;&gt;Tech stack&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Obsidian&lt;/li&gt;
&lt;li&gt;Hugo&lt;/li&gt;
&lt;li&gt;NetworkChuck&amp;rsquo;s script&lt;/li&gt;
&lt;li&gt;Hostinger&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;obsidian&#34;&gt;Obsidian&lt;/h1&gt;
&lt;p&gt;Obsidian is a FOSS note-taking app that utilizes markdown. It has a lot of plugins and themes for insane customization.&lt;/p&gt;
&lt;h1 id=&#34;hugo-set-up&#34;&gt;Hugo Set up&lt;/h1&gt;
&lt;h2 id=&#34;pre-reqs&#34;&gt;Pre-reqs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Git install: &lt;a href=&#34;https://github.com/git-guides/install-git&#34;&gt;https://github.com/git-guides/install-git&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;free and open-source version control system used for tracking changes in source code during software development&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go install: &lt;a href=&#34;https://go.dev/dl/&#34;&gt;https://go.dev/dl/&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a fast statically typed, compiled high-level general purpose programming language&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hugo install: &lt;a href=&#34;https://gohugo.io/installation/&#34;&gt;https://gohugo.io/installation/&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;framework for building websites&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dart Sass install: &lt;a href=&#34;https://gohugo.io/hugo-pipes/transpile-sass-to-css/#dart-sass&#34;&gt;https://gohugo.io/hugo-pipes/transpile-sass-to-css/#dart-sass&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
