2026年4月17日
インフラ
Ubuntu 24.04でのAIサーバー構築|社内LAN・ケーブル直結の両対応を実現するネットワーク設計
オンプレGPUサーバーを現場で使える状態にするまでの構築手順。Ubuntu 24.04 LTSの初期設定からAvahi(mDNS)による名前解決、リンクローカルIP固定によるケーブル直結対応までを、再起動耐性とセキュリティを含めて整理します。

概要
オンプレGPUサーバーを社内に導入したものの、「セットアップ自体は完了したが、現場のPCから接続する段になって詰まる」というケースは少なくありません。原因の多くは、ハードウェア構築ではなくネットワーク到達性の設計にあります。
本稿では、Ubuntu 24.04 LTS の初期構築から、Avahi(mDNS) による名前解決、リンクローカルIP固定 によるケーブル直結対応までを、実プロジェクトのセットアップ手順として整理します。最終的に、SSH・ブラウザのいずれからも hostname.local で到達でき、ネットワーク管理者の介在なしに現場へ展開できる状態を目標とします。
想定するゴール
- 社内LAN経由:DHCP で IP を取得し、
hostname.localで他のPCから接続可能 - ケーブル直結:ノートPCとLANケーブル1本で接続しても、追加設定なしで
hostname.localに到達可能 - SSH/HTTP両対応:ターミナルからもブラウザからも同一の名前で接続可能
- 再起動耐性:電源断・再起動・ケーブルの抜き差しを経ても自動復旧
構築の全体像
| ステップ | 内容 |
|---|---|
| 1 | Ubuntu 24.04 LTS インストール |
| 2 | SSHサーバー有効化 |
| 3 | mDNS(Avahi)導入 |
| 4 | ホスト名設定 |
| 5 | netplan で DHCP + リンクローカル固定IP |
| 6 | ファイアウォール設定 |
| 7 | アプリ層の起動(HTTPサービス) |
| 8 | クライアント側からの接続確認 |
1. Ubuntu 24.04 LTS のインストール
| アーキテクチャ | ISO |
|---|---|
| x86_64(Intel/AMD) | ubuntu-24.04-live-server-amd64.iso |
| aarch64(ARM/GB10など) | ubuntu-24.04-live-server-arm64.iso |
インストール時のポイントは次の3点です。OpenSSH server を有効化しておくこと、ストレージはモデルのロード速度に直結するため NVMe を推奨すること、ネットワークはこの段階ではDHCPのままとしておくことです。固定的なネットワーク設定は後段の netplan でまとめて行います。
2. SSHサーバーの有効化
sudo apt update sudo apt install -y openssh-server sudo systemctl enable ssh sudo systemctl start ssh
3. Avahi(mDNS)の導入
mDNS は、DNSサーバーを用意しなくても hostname.local での名前解決を可能にする仕組みです。Apple Bonjour と互換性があり、macOS は標準で対応しています。Windows も近年は標準で解決できるようになっており、クライアント側の追加導入は基本的に不要です。
sudo apt install -y avahi-daemon sudo systemctl enable avahi-daemon sudo systemctl start avahi-daemon
4. ホスト名の設定
sudo hostnamectl set-hostname gb10 sudo systemctl restart avahi-daemon
社内に複数台を配置する場合は、役割が一目で判別できる命名規則を定めておくと運用が容易になります。
| 機器 | hostname | mDNS名 |
|---|---|---|
| DGX Spark系 | gb10 | gb10.local |
| Intel NUC | nuc | nuc.local |
| 工場棟AIサーバー | factory-ai | factory-ai.local |
5. netplan で DHCP + リンクローカル固定IP
本稿の中核となる設定です。社内LAN接続とケーブル直結の両方 に対応させるため、DHCP による動的取得と並行して、リンクローカルIP(169.254.0.0/16)を静的に保持させます。
sudo tee /etc/netplan/02-direct-lan.yaml > /dev/null << 'EOF' network: version: 2 ethernets: enP7s7: dhcp4: yes addresses: - 169.254.100.10/16 EOF sudo chmod 600 /etc/netplan/02-direct-lan.yaml sudo netplan apply
dhcp4: yes:通常の社内LAN接続時はDHCPでIPを自動取得しますaddresses: 169.254.x.x/16:DHCPと並行して、リンクローカルIPを静的に保持します
インターフェース名(上記の enP7s7)はハードウェアによって異なるため、ip link で実際の名称を確認してから設定します。DHCPサーバーが存在しない直結環境では、クライアント(macOS等)も自動的に 169.254.x.x のリンクローカルIPを取得します。サーバー側が同一範囲のIPを保持していれば、ケーブル1本で疎通する構成になります。
6. ファイアウォール設定
sudo ufw allow ssh sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 5353/udp sudo ufw enable
mDNS は UDP 5353 を使用するため、hostname.local での名前解決を許可するにはこのポートの開放が必要です。
7. アプリケーション層の起動
AIサーバーとして稼働させる典型的なサービス構成は次のとおりです。
| サービス | ポート | 役割 |
|---|---|---|
| HTTP(FastAPI / Next.js) | 80 / 8080 | アプリAPI / Web UI |
| Ollama | 11434 | LLM推論(単独利用・検証向け) |
| vLLM | 8000 | LLM推論(多接続・本番向け) |
| PostgreSQL + pgvector | 5432 | データ・ベクトル保管 |
各サービスは systemd の自動起動設定(systemctl enable)で登録し、再起動後も自動的に復帰するよう構成します。これにより、電源断や計画再起動を経ても手動操作なしでサービスが復旧します。
8. クライアント側からの接続確認
macOS / Linux から
ssh admin@gb10.local curl http://gb10.local/health
ケーブル直結時の挙動
社外などでLANから切り離し、ノートPCと直結した場合でも、双方がリンクローカルIPを取得するため gb10.local で同様に接続できます。設定変更なしでデモ・PoCに持ち出せる ことが、この構成の実務上の利点です。
トラブルシューティング
hostname.local が解決できない
avahi-daemon の稼働状態と、ファイアウォールの 5353/udp 開放を確認します。
sudo systemctl status avahi-daemon sudo ufw allow 5353/udp
ケーブル直結で接続できない
- クライアント側の Wi-Fi を切断し、有線インターフェースを優先させる
- サーバー側で
netplan applyを再実行し、リンクローカルIPの付与を確認する - 双方が同一の
169.254.0.0/16範囲にいることをip addrで確認する
セキュリティ上の留意点
現場展開を容易にする構成である一方、到達性が高いぶん最低限のセキュリティ設計は欠かせません。
- SSH:パスワード認証を無効化し、鍵認証のみに限定する
- HTTP:APIには認証を必須とし、無認証エンドポイントを公開しない
- ログ監視:SSHログインおよびAPI認証失敗を記録し、監査可能な状態にする
機密データを扱うオンプレAI基盤では、これらをセットアップ段階で組み込んでおくことが、後工程での手戻りを防ぎます。
まとめ
Avahi(mDNS)+ リンクローカル固定IP の組み合わせは、社内LAN経由でも接続でき、ネットワーク管理者の介在なしにケーブル直結でも利用でき、macOS / Linux クライアントは追加設定が不要という「現場で使える」状態を、最小コストで実現する定番構成です。
ハードウェアの選定やネットワーク構成の検討に時間をかける前に、この到達性の土台を最初に固めておくことで、現場展開のスピードと再現性が大きく向上します。
