Hostname not presented to Router

I am using the Odroid N2+ 22.06 minimal image.

Once image is running post basic first time setup script is run network works fine in terms of able to ping external IP address and external site just fine.

The issue is the host name is not presented to the router. The router lists the host name as “unknown”. One is forced to log onto router and determine the DHCP IP address assigned to the N2+ image so can use the IP address and not hostname when using ssh internally. This is the first time in my 30 years of using Unix and Linux that the host name of system is not presented to router or network. DietPi and Armbian for N2+ present host name to router, as does the Raspberry Pi OS systems and the various x86 systems on same subnet that is for the same router as would normally expect.

An update to Manjaro N2+ system was done. This brought the version to 22.08. Same issue still persists.

The router has no way of knowing the hostname unless you are using a reverse lookup zone.

As I indicated this is first time the host name of Unix or Linux system is not presented to network in my 30 years of using Unix. I have a large mix of Linux and FreeBSD systems. All these system present their hostname to the network which also show in the router when I look up the hostnames connected option just like I can also see on router what ports on what hosts are connected and active as has been case for 30 years. The routers I am referring to are not internet routers, but routers one uses that have in my case OpenWRT on them and are the routers that DHCP addresses were assigned by the router. Even with static IP addresses the hostname is still presented to router.

When you are a seasoned experienced sysadmin - you will also know how to configure your system(s).

The default on Arch-based systems is to request a hostname from the network. The configuration are found in

/etc/dhcpcd.conf

Reading

man dhcpcd.conf

The point being made is that for some odd reason at least the N2+ image has been created such that the hostname is not presented to network. As noted network is working for pinging external IP addresses and external site names. Never has it been out of box a system that has functioning network and DHCP were the hostname is not presented to network. That is the point. The question may instead be were does one report such issues with images?

This is not a bug - it is a deliberate configuration, or lack thereof if you will - what if you by accident have two hosts with the same name? And that is not even an accident - e.g. if you boot two systems simultanous using a live ISO - then you have two hosts named manjaro - what should the router do then?

On any given network - having multiple hosts with the same identification will create issues whether this is name or IP. Any properly configured network would reject the second device and you would be pulling hair depending on which device registered first with the dhcp server - often the router, but that is not always so.

So it is more likely your network configuration - instead of asking - is assuming the host will send the hostname - which an Arch based system does not.

An Arch based system expects the dhcp service to assign a hostname - and that hostname is likely the one set on the host - but the service won’t know until it asks - all this will ensure the dhcp service can keep track and avoid clashing.

I think this is an interesting question. After researching a little bit myself, I don’t have a definitive answer but I think the router can use a mix of protocols to determine the hostnames. It can be a mix of DNS, mDNS, reverse DNS (that actually uses DNS), DHCP requests and maybe something else.

If your linux box doesn’t use any of that (fixed IP and no DNS services) that’s probably why it is marked as “unknown”. If you use DHCP, then maybe you have to enable the hostname option in /etc/dhcpcd.conf

1 Like

At least for the minimum Odroid N2+ image there is script that image runs first time Manjaro specific ARM Arch Linux to assign a normal user/password, root password, hostname, et al. I will assume this same first time Manjaro specific ARM Arch Linux script runs for all Manjaro specific ARM Arch Linux images. Key point here is the first time script assigns a hostname based on what the user enters. That means there should be no duplicate host name.

ssh is common, for sure with the minimal versions of Manjaro ARM Arch Linux. ssh is normally done in the form of useri@hostname. A defaul configuration prevents one from using hostname in the ssh sign on. All other SBC Os images one can use the hostname in the ssh logon. Using a IP address for ssh sign on for Manjaro ARM Arch Linux does not make sense as the default network configuration for Manjaro ARM Arch Linux is DHCP, therefore one has to keep a keyboard/monitor connected in order to access console to find out the current IP address of system or to query the router and deduce from router what IP address of the Manjaro ARM Arch Linux is. Again all other systems present the hostname to network/router to ensure one can ssh, ftp, access web server, et al bu hostname and not an IP address that can change as can be expected with DHCP.

