Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - zackboll

#1
root@OPNsense:~ # smartctl -x /dev/ada0
smartctl 7.5 2025-04-30 r5714 [FreeBSD 14.3-RELEASE-p7 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     M900-64
Serial Number:    AA000000000000002405
Firmware Version: U0330A0
User Capacity:    64,023,257,088 bytes [64.0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      mSATA
TRIM Command:     Available
Device is:        Not in smartctl database 7.5/5706
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Wed Apr 22 20:21:33 2026 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM level is:     128 (minimum power consumption without standby)
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, frozen [SEC2]

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x02) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (  120) seconds.
Offline data collection
capabilities: (0x11) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
entering power-saving mode.
Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: (   2) minutes.
Extended self-test routine
recommended polling time: (  10) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     -O--CK   100   100   050    -    0
  5 Reallocated_Sector_Ct   -O--CK   100   100   050    -    9
  9 Power_On_Hours          -O--CK   100   100   050    -    35721
 12 Power_Cycle_Count       -O--CK   100   100   050    -    55
160 Unknown_Attribute       -O--CK   100   100   050    -    2
161 Unknown_Attribute       PO--CK   100   100   050    -    86
163 Unknown_Attribute       -O--CK   100   100   050    -    12
164 Unknown_Attribute       -O--CK   100   100   050    -    4550458
165 Unknown_Attribute       -O--CK   100   100   050    -    21382
166 Unknown_Attribute       -O--CK   100   100   050    -    3296
167 Unknown_Attribute       -O--CK   100   100   050    -    4638
168 Unknown_Attribute       -O--CK   100   100   050    -    5050
169 Unknown_Attribute       -O--CK   100   100   050    -    9
175 Program_Fail_Count_Chip -O--CK   100   100   050    -    0
176 Erase_Fail_Count_Chip   -O--CK   100   100   050    -    0
177 Wear_Leveling_Count     -O--CK   100   100   050    -    0
178 Used_Rsvd_Blk_Cnt_Chip  -O--CK   100   100   050    -    9
181 Program_Fail_Cnt_Total  -O--CK   100   100   050    -    0
182 Erase_Fail_Count_Total  -O--CK   100   100   050    -    0
192 Power-Off_Retract_Count -O--CK   100   100   050    -    48
194 Temperature_Celsius     -O---K   100   100   050    -    40
195 Hardware_ECC_Recovered  -O--CK   100   100   050    -    0
196 Reallocated_Event_Count -O--CK   100   100   050    -    2
197 Current_Pending_Sector  -O--CK   100   100   050    -    9
198 Offline_Uncorrectable   -O--CK   100   100   050    -    2
199 UDMA_CRC_Error_Count    -O--CK   100   100   050    -    19
232 Available_Reservd_Space -O--CK   100   100   050    -    86
241 Total_LBAs_Written      ----CK   100   100   050    -    3227582
242 Total_LBAs_Read         ----CK   100   100   050    -    31273
245 Unknown_Attribute       -O--CK   100   100   050    -    6532769
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

General Purpose Log Directory Version 1
SMART           Log Directory Version 1 [multi-sector log support]
Address    Access  R/W   Size  Description
0x00       GPL,SL  R/O      1  Log Directory
0x01           SL  R/O      1  Summary SMART error log
0x02           SL  R/O      1  Comprehensive SMART error log
0x03       GPL     R/O      1  Ext. Comprehensive SMART error log
0x04       GPL,SL  R/O      8  Device Statistics log
0x06           SL  R/O      1  SMART self-test log
0x07       GPL     R/O      1  Extended self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log
0xde       GPL     VS       8  Device vendor specific log

SMART Extended Comprehensive Error Log Version: 1 (1 sectors)
Device Error Count: 19 (device log contains only the most recent 4 errors)
CR     = Command Register
FEATR  = Features Register
COUNT  = Count (was: Sector Count) Register
LBA_48 = Upper bytes of LBA High/Mid/Low Registers ]  ATA-8
LH     = LBA High (was: Cylinder High) Register    ]   LBA
LM     = LBA Mid (was: Cylinder Low) Register      ] Register
LL     = LBA Low (was: Sector Number) Register     ]
DV     = Device (was: Device/Head) Register
DC     = Device Control Register
ER     = Error register
ST     = Status register
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 19 [2] log entry is empty
Error 18 [1] log entry is empty
Error 17 [0] log entry is empty
Error 16 [3] occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER -- ST COUNT  LBA_48  LH LM LL DV DC
  -- -- -- == -- == == == -- -- -- -- --
  04 -- 51 00 00 00 00 00 00 00 00 00 00  Error: ABRT

  Commands leading to the command that caused the error were:
  CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
  -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
  b0 00 d1 01 01 00 00 4f 00 c2 01 40 08     00:00:00.000  SMART READ ATTRIBUTE THRESHOLDS [OBS-4]
  2f 00 00 01 01 00 00 00 00 00 03 40 08     00:00:00.000  READ LOG EXT
  2f 00 00 01 01 00 00 00 00 00 00 40 08     00:00:00.000  READ LOG EXT
  b0 00 d5 01 01 00 00 4f 00 c2 00 40 08     00:00:00.000  SMART READ LOG
  b0 00 da 00 00 00 00 4f 00 c2 00 40 08     00:00:00.000  SMART RETURN STATUS

SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     35703         -
# 2  Short offline       Completed without error       00%     35698         -

Selective Self-tests/Logging not supported

SCT Commands not supported

Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x01  =====  =               =  ===  == General Statistics (rev 1) ==
0x01  0x008  4              55  ---  Lifetime Power-On Resets
0x01  0x010  4           35721  ---  Power-on Hours
0x01  0x018  6      1069436808  ---  Logical Sectors Written
0x01  0x020  6         7559555  ---  Number of Write Commands
0x01  0x028  6      2049552508  ---  Logical Sectors Read
0x01  0x030  6          323569  ---  Number of Read Commands
0x07  =====  =               =  ===  == Solid State Device Statistics (rev 1) ==
0x07  0x008  1              91  ---  Percentage Used Endurance Indicator
                                |||_ C monitored condition met
                                ||__ D supports DSN
                                |___ N normalized value

Pending Defects log (GP Log 0x0c) not supported

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x0001  4            0  Command failed due to ICRC error
0x0002  4            0  R_ERR response for data FIS
0x0005  4            0  R_ERR response for non-data FIS
0x000a  4           21  Device-to-host register FISes sent due to a COMRESET

#2
I did install smartmontools and do an extended test.  It says passed.  My new ssd arrived today, and I am considering whether I want to upgrade to it.

root@OPNsense:~ # smartctl -a /dev/ada0
smartctl 7.5 2025-04-30 r5714 [FreeBSD 14.3-RELEASE-p7 amd64] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     M900-64
Serial Number:    AA000000000000002405
Firmware Version: U0330A0
User Capacity:    64,023,257,088 bytes [64.0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      mSATA
TRIM Command:     Available
Device is:        Not in smartctl database 7.5/5706
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Wed Apr 22 20:09:04 2026 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x02) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (  120) seconds.
Offline data collection
capabilities: (0x11) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
entering power-saving mode.
Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: (   2) minutes.
Extended self-test routine
recommended polling time: (  10) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   100   100   050    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   050    Old_age   Always       -       9
  9 Power_On_Hours          0x0032   100   100   050    Old_age   Always       -       35721
 12 Power_Cycle_Count       0x0032   100   100   050    Old_age   Always       -       55
