ネットワークインターフェイスは、今日のビジネスにおいて絶対に不可欠な部分です。ママとポップショップからフォーチュン100企業まで、誰もがロジスティクスとコミュニケーションのためにネットワークを活用しています。すべてではないにしても、これらの企業のほとんどは、何らかの方法で収益をネットワークに直接結び付けることができます。ネットワークがダウンしたり、誰かが誤って間違ったインターフェイスを循環させたりした場合、お金はテーブルにあります。このため、システム/ネットワーク管理者は、ネットワークインターフェイス上またはその周辺で作業するときは常に注意を払う必要があります。
最も基本的で見過ごされがちなタスクの1つは、毎日依存しているさまざまなインターフェースの命名規則です。私は、環境全体に対して1つまたは2つのインターフェースしかない中小企業と協力してきました。この場合、命名規則はそれほど問題になりません。ただし、大規模なエンタープライズ環境では、ネットワークインターフェイスに名前を付けることが長期的な成功に不可欠です。すべてのインターフェースに同じ名前が付けられているため、間違いを犯しやすいと想像してみてください。
でも慌てる必要はありません!素晴らしいLinux/Unixコミュニティは、この問題が発生するのを見て、それを回避するための複数の方法を開発しました。 3つの異なるコマンドを見てみたい:nameif
、ip link
、およびifrename
。これらの各ツールを利用して、さまざまな方法でインターフェースに名前を付けたり、インターフェースを操作したりできます。
nameif
nameif
commandは、正式に非推奨となった古いコマンドです。ただし、特定のタスクにそれを使用している人はまだいます。このコマンドの唯一の目的は、デバイスのMACアドレスに従ってインターフェイスに名前を付けることです。例:
[root@rhel ~]# nameif -c /etc/mactab -s 08:00:27:30:52:a7
-c
オプションを使用すると、読み取る構成ファイルを指定できます。デフォルトでは、/etc/mactab
を使用します 。 -s
フラグは、システムにエラーメッセージをsyslogに送信することを通知するだけです。次に、名前を変更するインターフェイスのMACアドレスを指定します。簡単な日。
nameif
を実行する必要があることに注意してください インターフェイスを起動する前に、さもないと失敗します。
ifrename
ネットワークインターフェース名はデフォルトで動的であり、先着順の数値ベースで割り当てられます:eth0
、eth1
、eth2
、 等々。 ifrename
ツールを使用すると、インターフェイスに一貫した名前を割り当てることができます。これはいくつかの方法で設定できます。ただし、ここでの最も一般的な使用法は、MACアドレスに基づいて名前を設定することです。 MACアドレスはデバイスに固有であるため、この方法で行うのは理にかなっています。 nameif
によく似ています 、ifrename
を実行する必要があります 障害を回避するためにインターフェイスを起動する前。このツールは、構成ファイルからデータも取得します。ただし、今回は/etc/iftab
を使用しています (特に指定しない限り)。使い方を見てみましょう。
構文:[root @ rhel〜]#ifrename [-c configfile] [-i interface] [-n newname]
-c
-/etc/iftab
以外の構成ファイルを指定できます
-i
-すべてのシステムインターフェイスではなく、特定のインターフェイスのみの名前を変更できます
-n
-インターフェースの新しい名前を指定できます(-i
で使用) )
-D
-ユーザーが「ドライラン」モードに入ることができます。ここでは、ifrename
インターフェイスの名前は変更されません。新しい名前を出力して返すだけです。これは、実際に実行する前に、コマンドが正しいことを確認するための優れた方法です。
-V
-問題のデバッグに使用される追加情報を含む詳細な出力を提供します。
IPリンク
ip
コマンドは、Linuxネットワークコマンドのスイスアーミーナイフです。特にip link
に注目しています 、ネットワークインターフェイスに名前を付けて変更するために使用されるコマンド。
すべてのインターフェースを一覧表示するには、以下を使用します。
[tcarrigan@rhel ~]$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:30:52:a7 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:b7:7b:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:b7:7b:c7 brd ff:ff:ff:ff:ff:ff
このコマンドで指定されたIPアドレス情報がないことに注意してください。 ip addr
を使用する必要があります そのニーズを満たすためのコマンド。特定のインターフェース情報については、以下を使用してください:
[tcarrigan@rhel ~]$ ip link show dev enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:30:52:a7 brd ff:ff:ff:ff:ff:ff
インターフェイスの名前を変更するには、次を使用します。
[tcarrigan@rhel ~]$ ip link set eth0 name eth123
変更を行うには、インターフェイスを無効にし、名前を変更してから、元に戻す必要があることに注意してください。また、/etc/sysconfig/network-scripts/ifcfg_old_device_name
ファイルのタイトルとコンテンツの両方で新しいデバイス名に変更します。
まとめ
「猫の皮を剥ぐ方法は複数あります」と言っていた上司がいました。より洗練された言い方がありますが、重要なのは、タスクを完了するための別の方法が常にあるということです。これは、管理者が実行する必要のあるほとんどすべての操作で証明されています。インターフェイスに名前を付けるような単純なものでも、管理者が選択できるようになります。あなたの考えは何ですか?状況が提示された場合、これらのコマンドのどれを使用して作業を完了しますか?
[ネットワークにもっと欲しいですか? Ansibleを使用したネットワーク自動化に関する無料の電子ブックをダウンロードしてください。 ]