Duplicate hostnames are not an issue and franly any router sshould be able to cope with duplicate hostnames, such as you noted can occur with live ISO images. I know more than well first hand that duplicate host names do not cause router any issues. Of course when access a system by hostname that has duplicates one is simply connected to hostname the router first finds in the router network stack, otherwise the router and network carry on normally and with no impact to network.

For sure and without question duplicate IPs will cause network issues. Again those assigning static IP rather than using DHCP allocated IPs know what they are doing, why and manage their static IPs. Again those assigning static IP and/or mix of static IPs and DHCP IPs know what they are doing.

Allocating static IPs should not presume to not present hostname to network/router.

The only clash of consequence is duplicate static IPs. Duplicate hostnames are just minor network issue. Given that default Manjaro Arch Linux is DHCP the chances of duplicate IP addresses only exists for those that are using a mix of DHCP and static IP addresses.

It makes no sense for revere DNS to be done by router for hostname when typically the systems are using DHCP and not static IP. For systems using static IPs those managing those systems are far more experienced, knowledgeable, clearly know the network topology they are managing/designing.

As the norm has always been to present the hostname to router which is far more practical that users having alot of extra effort to find the current IP address, not to mention any scripting cannot guess target system current DHCP IP address it just makes sense to have system by default present hostname to network. Experienced dev ops and/or those with specific needs of network/hostname will be the ones that will turn off hostname presented to network based on what they need to achieve in their network design and therefore why the default configuration needs to be present hostname to network.

You are 100% correct in order to have hostname presented to network and router that one has to enable the hostname parameter of /etc/dhcpcd.conf. This in my opinion should be the default in /etc/dhcpcd.conf. The reasons for this are indicated in my last reply to linux-aarhus.

I would think and expect there can be a mix of mDND, reverse DNS, and DHCP in a system with any mix of DHCP IPs or static IPs.

I just discovered why I could not find this topic in Support/Network. The topic appears to have been moved to ARM/Technical Assistance.

I opened this topic on purpose in Support/Network on purpose as expected the issue to be for all of Manjaro Arch Linux and not unique to ARM variations nor specific to the Odroid N2+ version. This has in fact been confirmed by prior replies. I would respectfully request this topic be moved back to Support/Network as it in fact applied to all of Manjaro Arch Linux and not just ARM variations of Manjaro Arch Linux.

As your topic is directly arm related - odroid device - a moderator has moved it to the arm section.

The default configuration is the configuration you find in the /etc/dhcpcd.conf and this is not likely to change.

In your situation you are directly depending on the router knowing the hostname - which in such case will present a problem with duplicate hostname - a case where the router wouldn’t know which host to forward the request to.

Accept the fact that Arch based distributions do things differently than other distributions and configure your systems accordingly.

You don’t need console and display - just use arp-scan to locate the device. You can then ssh in and setup the network.

Given that it was confirmed the topic is not ARM variation specif and is in fact how all of Manjaro Linux is makes sense to the in the Support/Network as this is not specific to the ARM variants of Manjaro Linux and by repeated answers is not specific to Odroid variants, let alone not specific to N2+. I posted to Support/Network on purpose as I fully expected this was not specific to ARM variants of Support/Network. Your replies have confirmed this is how all of Manjaro Linux is configured by default, ergo makes sense to be in Support/Network for others to find. If moderator feels different then so be it, but in my extensive deep and broad technical, assembler, embedded systems, Operating Systems, compilers, system programming, system administration, support, and QA experience or many many years it does not make sense to move topic to ARM/Technical Assistance. That said I will not make any more points in that regard as I am more than familiar with the challenges in such matters from my very deep and broad experience of many many years I have no interest nor time to address further and why it would reduce signal to noise ratio in that respect.