160 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       2
161 Unknown_Attribute       0x0033   100   100   050    Pre-fail  Always       -       86
163 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       12
164 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       4550244
165 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       21380
166 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       3296
167 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       4638
168 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       5050
169 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       9
175 Program_Fail_Count_Chip 0x0032   100   100   050    Old_age   Always       -       0
176 Erase_Fail_Count_Chip   0x0032   100   100   050    Old_age   Always       -       0
177 Wear_Leveling_Count     0x0032   100   100   050    Old_age   Always       -       0
178 Used_Rsvd_Blk_Cnt_Chip  0x0032   100   100   050    Old_age   Always       -       9
181 Program_Fail_Cnt_Total  0x0032   100   100   050    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   050    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   050    Old_age   Always       -       48
194 Temperature_Celsius     0x0022   100   100   050    Old_age   Always       -       40
195 Hardware_ECC_Recovered  0x0032   100   100   050    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   050    Old_age   Always       -       2
197 Current_Pending_Sector  0x0032   100   100   050    Old_age   Always       -       9
198 Offline_Uncorrectable   0x0032   100   100   050    Old_age   Always       -       2
199 UDMA_CRC_Error_Count    0x0032   100   100   050    Old_age   Always       -       19
232 Available_Reservd_Space 0x0032   100   100   050    Old_age   Always       -       86
241 Total_LBAs_Written      0x0030   100   100   050    Old_age   Offline      -       3227517
242 Total_LBAs_Read         0x0030   100   100   050    Old_age   Offline      -       31273
245 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       6532568

SMART Error Log Version: 1
ATA Error Count: 19 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 15 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  04 51 00 00 00 00 00  Error: ABRT

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  b0 d0 01 00 4f c2 40 08      00:00:00.000  SMART READ DATA
  b0 d1 01 01 4f c2 40 08      00:00:00.000  SMART READ ATTRIBUTE THRESHOLDS [OBS-4]
  b0 da 00 00 4f c2 40 08      00:00:00.000  SMART RETURN STATUS
  b0 d5 01 00 4f c2 40 08      00:00:00.000  SMART READ LOG
  b0 d5 01 01 4f c2 40 08      00:00:00.000  SMART READ LOG

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     35703         -
# 2  Short offline       Completed without error       00%     35698         -

Selective Self-tests/Logging not supported

The above only provides legacy SMART information - try 'smartctl -x' for more

#3
Thank you, that worked!
#4
25.7, 25.10 Legacy Series / Opnsense file corruption
April 22, 2026, 03:10:44 AM
Hi,

I believe I have a failing SSD so I am currently in the process of buying a new one.

A number of my opnsense packages were corrupted, but I was able to resolve most issues by reinstalling the package.  I am currently stuck on the package (cc) c compiler.  I keep getting pager fault errors, and I cannot figure out how to reinstall the package that provides it.

root@OPNsense:~ # pkg which /usr/bin/cc
/usr/bin/cc was not found in the database

Output from dmesg for example of error:
[87] vm_fault: pager read error, pid 14115 (cc)
[87] pid 14115 (cc), jid 0, uid 0: exited on signal 10 (no core dump - bad address)
[116] vm_fault: pager read error, pid 29661 (cc)
[116] pid 29661 (cc), jid 0, uid 0: exited on signal 10 (no core dump - bad address)
[176] vm_fault: pager read error, pid 75465 (cc)
[176] pid 75465 (cc), jid 0, uid 0: exited on signal 10 (no core dump - bad address)

I was getting many more vm_fault before I reinstalled all packages (with pkg upgrade -f).  Any idea how I can reinstall /usr/bin/cc?

When I try to use executable:
root@OPNsense:~ # cc --version
Bus error

Worse case scenario, I can start from a fresh install (on new SSD) and try to restore from backup configuration.  I am currently running on the latest version 25.x series, the thought crossed my mind about trying to do in-place upgrade to 26.x to see if that fixes my corrupted filesystem.  Since my firewall is currently partly operational, and I have internet, I figure it may be better to wait until my new SSD arrives. 

Any ideas how to resolve the vm_fault errors stemming from the corrupted cc binary would be appreciated.

Thanks,
Zack
#5
Quote from: coffeecup25 on August 07, 2025, 05:22:56 PMzackboll, I'm responding to your original post. I have not read most of the rest of the thread as dual WAN is not in my network at this time.

I also recently changed over from pfSense. As this is a hobby for me, I am going from one to the other as I experiment. They are both excellent software routers.

