1. ホーム
  2. コース一覧
  3. LinuC Level1 v10.0 対策コース(パート2)
  4. ネットワークインターフェースの設定

LinuC Level1 v10.0 対策コース(パート2)8/29

ネットワークインターフェースの設定

こちらでは、ネットワークインタフェースの設定や変更について解説します。

hostname

hostnameはホスト名の表示、設定を行います。

ホスト名とは、ネットワーク上のコンピュータにつける識別用の文字列です。例えば、ネットワークにつながった複数のコンピュータは、それぞれ別の名前を持ちます。したがって、同じネットワーク内に同名のホストは存在できません。

まずはホスト名を確認します。ホスト名の出力は hostname コマンドで行うことができます。

hostname
aaa #ホスト名

次にホスト名の設定を行う方法について説明します。ホスト名を変更するには hostname ホスト名 というコマンドを使用します。セキュリティ上の理由から、ホスト名の変更はルートユーザ(管理者)でのみ実行できます。

sudo hostname bbb #ホスト名をbbbに変更
hostname #ホスト名の確認
bbb #ホスト名が変更された

ifconfig

ifconfigはネットワークインターフェースの設定状況の表示、設定の変更を行うコマンドです。

ifconfig コマンドを単体で入力すると、現在接続している全てのネットワークインターフェースの詳細情報を表示することができます。

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.19.2.2  netmask 255.255.255.0  broadcast 172.19.2.255
        ether 02:42:ac:13:02:02  txqueuelen 0  (Ethernet)
        RX packets 56  bytes 6385 (6.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 41  bytes 6289 (6.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfigで表示される内容

ifconfigの表示内容について、上述の出力結果を用いて解説します。

ifconfig (down,up)

ifconfig インターフェース名 downifconfig インターフェース名 up は、特定のネットワークインターフェースの無効化や有効化を行うコマンドです。無効化する場合は ifconfig インターフェース名 down 、有効化する場合は ifconfig インターフェース名 up と入力します。いずれもrootユーザーで実行する必要があります。

ifconfig down

eth0を無効化します。

ifconfig eth0 down  #eth0の無効化
ifconfig  #無効化されたか確認。eth0が消えている
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig up

無効化したeth0を有効化します。

ifconfig eth0 up  #先ほど無効化したeth0を有効化
ifconfig  #有効化されたか確認
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  #有効化されている
        inet 172.19.2.2  netmask 255.255.255.0  broadcast 172.19.2.255
        ether 02:42:ac:13:02:02  txqueuelen 0  (Ethernet)
        RX packets 56  bytes 6385 (6.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 41  bytes 6289 (6.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig add、ifconfig del

ifconfig インターフェース名 add IPアドレスifconfig インターフェース名 del IPアドレス で、インターフェースにIPアドレスの追加や削除を行うことができます。

ifconfig add eth0 192.168.1.1  #eth0にIPアドレスを追加
ifconfig del eth0 192.168.1.1  #eth0に割り当てたIPアドレスの削除

ifdown, ifup

ifdownifupは指定したネットワークインターフェースを無効化、有効化するコマンドです。

ネットワークインターフェースを無効化する場合はifdown インターフェース名 、有効化する場合はifup インターフェース名と入力します。

上述した ifconfig インターフェース名 downifconfig インターフェース名 up と同様の動きをしますが、ネットワークインターフェースを無効化した際には違いがあります。具体的には、 ifconfig インターフェース名 down を使用した場合、IPアドレスは設定されたままになりますが、 ifdown インターフェース名 を使用した場合、IPアドレスが解放されます。

ifdown eth0 #eth0の無効化
ifup eth0 #eth0の有効化
ifdown eth0 && ifup eth0 #インターフェースの再起動

nmcli

nmcliコマンドはNetworkManagerを介してネットワークに関する設定を行うコマンドです。

NetworkManager

NetworkManagerはLinuxのネットワークを管理します。nmcliなどの管理用インターフェースから受け取った処理を、設定に反映させる役割があります。

NetworkManagerにはDeviceとConnectionがあります。Deviceは物理インターフェース、Connectionは設定オブジェクトです。ConnectionをDeviceに紐づけることで設定を反映します。

nmcli

nmcli と入力すると、ネットワークデバイスの状態や接続情報など、現在認識しているデバイス情報が表示されます。

nmcli
eth0: 接続済み to eth0
        "eth0"
        ethernet (vif), 06:46:B1:C9:1D:E7, hw, mtu 9001
        inet4 10.0.0.244/24
        route4 0.0.0.0/0
        route4 10.0.0.0/24
        route4 169.254.169.254/32
        inet6 fe80::446:b1ff:fec9:1de7/64
        route6 fe80::/64

lo: 管理無し
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

nmcli device

nmcli deviceコマンドでDeviceの状態を確認することができます。

nmcli device
DEVICE  TYPE      STATE     CONNECTION 
eth0    ethernet  接続済み  eth0         #eth0が接続済みであることがわかる
lo      loopback  管理無し  --           #自ホストからのみ疎通可能なループバックインターフェース

nmcli connection show <コネクション名>

nmcli connection show コネクション名でConnectionの設定を確認することができます。

[ec2-user@ip-10-0-0-244 ~]$ nmcli connection show eth0
connection.id:                          eth0
connection.uuid:                        1b8f03b2-b4c4-412b-aee5-22d60574b6ae
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              eth0
connection.autoconnect:                 いいえ
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1653394930
connection.read-only:                   いいえ
connection.permissions:
<省略>

nmcli connection (up,down) インターフェース名

nmcli connection (up, down) インターフェース名コマンドはインターフェースを接続、切断するコマンドです。nmcli downコマンドでインターフェースの切断を行っても、サーバー再起動時にインターフェースが自動起動するため、一時的に切断したい場合に使用します。

nmcli connection up eth0 #インターフェースの接続
nmcli connection down eth0 #インターフェースの切断

その他良く使うコマンド

IPアドレス、サブネットの変更

[root] # nmcli connection modify <インターフェース名> ipv4.addresses <IPアドレス/サブネット>
[root] # nmcli connection up <インターフェース名> #設定を反映

DNSサーバーの設定

[root] # nmcli connection modify <インターフェース名> ipv4.dns "8.8.8.8" #DNSサーバの設定
[root] # nmcli connection up <インターフェース名> #設定を反映

ip addr

ip addr はネットワークインターフェースにIPアドレスを割り当てたり、割り当てられたIPアドレスやネットワークインターフェースの詳細情報を確認するためのコマンドです。

ip addrと入力するとネットワークインターフェースの状態が表示されます。以下のinetがIPアドレスを表しています。

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
    link/tunnel6 :: brd :: permaddr 7220:24c9:f261::
248: eth0@if249: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

ip addr (add,del)

ネットワークインターフェースにIPアドレスを追加する場合は、 ip addr add IPアドレス/サブネットマスク dev ネットワークインターフェース名 と入力します。また、IPアドレスを削除する場合は ip addr del IPアドレス/サブネットマスク dev ネットワークインターフェース名 と入力します。それぞれroot権限で実行する必要があります。

ip addr add 127.17.0.5/16 dev eth0  #127.17.0.5/16をeth0に割り当てています
ip addr del 127.17.0.5/16 dev eth0  #127.17.0.5/16を削除します

まとめ

ネットワークインターフェースの設定について解説しました。ifconfignmcliともにネットワークインターフェースの設定を行うコマンドですが、現在はnmcliの使用が推奨されています。

記事の内容は理解できましたか?