I am more than familiar with Arch Linux having installed and setting up a few Arch Linux systems a few years ago, but was not Manjaro. I do now at that time the hostname by default was presented to network/router. I also know that “Arch Linux” has different approach. The fact that one needs to do arp-scans, or similar as you indicated is not a reasonable manner to manage a network for usual audience of users of Manjaro Linux. This is not even a requirement for VPS hosting where VPS hosts are assigned DHCP addresses as general rule.

My Manjaro system does show the hostname in the router with a static or dhcp address as does my other desktops.Most routers today also have an option as mine does to click on an unknown device and rename it as it will then associate the mac address to the hostname and if the ip address does change it will still use the same hostname associated with the mac address.

All you need to do is uncomment line “# hostname” in the /etc/dhcpcd.conf file as I did before posting this topic and yhe hostnames will appear on router. BTW if one does use arp-scan it still shows the unknown host name as does on router while “# hostname” line mains as its default commented line. Interesting as well as arp-scan can scan by hostname so where there is unknown hostname it makes it added challenge to scan with arp-scan for reasons I will skip. It appears my effort to have more practical default for /etc/dhcpcd.conf of hostname option enabled by default is for reasons I am at loss to understand to remain so and cause increased signal to noise ratio and or others just walking away from the fine qualities of an Arch Linux type distribution.

If you want to change default configs of whatever program then contact developers of said program. Arch and consequently Manjaro tend to not change or patch original programs and their configs. It’s as simple as that.

1 Like

Thanks for suggesting contact developer. I do know Arch Linux tends not to change/patch, which I like in many ways. I did search since your reply. Frustrating to see that every distribution I have used over 30 years, be it Linux based, FreeBSD, OpenBSD, NetBSD, et al has always presented hostname to network/router when not appears the developer has hostname option commented out. Later today or tomorrow I will open suggestion with developer and see if can be changed to enable hostname by default. I am sure when I first started using “Arch Linux” about 9 years ago hostname was presented to network/router by default.

In Manjaro ARM we get the /etc/dhcpcd.conf file directly from the Arch Linux ARM package dhcpcd.

So if anything needs to change by default in this file, the issue should be raised with the Arch package maintainer with sound reasoning why.

1 Like

This thread and the claims made, that it inconvenient and a flaw in the default configs, is purely academic as a hostname is a convenience to us humans - not a requirement for a functional network.

The network stack does not have any use for it as it uses mac address and IP for addressing packets.

Even if you run a local nameservice with a complete forward and reverse zone the arp-scan does not reveal the hostname.

Sending the hostname is a convenience but certainly not a requirement for a functional network setup.

Portforwarding a service to a local device is done based on IP - not hostname - so you are barking up the wrong tree.

You are suggesting a change to a default Arch package solely based on your bias and how you think the defaults should be.

You are fighting windmills - so do yourself a favor

  • make a note to adjust /etc/dhcpcd.conf
  • accept how it is done on Arch based systems
2 Likes

If I understood zbe correctly would it make more sense to at least first try to raise the issue with upstream maintainer “with sound reasoning why” before doing so with the Arch package maintainer?

I like the suggestions and guidance zbe and Strit have made. I will follow through on the suggestions and guidance of zbe and Strit.

You have missed point that I knew what to do to effect hostname being provided to network/router.

I never asked how to configure so the hostname would be presented to network/router.

This topic was raised because as you know humans use http, ftp, imap, smtp, pop, pop3, et al to access hosts and not the IP address/MAC address as it is easier to remember, removes various steps to access various services on system, enables scripting between systems to work in a dynamic IP address space which is common often for average user, and convenient. Ditto for local systems which is why all other distributions by default present hostname to network/router.

I have many specialized scripts that create data to web server so data can be viewed with ease, of which hostname is one element as well as stability as common reference point to a system. I know of many that use application solution that needs the application solution to be divided across different systems that the data has to be passed to, processed, passed to, process, et al.

This is not about what is convenient for me. I made the change to do so from start before opening the topic, but others that may not know/understand and that could very well add to the increase of the forum signal to noise ratio.