<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vinetos</title>
    <description>The latest articles on DEV Community by Vinetos (@vinetos).</description>
    <link>https://dev.to/vinetos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F449627%2F13ca7db5-b6bb-4118-b1db-46b6ae4c68c2.png</url>
      <title>DEV Community: Vinetos</title>
      <link>https://dev.to/vinetos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vinetos"/>
    <language>en</language>
    <item>
      <title>Enabling IPv6 on FreeBSD with DHCPv6 in Stateful Mode</title>
      <dc:creator>Vinetos</dc:creator>
      <pubDate>Thu, 08 Aug 2024 08:55:02 +0000</pubDate>
      <link>https://dev.to/vinetos/enabling-ipv6-on-freebsd-with-dhcpv6-in-stateful-mode-3142</link>
      <guid>https://dev.to/vinetos/enabling-ipv6-on-freebsd-with-dhcpv6-in-stateful-mode-3142</guid>
      <description>&lt;p&gt;Hello fellow !&lt;/p&gt;

&lt;p&gt;Today, I'm excited to share a step-by-step guide on how to enable IPv6 on your FreeBSD instance using DHCPv6 in &lt;strong&gt;stateful&lt;/strong&gt; mode.&lt;/p&gt;

&lt;p&gt;This configuration will allow your system to automatically obtain both IPv4 and IPv6 addresses from a DHCP server. &lt;/p&gt;

&lt;p&gt;Let's dive right in!&lt;/p&gt;

&lt;h2&gt;
  
  
  Install dhcpcd
&lt;/h2&gt;

&lt;p&gt;First, we need to install the dhcpcd package, which is a DHCP client daemon. To do this, open your terminal and run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pkg &lt;span class="nb"&gt;install &lt;/span&gt;net/dhcpcd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Configure dhcpcd
&lt;/h2&gt;

&lt;p&gt;Next, we'll configure &lt;code&gt;dhcpcd&lt;/code&gt; by adding some lines to its configuration file located at &lt;code&gt;/usr/local/etc/dhcpcd.conf&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;We'll add the hostname to the DHCP request and enable the IA_NA option, which requests a non-temporary address assignment. Additionally, we'll disable the generation of stable private IPv6 addresses based on the DUID (DHCP Unique Identifier). :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;/usr/local/etc/dhcpcd.conf &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;DHCP_CONF&lt;/span&gt;&lt;span class="sh"&gt;
hostname
ia_na 1
&lt;/span&gt;&lt;span class="no"&gt;DHCP_CONF
&lt;/span&gt;&lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'s/^slaac private/#slaac private/'&lt;/span&gt; /usr/local/etc/dhcpcd.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Edit rc.conf
&lt;/h2&gt;

&lt;p&gt;Now, let's edit the &lt;code&gt;rc.conf&lt;/code&gt; file to tell FreeBSD to use dhcpcd as the DHCP client and configure our network interfaces to use DHCP for both IPv4 and IPv6. Open &lt;code&gt;/etc/rc.conf&lt;/code&gt; in your favorite text editor and add the following lines:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;dhclient_program&lt;/span&gt;=&lt;span class="s2"&gt;"/usr/local/sbin/dhcpcd"&lt;/span&gt;
&lt;span class="n"&gt;ifconfig_&lt;/span&gt;${&lt;span class="n"&gt;ifdev&lt;/span&gt;}=&lt;span class="s2"&gt;"DHCP"&lt;/span&gt;
&lt;span class="n"&gt;ifconfig_&lt;/span&gt;${&lt;span class="n"&gt;ifdev&lt;/span&gt;}&lt;span class="err"&gt;_&lt;/span&gt;&lt;span class="n"&gt;ipv6&lt;/span&gt;=&lt;span class="s2"&gt;"DHCP"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;${ifdev}&lt;/code&gt; with the name of your network interface, such as &lt;code&gt;em0&lt;/code&gt;, &lt;code&gt;igb0&lt;/code&gt;, &lt;code&gt;vetnet0&lt;/code&gt;, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reboot
&lt;/h2&gt;

