A Fully Qualified Domain Name (FQDN) uniquely identifies a device or host on the internet or a private network. It provides the exact location within the Domain Name System (DNS) hierarchy, ensuring that the name is globally unique.
Understanding how to find the FQDN of a system is essential for network administration, troubleshooting, and configuring services like web servers or email servers. useful tips.
What is a Fully Qualified Domain Name?
The FQDN is the complete domain name for a specific computer, or host, on the internet. It typically consists of several parts, including the hostname, domain name, and top-level domain (TLD).
Example of an FQDN: mail.example.com.
Here, mail is the hostname, example is the domain, and com is the TLD.
Note: An FQDN always ends with a trailing dot . which represents the root of the DNS hierarchy.
This trailing dot is often omitted in everyday use.
FQDN Structure
| Component | Description | Example |
|---|---|---|
| Hostname | The name of the specific machine or service | |
| Domain Name | Organizational domain under which the host resides | example |
| Top-Level Domain (TLD) | The highest level in the DNS hierarchy | com |
| Root Domain | Denoted by a trailing dot, represents DNS root | . (usually implicit) |
Why is the FQDN Important?
The FQDN is critical in several contexts:
- Network Configuration: Used in configuring servers and clients to communicate correctly.
- Security: Certificates and access controls often rely on FQDN validation.
- DNS Resolution: Ensures precise mapping between domain names and IP addresses.
- Mail Servers: Email delivery systems use FQDNs to identify mail exchangers.
How to Find the FQDN on Linux/Unix Systems
Linux and Unix-based systems provide several commands and files to help discover the FQDN.
Method 1: Using the hostname Command
The hostname command is one of the simplest ways to display the system’s hostname and FQDN.
hostname --fqdn
This command outputs the fully qualified domain name of the system if it is properly configured.
Example output: server01.example.com
If the FQDN is not set or configured correctly, this command may only return the short hostname.
Method 2: Using the dnsdomainname Command
The dnsdomainname command returns the DNS domain name part of the FQDN.
dnsdomainname
Combining this with the hostname can help form the FQDN:
hostname -s && dnsdomainname
Here, hostname -s returns the short hostname, and dnsdomainname returns the domain.
Method 3: Using the host or nslookup Commands
If you have the system’s IP address, you can perform a reverse DNS lookup to find the FQDN.
host <IP_address>
or
nslookup <IP_address>
The output will display the PTR record which often contains the FQDN.
Method 4: Check /etc/hosts and /etc/hostname
The /etc/hostname file usually contains the short hostname. The /etc/hosts file maps IP addresses to hostnames and FQDNs.
Look for lines like:
127.0.1.1 server01.example.com server01
This indicates that server01.example.com is the FQDN for the local system.
How to Find the FQDN on Windows Systems
Windows provides multiple ways to find the FQDN of the system using graphical interfaces and command-line tools.
Method 1: Using the Command Prompt
Open the Command Prompt and type:
ipconfig /all
Look for the Primary DNS Suffix and the Host Name. Combining these two typically gives the FQDN.
Alternatively, use:
echo %COMPUTERNAME%.%USERDNSDOMAIN%
This echoes the hostname combined with the DNS domain name.
Method 2: Using PowerShell
Open PowerShell and run:
[System.Net.Dns]::GetHostByName(($env:computerName)).HostName
This command returns the fully qualified domain name.
Method 3: Using System Settings
Navigate through:
- Control Panel > System > Advanced system settings
- Click on the Computer Name tab
- Here, you will see the Full computer name which usually represents the FQDN
How to Find the FQDN on macOS
macOS, being Unix-based, supports many of the same commands as Linux.
Method 1: Using the Terminal
Open Terminal and run:
hostname -f
This command attempts to return the fully qualified domain name.
If hostname -f does not work, try:
scutil --get HostName
This will return the system’s hostname; if configured with domain information, it will be the FQDN.
Method 2: Using dnsdomainname
Similar to Linux, macOS supports:
dnsdomainname
which will return the domain part of the FQDN.
Understanding Common Issues and Troubleshooting
Finding an accurate FQDN requires proper system and network configuration. Here are some common issues and how to address them:
| Issue | Cause | Solution |
|---|---|---|
| Command returns only short hostname | Domain name not configured or missing from system settings | Configure domain name in system settings or update /etc/hosts |
| Reverse DNS lookup fails | No PTR record in DNS for IP address | Set up proper PTR records with DNS administrator |
| FQDN ends without trailing dot | Trailing dot is often omitted in everyday use | This is normal; trailing dot is optional in most contexts |
| Mismatch between hostname and DNS records | System hostname and DNS setup are inconsistent | Synchronize hostname and DNS entries |
How to Set or Configure the FQDN
If the FQDN is missing or incorrect, it can be set manually depending on the operating system.
Setting FQDN on Linux
1. Edit the /etc/hostname file to include the hostname:
server01
2. Edit the /etc/hosts file to map the IP address to the FQDN and hostname:
127.0.1.1 server01.example.com server01
3. Use the hostnamectl command (on systemd-based distros):
sudo hostnamectl set-hostname server01.example.com
4. Restart the hostname service or reboot the system to apply changes.
Setting FQDN on Windows
1. Open System Properties > Computer Name tab.
2. Click Change, then set the Computer name and Primary DNS suffix to reflect the FQDN components.
3. Apply changes and reboot the system.
Difference Between Hostname, Domain Name, and FQDN
| Term | Definition | Example |
|---|---|---|
| Hostname | Name assigned to a device on a network | server01 |
| Domain Name | Hierarchical name representing an organization or network | example.com |
| FQDN | Complete domain name specifying exact location in DNS | server01.example.com |
Additional Tips
- Always verify DNS records: Ensure forward and reverse DNS records (A and PTR) are correctly set up.
- Use trailing dot in scripts: When scripting DNS entries, use the trailing dot to avoid unintended domain suffixes.
- Check network configuration: Some DHCP servers assign domain names dynamically; verify network settings if FQDN is unexpected.
- Understand local vs global FQDN: Internal networks may use private domain names not resolvable on the internet.
- Security implication: Misconfigured FQDNs can lead to service failures or security warnings, especially with SSL certificates.
Summary
Finding the Fully Qualified Domain Name (FQDN) is a fundamental task in system administration and network management. It uniquely identifies a host and ensures proper communication in DNS-dependent services.
By using built-in commands like hostname –fqdn on Linux, ipconfig /all on Windows, or equivalent tools on macOS, you can quickly determine the FQDN of your system.
Proper configuration of the hostname, domain name, and DNS records ensures the FQDN is accurate and reliable. Understanding these components and how to verify them helps maintain a robust and secure network environment.
Remember: The FQDN is more than just a label; it is a key part of network identity and communication.