受付端末を既知のアドレスに保つ

LinuxBeginner
オンラインで実践に進む

はじめに

Maple Yard の受付端末には、イベント担当者が識別できる既知のアドレスが必要です。動的範囲は用意されていますが、受付の予約がなく、新規端末向けのゲートウェイと DNS オプションは未使用アドレスを指しています。保護された参照デスクは引き続き利用できます。

実際の端末識別情報を予約に対応させ、サーバーオプションを修正し、受付のリースを実際に解放して取り直します。この新しい環境には必要なものがすべてあり、最初のラボのファイルやリースは使いません。最初のガイド付きラボを完了するか、そこで扱う範囲、リース、タブ切り替えの流れに慣れておいてください。

サーバーファイルには Network Desk、各クライアントのコマンドには Check-In と Guest A、読み取り専用の観察には Network Map を使います。前と同様、同じカーネルを共有する分離された Linux ノードです。

正しい端末のアドレスを予約する

このステップでは受付端末に予定アドレスの実際のリースを与えます。まず Network Map で参照デスクのプログラムを要求し、正常な例を確認します。そのアドレスは 10.77.0.10 のままにしてください。

Network Desk に切り替えます。場所は /home/labex/project/event-network です。

cat devices.tsv
cat dhcp.conf

受付端末の MAC は 02:77:00:00:00:28 で、必要なアドレスは 10.77.0.20 です。ゲスト範囲は 10.77.0.100–10.77.0.109 のままで、予約は範囲外です。読みやすい名前だけの一致では端末を識別できません。この準備済み演習では、安定した MAC アドレスを照合します。

dhcp-host 行は端末とアドレス、任意のホスト名を関連付けます。ここでの >> は既存ファイルに追記し、範囲とオプションを残します。次のリテラルなブロック全体をコピーします。

cat >> dhcp.conf <<'CONF'
dhcp-host=02:77:00:00:00:28,10.77.0.20,check-in
CONF

最初のラボと同じコースサービスで確認、適用します。

dnsmasq --test --conf-file=dhcp.conf
sudo systemctl restart event-dhcp

構文に失敗したらファイルを読み、不正な行だけを直してから再起動します。保護された include は削除しないでください。

Check-In に切り替えます。専用のクライアント作業ディレクトリと管理者シェルから始まります。実際のリースを要求します。

dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
ip -4 addr show dev eth0

10.77.0.20/24 が期待値です。Network Map を再読み込みして、受付カードと予定の識別情報を比べます。このステップで確認するのは予約アドレスだけです。新規端末のゲートウェイと DNS は意図的にまだ誤っています。次のステップまで、Check-In からのプログラム要求は失敗する想定です。この既知の失敗を理由に VM をリセットしないでください。

クライアントが実際に使える設定を配る

このステップではゲートウェイと DNS オプションを修正し、クライアントに受信させます。まず Check-In を開きます。

ip route show default
cat /etc/resolv.conf

用意された誤りは、ゲートウェイが 10.77.0.254、DNS が 10.77.0.253 です。これらのアドレスには該当サービスがありません。実際のコース用ルーターと DNS は両方とも 10.77.0.1 です。前者はサブネット外への通信を、後者は名前解決を制御します。

Network Desk に切り替えます。dhcp-option=option:router はゲートウェイ、dhcp-option=option:dns-server は DNS を提供します。正しい include、変更しない範囲、端末予約、この 2 オプションでファイル全体を置き換えます。> と引用符付きヒアドキュメントは最初のラボで学習済みです。

cat > dhcp.conf <<'CONF'
conf-file=/opt/labex/event-network/server-base.conf
dhcp-range=10.77.0.100,10.77.0.109,255.255.255.0,2h
dhcp-host=02:77:00:00:00:28,10.77.0.20,check-in
dhcp-option=option:router,10.77.0.1
dhcp-option=option:dns-server,10.77.0.1
CONF
dnsmasq --test --conf-file=dhcp.conf
sudo systemctl restart event-dhcp

サーバーを変更しても、クライアントがすでに適用したリースは書き換わりません。Check-In に切り替え、-r で古いリースを解放します。このクライアントのプロセスとインターフェースだけが対象です。

dhclient -4 -v -r -cf client.conf -pf client.pid -lf client.leases eth0

再び要求します。

dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
ip route show default
cat /etc/resolv.conf

両方とも 10.77.0.1 を使うはずです。予約が同じ端末に一致するため、アドレスは 10.77.0.20 のままです。

Guest A に切り替え、この環境で最初のリースを取得します。

dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
ip -4 addr show dev eth0
ip route show default
cat /etc/resolv.conf

ゲスト範囲内の動的アドレスと、正しいゲートウェイ、DNS が期待値です。プログラムを要求します。

curl --noproxy '*' -fsS --max-time 5 http://programme.event.test:8080/programme.txt

最初のラボと同じ Maple Yard プログラムの全 5 行が表示されるはずです。古い誤った値が残るなら、ファイル変更後にサーバーを実際に再起動したか、影響を受けるクライアントで解放して取り直したかを確認します。/etc/resolv.conf を手動で上書きしてはいけません。サーバーオプションの問題を隠してしまいます。

再接続して受付を利用可能に保つ

このステップでは実際の新しいリースで予約の動作を証明し、受付リソースを保存します。Check-In に切り替え、解放前の現在のアドレスを読みます。

ip -4 addr show dev eth0

10.77.0.20/24 のはずです。解放してリースを再取得します。

dhclient -4 -v -r -cf client.conf -pf client.pid -lf client.leases eth0
dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
ip -4 addr show dev eth0

同じ予約アドレスが期待値です。これは実際の DHCP 解放と取得であり、静的アドレスの手動復元ではありません。ゲストの動的割り当てでは、毎回同じアドレスになる必要はありません。

受信した設定を使って受付の案内をダウンロードします。curl オプションと -o は最初のラボで説明しました。

curl --noproxy '*' -fsS --max-time 5 -o desk.txt http://desk.event.test:8080/desk.txt
cat desk.txt

期待される内容は次のとおりです。

MAPLE YARD | Registration desk
Desk: North entrance
Session: Community workshop
Status: Ready for arrivals

アドレスが違う場合は Network Desk に戻り、MAC とアドレスの正確な対応を devices.tsv と比較します。修正ファイルを検証し、コース用 DHCP サービスだけを再起動してから、Check-In で解放と要求を行います。サービス再起動やタブの再接続だけでは、新しいクライアントリースにはなりません。

Network Map を再読み込みし、Check-In、Guest A、reference からプログラムを要求します。すべて動く必要があります。固定受付アドレス、使用可能なオプション、実際の再取得、保たれたサービスがそろってネットワークの完成です。

実際のクライアント要求後の Network Map

各カードの IPv4 アドレス、ゲートウェイ、DNS を比較し、ボタン下のプログラム応答を読みます。ゲストへの具体的な割り当ては、この例と異なる場合があります。

まとめ

実際の端末識別情報を予約アドレスに結び付け、ゲートウェイと DNS オプションを配布元で直し、クライアントに新しいリースを適用しました。さらに受付のリースを解放して再取得し、アドレスと通常のゲストサービスを維持しました。

独立したチャレンジでは、イベントのアドレス計画と端末構成が変わります。使うツールと仕組みは同じです。このコースでは DHCP リレー、Wi-Fi 無線設定、高可用性、再起動後の永続化は設定していません。