&lt;p&gt;Finally, reboot your system to apply the changes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;shutdown &lt;span class="nt"&gt;-r&lt;/span&gt; now
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once your system comes back online, it should have obtained both IPv4 and IPv6 addresses via DHCP. You can verify this by running the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ifconfig ${ifdev}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;${ifdev}&lt;/code&gt; with your network interface name.&lt;/p&gt;

&lt;p&gt;And that's it! You've successfully enabled IPv6 on your FreeBSD instance using DHCPv6 in stateful mode. Happy networking!&lt;/p&gt;

</description>
      <category>freebsd</category>
      <category>ipv6</category>
      <category>devops</category>
    </item>
    <item>
      <title>DSM 7.2+ on Proxmox with arpl-i18n</title>
      <dc:creator>Vinetos</dc:creator>
      <pubDate>Fri, 25 Aug 2023 20:26:31 +0000</pubDate>
      <link>https://dev.to/vinetos/dsm-72-on-proxmox-with-arpl-i18n-1g0n</link>
      <guid>https://dev.to/vinetos/dsm-72-on-proxmox-with-arpl-i18n-1g0n</guid>
      <description>&lt;p&gt;In this article, I will cover the installation of DSM 7.2+ on &lt;a href="https://www.proxmox.com/" rel="noopener noreferrer"&gt;Proxmox&lt;/a&gt; with &lt;a href="https://github.com/wjz304/arpl-i18n" rel="noopener noreferrer"&gt;arpl-i18n&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is Proxmox
&lt;/h3&gt;

&lt;p&gt;Proxmox is an open-source virtualisation management platform that combines virtualisation (KVM) and containerisation (LXC) technologies, enabling the management of virtual machines and containers on a single integrated platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is ARPL-i18n
&lt;/h3&gt;

&lt;p&gt;Automated Redpill Loader (i18n) is a project that was created to facilitate the configuration of Redpill, a loader for DSM. &lt;/p&gt;

&lt;h2&gt;
  
  
  Prepare the host
&lt;/h2&gt;

&lt;p&gt;On the host machine, you will need &lt;code&gt;curl&lt;/code&gt; or &lt;code&gt;wget&lt;/code&gt;, &lt;code&gt;unzip&lt;/code&gt; and optionally &lt;code&gt;file&lt;/code&gt;.&lt;br&gt;
You can install them by running : &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

apt &lt;span class="nb"&gt;install &lt;/span&gt;wget file unzip


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Create the VM
&lt;/h2&gt;

&lt;p&gt;To run the DSM, create an empty VM with &lt;strong&gt;no disk&lt;/strong&gt; and &lt;strong&gt;4 GB+ of RAM&lt;/strong&gt;. Leave everything else to the default value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0g2lpuutaccgp7juoir.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0g2lpuutaccgp7juoir.gif" alt="VM creation example using the web interface of Proxmox"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Download ARPL-i18n
&lt;/h2&gt;

&lt;p&gt;Go to the &lt;a href="https://github.com/wjz304/arpl-i18n/releases" rel="noopener noreferrer"&gt;releases section&lt;/a&gt; of the GitHub repository, copy the download link of the latest &lt;code&gt;arpl-i18n-XX.XX.XX.img.zip&lt;/code&gt; and download the file directly from the host :&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

wget &lt;span class="s2"&gt;"https://github.com/wjz304/arpl-i18n/releases/download/XX.XX.XX/arpl-i18n-XX.XX.XX.img.zip"&lt;/span&gt;
unzip arpl-i18n-XX.XX.XX.img.zip
file arpl-i18n-XX.XX.XX.img


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Import the image to the VM
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;arpl.img&lt;/code&gt; is a disk image containing the loader.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

root@nas ~# file arpl.img
arpl.img: DOS/MBR boot sector


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;We have to convert it to use it in Proxmox. We use &lt;code&gt;qm importdisk&lt;/code&gt; for that :&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

qm importdisk &amp;lt;VMID&amp;gt; arpl.img local-lvm


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Add a virtual serial port to the VM
&lt;/h2&gt;

&lt;p&gt;DSM uses the serial port. So we configure it.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

qm &lt;span class="nb"&gt;set&lt;/span&gt; &amp;lt;VMID&amp;gt; &lt;span class="nt"&gt;-serial0&lt;/span&gt; socket


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Configure the VM with the arpl disk
&lt;/h2&gt;

