Ubuntuサーバにホスト名でアクセスできるようにする

Ubuntuサーバ上でSonarQubeやらGitLabやらを構築したのはいいものの、URLでアクセスするときに直接IPアドレスを使用するのもなんなので、ホスト名を設定したのでメモ。

Hyper-V上にUbuntuサーバを構築した記事はこちら

avahi-daemonをインストールする

今回のUbuntuサーバはローカルネットワーク上でのみ使用するので、mDNS(マルチキャストDNS)サービスを利用してホスト名からIPアドレスを割り出します。

Ubuntuで使用できるmDNSサービスとして、avahi-daemonをインストールします。

sudo apt install avahi-daemon
picture 1

FirewallでmDNSサービス用のポートを有効化する

UbuntuサーバのFirewallに、mDNSサービス用のポートを設定します。
mDNSでは、5353ポートを使用しています。

一応、ローカルネットワークからのみ使用できるよう、サブネットで制限をかけておきます。

sudo ufw allow from 192.168.10.0/24 to any port 5353

picture 2
※自分用メモ sshもサブネットで制限かけておいてもいいかも。。。

ホスト名を変更する

ホスト名は、hostnamectlによる変更と、/etc/hostsへの登録を行います。

hostnamectl

sudo hostnamectl set-hostname aru-server
sudo hostname
picture 3

/etc/hosts

hostnamectlで設定したホスト名を、127.0.1.1に設定しています。

vi /etc/hosts
picture 4

動作確認

とりあえず再起動して。

sudo reboot

Windowsのコマンドプロンプトからsshアクセスしてみる。

picture 5

これでホスト名でUbuntuサーバにアクセスできるようになりました。

参考URL

mDNS【multicast DNS】マルチキャストDNS
Avahi
プライベートネットワーク内でlinuxにhost名でアクセスする
ubuntu 18.04でufwを使用してファイアウォールを設定する方法
Ubuntu Linux 20.04 LTSでホスト名を(永続的に)変更したい
Windows で SSH