When setting up servers, two fundamental naming concepts come into play:
- Hostname: A simple label identifying a device on a network (e.g.,
myfileserver
) - Fully Qualified Domain Name (FQDN): The complete address that specifies both host and domain hierarchy (e.g.,
fileserver.company.com
)
Local Network Configuration
For internal services like a file server, a hostname alone often suffices:
# Example in /etc/hosts
192.168.1.100 myfileserver
Internet-Accessible Services
Public-facing services require FQDNs for proper DNS resolution:
# Typical DNS record setup
webserver IN A 203.0.113.45
mail IN CNAME webserver.company.com.
Consider these configuration examples:
Linux Hostname Setup
# View current hostname
hostnamectl status
# Set hostname temporarily
hostname mydevserver
# Set hostname permanently
hostnamectl set-hostname mydevserver
Web Server Configuration
Apache virtual host example using FQDN:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- Using unqualified hostnames in SSL certificates
- Forgetting to update both forward/reverse DNS records
- Mismatched hostname/FQDN in service configurations
Check your configuration with these commands:
# Verify FQDN resolution
hostname -f
# Check DNS records
dig +short example.com
# Test connectivity
ping -c 4 fileserver.localdomain
In network administration, a hostname is the human-readable label assigned to a device on a network. It's the basic identifier that helps users and systems recognize a machine without needing its IP address.
A Fully Qualified Domain Name (FQDN) represents the complete, unambiguous address of a host in the DNS hierarchy. It specifies the exact location of a device within the domain namespace.
# Example hostname: fileserver
# Example FQDN: fileserver.company.local
For a local file server, you typically use a simple hostname:
# In /etc/hostname (Linux) or hostname command (Windows)
myfileserver
For internet-facing services, FQDNs are mandatory:
# Web server FQDN
web01.prod.example.com
# Mail server FQDN
mail.exchange.example.com
Here's how you might configure DNS records for different scenarios:
# Local network DNS zone file example
fileserver IN A 192.168.1.10
; Simple hostname resolution
# Public DNS example
www IN CNAME webserver.prod.example.com.
webserver.prod.example.com. IN A 203.0.113.45
When configuring web servers, the FQDN becomes critical:
# Apache VirtualHost configuration
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/html
# Nginx server block
server {
listen 80;
server_name mail.example.com;
...
}
Always ensure:
- Hostnames should be unique within their domain
- FQDNs must be resolvable through DNS
- SSL certificates require FQDNs, not simple hostnames
# Testing FQDN resolution
nslookup webserver.prod.example.com
ping -a 192.168.1.10