プログラミング

システムエンジニア回顧録|一台に複数の顔。LinuxとIPアドレスの昔話

日付のない複数IP設定メモから、昔のIPエイリアスを振り返ります。通信口とアドレス、保存と確認の違いを鹿のメイザーが語ります。

29行の複数IPメモ

どうも、鹿のメイザーです。今日は、一台のLinuxに複数のIPアドレスを持たせる昔の方法のお話じゃ。パソコン一台に住所が二つ、と聞くと、鹿の家にも玄関が増えるのかと思うかもしれませんね。住所と、出入りする口とを分けて眺めてみよう。

元資料は、複数IPの設定方法をまとめた二十九行のメモです。ifconfigや設定ファイルの項目、参考リンクが残っています。ただし日付や、実際に動いて成功したという結果は確認できません。今回は、残していた方法の整理と、公式資料で確かめた補足を分けて語ります。

どこかの大きなシステムを救ったとか、夜中に何時間格闘したとか、そういう話を付け足す回ではありません。短いメモから、何を増やそうとしていたのかを読む回顧録じゃ。昔の資料には、操作は残っていても、その意味を思い出す手掛かりが少ないものもあるんですね。

一つの通信口に二つの住所

IPアドレスは、ネットワークで通信するときに使うアドレスです。一つのインターフェースに、複数のアドレスを持たせることができます。今回の図では、通信口を一つ、アドレスをエーとビーの二つにしました。実際の機器名や接続先を写した図ではありません。

同じ通信口で、別々のアドレスを扱う。ここが今日の入口です。住所の札を二つ掲げたからといって、建物が二軒になったと考えないほうがよいですね。ただし住所のたとえだけで、通信の細かな仕組みまで説明できるわけではない。まず、口とアドレスを分けるための図じゃ。

アドレスだけを追加しても、必要な経路やサービスの設定まで全部整うとは限りません。何のために複数を持たせたいのかを先に書くと、後から読むときの入口になります。元メモの具体的な利用目的は確かめられないので、この回では設定の考え方を振り返るところに留めます。

コロン付きの名前を読む

メモには、eth0の後ろにコロンとゼロを付けた名前が出てきます。昔のifconfigでIPエイリアスを扱うときの記法です。Linuxの公式資料でも、コロンと文字列を付ける形が説明されています。ゼロという数字を見ると、新しい機器の番号に見えますが、そこは分けよう。

公式資料は、エイリアスは実際のデバイスではないと説明しています。コロンの後ろの札が一つ増えたから、物理的な通信口も増えたわけではありません。鹿の名札に別名を一つ書いたところで、鹿が二頭になるわけではないのと、入口のイメージは似ていますね。

昔の記法を読むときには、見た目の名前と、その名前が表しているものを一緒に整理したい。図では、元の通信口、ラベル、追加のアドレスを置きました。原本の設定画面を貼ったものではありません。名前の末尾だけを追い掛けず、どこへ付けた札なのかを確かめるための図じゃ。

設定の保存と実行を分ける

元メモには、ifcfg系の設定や、DEVICE、IPADDRといった項目も残っています。稼働中の状態を変える操作と、後で使う設定を保存することを分けて読む入口です。画面で見えた状態だけを記録して、保存したつもりになると、後の自分が首をかしげるかもしれませんね。

ただし、設定ファイルの場所や形式、永続化の方法は、使うOSや版、管理する道具で変わります。この古いメモの操作を、現在のすべてのLinuxで通用する手順としては紹介しません。昔の方法を読むことと、いま自分の環境で何を使うかを決めることは、別の確認です。

今回、実際のネットワーク設定は変更しません。もし作業記録を残すなら、何を変え、どこに保存し、再起動後に何を確かめたかを別々に書く。そういう振り返りを、今の視点から加えています。元のメモで再起動後まで確認して成功した、と結果を作っているわけではないんじゃ。

複数IPで増えないもの

ここで、住所が二つなら安心も二倍、と話を飛ばさないようにしたい。複数のIPを付けただけで、物理的な通信口が二つになるわけではありません。速度が上がる、障害時に別の機器へ切り替わる、といった結果も、この設定だけからは言えないんですね。

VLANで通信を分ける話や、冗長化の仕組みも、アドレスを複数持たせることだけで実現したとは扱いません。元資料の置き場所にそれらしい名前があっても、作業の実績を示す証拠にはならない。資料の分類名が、いつの間にか武勇伝の見出しになるのを防ぎたいところじゃ。