&lt;p&gt;Go to the Hardware interface section of the VM and double-click on the newly &lt;code&gt;Unused disk&lt;/code&gt; to attach it to the VM. Make sure to select &lt;strong&gt;SATA&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0rw1rvwrax77ef0uw5c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0rw1rvwrax77ef0uw5c.png" alt="Proxmox dialog for unused disk configuration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to the Options section and update the boot order to include the disk.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudaq64iyr992nzai3xox.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudaq64iyr992nzai3xox.png" alt="Boot order dialog box with SATA0 enabled and at the top"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Pass through disks to proxmox VM
&lt;/h2&gt;

&lt;p&gt;For best performances, I will pass my disk directly to the VM. I will let Synology manage the disks.&lt;br&gt;
Here is the &lt;a href="https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM)#Update_Configuration" rel="noopener noreferrer"&gt;official documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In my case, I will use :&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# List all the disks&lt;/span&gt;
lsblk |awk &lt;span class="s1"&gt;'NR==1{print $0" DEVICE-ID(S)"}NR&amp;gt;1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'&lt;/span&gt;|grep &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="nt"&gt;-E&lt;/span&gt; &lt;span class="s1"&gt;'part|lvm'&lt;/span&gt;

&lt;span class="c"&gt;# Add the corresponding to the VM&lt;/span&gt;
qm &lt;span class="nb"&gt;set &lt;/span&gt;VMID &lt;span class="nt"&gt;-sata2&lt;/span&gt; /dev/disk/by-id/ata-....
qm &lt;span class="nb"&gt;set &lt;/span&gt;VMID &lt;span class="nt"&gt;-sata1&lt;/span&gt; /dev/disk/by-id/ata-....


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;‼️&lt;/th&gt;
&lt;th&gt;ARPL only support SATA&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Configure the loader
&lt;/h2&gt;

&lt;p&gt;Time to boot the VM!&lt;br&gt;
In the boot selection, go to &lt;code&gt;Configure the loader&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bm1zk3kkkpg4cp8fccp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bm1zk3kkkpg4cp8fccp.png" alt="First launch Boot menu of arpl-i18n"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When the prompt is available, launch the configuration menu with&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

menu.sh


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;First, choose a model. I use &lt;code&gt;DSM923+&lt;/code&gt;, which is a recent one. &lt;/p&gt;

&lt;p&gt;Then, choose a version. I will go for &lt;code&gt;7.2&lt;/code&gt;. Check the URL and press Enter.&lt;/p&gt;

&lt;p&gt;Then, &lt;code&gt;Build the loader&lt;/code&gt;. It will download the DSM and install the DSM.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsvkzsa3eu1foghjpd11.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsvkzsa3eu1foghjpd11.gif" alt="Example of configuration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, &lt;code&gt;Boot the loader.&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect to the DSM and install it
&lt;/h2&gt;

&lt;p&gt;After a few moments, arpl shows the IP address of the DSM. Connect to the page and configure it as you wish. &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;‼️&lt;/th&gt;
&lt;th&gt;Make sure to &lt;strong&gt;disable automatic update.&lt;/strong&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqztmekunpq7yenx09hd7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqztmekunpq7yenx09hd7.png" alt="arpl-i18n boot information"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Et voilà! You have a fully functional NAS in a VM with DSM 7.2+. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcsbhndcummhr0jrm1dxz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcsbhndcummhr0jrm1dxz.png" alt="Synology homepage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bibliography
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/wjz304/arpl-i18n" rel="noopener noreferrer"&gt;https://github.com/wjz304/arpl-i18n&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/fbelavenuto/arpl" rel="noopener noreferrer"&gt;https://github.com/fbelavenuto/arpl&lt;/a&gt;&lt;br&gt;
&lt;a href="https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM)#List_disk_by-id_with_lsblk" rel="noopener noreferrer"&gt;https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM)#List_disk_by-id_with_lsblk&lt;/a&gt;&lt;/p&gt;

</description>
      <category>xpenology</category>
      <category>dsm</category>
      <category>proxmox</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