The biggest problem I had with OPNsense initially was that everything is in a different place from pfSense. This is to be expected and normal. But it's a good chance something on your initial setup was missed. Take another look unless you have already done this and are sure they are comparable.

Thanks my dual wan policy-based gateway routing is now working after following the suggestion of creating a LAN firewall rule that forwards all traffic to my gateway group that matches the invert (private addresses).

The only thing that I am not really happy about now has to do with my primary ISP being IPv4 only, so I had to downgrade to using only IPv4 on my local network.

In ideal world, what I would like to accomplish is the following with the current limitations of my tier1 ISP:
1.) IPv4 and IPv6 on local network
2.) IPv4 traffic is routed out tier1 WAN
3.) IPv6 traffic is routed out tier1 WAN via IPv4 to cloud server, where it can then be routed as IPv6 (can kind of accomplish this per client with tailscale)
4.) IPv4 and IPv6 traffic routed out tier2 WAN when tier1 WAN fails.
#6
My current work-around for when I need IPv6 connectivity is to tunnel through a VPS that has IPv4 and IPv6 using tailscale.

It would be nice to have IPv6 available all the time for all clients on the network, but I am not sure how to accomplish this with Tier1 WAN being IPv4 only and Tier2 WAN being IPv4/IPv6.
#7
Thanks for the help, I have my 3 WAN setup with policy-based routing up and running.  I wasn't sure how to handle my tier 1 GW not having an IPv6 address, so I disabled IPv6 on my tier 2 and tier 3 GW.

Zack
#8
Thanks,

I just ran into another potential issue with my new fiber connection.  I just plugged it in tonight and unfortunately it only provides an IPv4 address.  My Tier 2 ISP provides both an IPv4 and IPv6 address.

I noticed that in GW groups, you cannot mix and match IPv4 WANs with IPv6 WANs which makes sense to me.  Since my Tier 1 ISP does not provide an IPv6 address, do I need to disable IPv6 from my Tier 2 ISP?  My concern is that all my IPv6 traffic will go through my Tier 2 ISP, leaving my Tier 1 ISP (with symmetric Up/Down bandwidth) under utilized.  Is there an alternative to disabling IPv6 on my router (maybe use an IPv6 to IPv4 translator)?  If the best solution is just to disable IPv6, I am fine with that.  I am currently not a Starlink customer and I don't believe that any of my IPv4 WAN addresses are using CGNAT.

Thanks,
Zack
#9
"Best practice, when using policy-routing rules for common upstream traffic is to create a network alias and add all private network ranges to it. Then use this alias in the policy-routing rule as destination with "invert" checked. So this rule is applied to non-private destinations only and has no impact on local traffic."

Thank you for the feedback, I am going to do some reading tonight and will hopefully accomplish this.
#10
After reviewing the OPNSense documentation more closely, I am pretty sure what I had missing was a firewall rule to allow DNS traffic to my OPNSense router (192.168.9.1).  I am guessing I will need to add additional rules for WebGUI and SSH access as well?

https://docs.opnsense.org/manual/how-tos/multiwan.html#step-5-add-allow-rule-for-dns-traffic

Thanks,
Zack
#11
I have been using OPNsense for about a week now, new user that recently switched over from pfsense.

In my previous pfsense setup, I used a dual WAN setup, with all of my traffic going through my primary WAN, with WAN2 as a failover.

I will list my problem at the end, below is my router configuration:

My primary WAN has an IPv4 and IPv6 address.  My secondary WAN2 has just an IPv4 address.  Under System->Gateways->Groups, I created a new IPv4_Failover group with WAN1 as tier1 and WAN2 as tier2.  I have tried adjusting the trigger level and pool options, initially, I trigger was based on packet loss and latency and pool was round robin.  Each of the 3 gateways uses an external DNS server as the IP address to monitor, listed in the next setting.