公式資料では、元のデバイスを止めると、追加したエイリアスも削除されると説明しています。複数の札が、同じ土台に付いていることが見えるね。増やしたものは何で、共有しているものは何か。この二つを分けて書くと、設定の意味を過大に受け取らずに済みます。

切り分けを層で考える

接続できた、できなかった、という結果を読むときにも、アドレスと経路とサービスを分けてみたい。アドレスが付いていることと、相手まで通信できることと、目的のサービスを使えることは、確かめる対象が違います。全部をひとつの丸印で済ませない、という考え方じゃ。

これは今回の元メモに、障害を切り分けて解決した記録がある、という説明ではありません。今なら記録に加えたい観点です。何を確かめた結果なのかを添えておくと、後から見た短い成功の文字にも、意味が残る。宛先の札だけ見て、配達まで終わったとは言わないようなものですね。

画面ショットを残す場合には、そこに写るユーザー名やパソコン名、接続先、私有パスにも気を付けます。便利な記録ほど、別の情報が隅に入っていることがある。今回の動画は元の画面を使わず、技術上の関係だけを匿名の図にしました。公開する範囲も、確認の対象なんじゃ。

昔の記法と現在の道具

現在のLinux公式資料では、IPエイリアスは複数アドレスを管理する古い方法として説明されています。新しい道具では、iproute2によって一つのインターフェースに複数のアドレスやプレフィックスを扱うことができます。昔のメモを捨てる前に、考え方と道具の変化を分けて見よう。

コロン付きの名前を読めることには、古い資料を理解する意味があります。一方で、現在の環境を設定するときは、その環境で使われている道具と説明書へ戻る。古いメモのコマンド列を、時代を飛び越える万能な呪文にはしません。道具が変われば、確認の入口も読み直す必要があるんですね。

アドレスを複数持てる、という考え方を残し、名前や保存方法は当時の条件として記録する。そうすれば、見慣れない記法を発見しても、全部知らない技術だと身構えずに済む。古い地図の道と、新しい道案内を照らし合わせるように、同じ問いを違う道具で考えられるんじゃ。

2019年のネットワーク特集

関連資料は、ソフトウェアデザイン、二千十九年五月号です。第二特集は、TCP/IP・ネットワーク技術の習得。鹿志村秀昭さん、曽利雅樹さん、舟窪恵一さん、向山優さん、安井正明さん、渡部敏雄さんによる特集で、確認したTCP/IPの入口は五十二ページです。

IPアドレスとMACアドレスの違いや、サブネットマスクを扱う項目があります。複数のアドレスを考えるときにも、基礎へ戻る関連資料として紹介したい。今回のLinuxエイリアスの操作手順を教える記事だ、と同じものにして紹介するわけではありません。扱う対象の違いも残しておこう。

元メモの日付は確認できないので、その時にこの雑誌を読んだという体験にはしません。後から確認した関連資料です。年月号、特集名、著者、出版社、ページと公式の目次を残します。誌面や図を貼らず、短く独立して紹介し、気になった方が出典へ戻れる入口を用意するんじゃ。

記録に残すべき境界

今日は、日付のない複数IPの設定メモから、一つの通信口に複数のアドレスを持たせる昔の方法を振り返りました。名前の札が増えることと、機器や通信の仕組みが増えることを分ける。短いメモでも、その境界を見つけると、後で読み直す手掛かりになりますね。

今なら、使った環境と道具、何のための変更か、保存した設定、確かめた結果を別々に残したい。元の記録にない結果は、そのまま空けておく。成功の話を盛るよりも、どこまで確かめられるかが分かるメモのほうが、未来の自分への贈り物になることもあるんじゃ。

皆さんの古い資料にも、コロンの付いた名前や、短い設定の断片が残っているでしょうか。あの札は何を示していたのか、どこが同じ土台だったのか。技術の名前が変わっても、問い直す楽しさは残っています。今日は一台に複数の顔のお話でした。それではまた、次の技術メモでお会いしましょう。

参考資料

  • 筆者保管の複数IP設定メモ(日付・成功結果の確認できない手順と参考リンクの整理)を匿名化・再構成。
  • Linux Kernel documentation:IP-Aliasing https://docs.kernel.org/networking/alias.html
  • 鹿志村秀昭・曽利雅樹・舟窪恵一・向山優・安井正明・渡部敏雄「TCP/IP・ネットワーク技術の習得 ビギナーからプロへの成長を導く45のヒント」『Software Design』2019年5月号、技術評論社、第2特集、p.52(TCP/IPの入口)。基礎を学ぶ後年の関連資料として短く紹介。誌面・本文・図版の転載なし。公式目次 https://gihyo.jp/magazine/SD/archive/2019/201905

-プログラミング