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 インターフェース名 down
と ifconfig インターフェース名 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
ifdown
とifup
は指定したネットワークインターフェースを無効化、有効化するコマンドです。
ネットワークインターフェースを無効化する場合はifdown インターフェース名
、有効化する場合はifup インターフェース名
と入力します。
上述した ifconfig インターフェース名 down
、 ifconfig インターフェース名 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を削除します
まとめ
ネットワークインターフェースの設定について解説しました。ifconfig
、nmcli
ともにネットワークインターフェースの設定を行うコマンドですが、現在はnmcli
の使用が推奨されています。
記事の内容は理解できましたか?