In System->Settings->General, I have 3 unique DNS servers specified, 1 IPv6 server, 2 IPv4 servers, all google DNS servers for now.  Each server is tied to a WAN gateway.  I have unchecked allow DNS server to be overridden by WAN, and checked Allow default gateway switching.

In Firewall->Rules->LAN, I modified the default rule for IPv4 to go to my IPv4_Failover Gateway group defined earlier (as opposed to default gateway).  For IPv6 traffic, I left it unmodified since I only have a single IPv6 WAN address.

I have been having trouble replicating my previous setup in OPNsense using policy based routing.  The setup appears to kind of work on some systems connected to the LAN, on other systems, I have no WAN access.  On one such problem system, I could not ping the main OPNsense router (192.168.9.1) from my workstation on the LAN (192.168.9.20). As soon as I modified the IPv4 LAN firewall rule to point at the default gateway, instead of my IPv4_Failover GW group, the 192.168.9.1 and internet became available on that machine.

For now, I lowered the priority of my primary WAN GW so that traffic would prefer it, and do not route any LAN traffic to the IPv4_Failover GW group.  If possible, I would like to figure out why my policy based routing is not working as my setup is getting a little more complicated with a 3rd ISP being installed this week.  My final goal will be to load balance some LAN traffic between WAN1 and WAN2, with WAN3 being used as a failover for WAN1 and WAN2.  With policy-based gateway routing, this seemed like it would be easy to accomplish with OPNsense.  I am hoping that I am just missing something simple from my configuration.

Thanks,
Zack
#12
The wizard did not appear to automatically setup the DNS server, but following the configuration guide, things worked once I setup unbound dns to forward queries to dnsmasq.

Thanks,
Zack
#13
Thanks,

After reading through the documentation linked, I think I understand why my configuration is not working.  I will try updating my configuration tonight.

It was a little chaotic during my unplanned network upgrade, so I didn't actually use an opnsense wizard to setup my machine.  I will take a look at this tonight and perhaps try using the wizard for automatic setup.

Zack
#14
Hi,

I am a new opnsense user as of this weekend.  I have planned to switch over to opnsense for a couple years now after the bad taste from netgate in recent years, my pfsense system not booting after upgrading from 2.7.0 to 2.7.2 gave me the motivation needed.

My home network requirements are fairly simple, no VLAN, wiregaurd server on router, dual WAN.

For now, I am using a single WAN, wiregaurd server is running, and I was able to install a tailscale node on the router as well.  I haven't added my backup ISP yet, but for the most part I am up and running.

What has been bothering me is that I have been unable to get local DNS resolution working.  I believe the menus may have changed a little bit in 25.7 as they don't match exactly the tutorials I have seen online.  It is my understanding that by default, opnsense should be using a combination of Dnsmasq and Unbound DNS.  This is something I have never given a second thought to while using pfsense since local DNS has always just worked for me.

For example, I currently have a host configured with a static dhcp mapping of 192.168.9.10.  I can login to that host using the IP address, however I am unable to login using the hostname "ryzen9".

In Services-> Unbound DNS -> General, I have Register ISC DHCP4 leases and Register DHCP Static Mappings checked.  It is enabled and listening port is 53.

If I do an nslookup on hostname "opnsense", I get back the expected result:
zboll@debiani3:~$ nslookup opnsense
Server:      192.168.9.1
Address:   192.168.9.1#53

Name:   opnsense.internal
Address: 192.168.9.1
Name:   opnsense.internal
Address: redacted

However, when I do an nslookup on the host mentioned above with address 192.168.9.10, I get back the following
zboll@debiani3:~$ nslookup ryzen9
Server:      192.168.9.1
Address:   192.168.9.1#53

** server can't find ryzen9: NXDOMAIN

zboll@debiani3:~$ nslookup ryzen9.internal
Server:      192.168.9.1
Address:   192.168.9.1#53

** server can't find ryzen9.internal: NXDOMAIN

Any idea what I might be doing wrong, or where I can start to further debug this issue?  I would rather not have to resort to updating /etc/hosts on all my machines (with static DHCP mappings). 

Thanks,
Zack