Alpine Linuxの基本コマンド解説②|Cisco Modeling Labsでのシステム設定とネットワーク入門

Network
この記事は約16分で読めます。

はじめに

前回の記事(①基本操作入門)では、Alpine Linuxの基本コマンドを中心に、システム情報の確認やファイル操作について解説しました。

そもそも「Alpine Linuxって何?」「基本コマンドの使い方がよく分からない」という方は、
まず前回の記事からご覧いただくと理解がスムーズです。


今回はその続きとして、以下に焦点を当てていきます。

「システム設定」や「ネットワーク設定」

特に、ホスト名の変更やIPアドレスの設定は、ネットワーク検証やCML上でのラボ構築に欠かせない操作です。
さらに疎通確認に用いる ping や traceroute などのコマンドも紹介するので、Alpine Linuxをネットワーク環境で活用したい方にとって実践的な内容になっています。

viエディターの利用

Linuxで設定を変更するときには、対象のファイルを直接編集する必要があります。
Alpine Linuxには、標準で viエディター が搭載されており、これを使って設定を行います。

ただし、viエディターはWindowsの「メモ帳」とは大きく異なり、2つのモードを使い分ける必要があります。

モード説明
入力モードファイル内の文字入力を行うモード
コマンドモードファイルの保存などを行うモード

入力モードコマンドモードを切り替えるためには、Escキーを押します。

入力キー説明
Esc入力モードとコマンドモードを切り替える
補足(Escキーの位置)

Escキーの位置は以下になります。

設定内容を保存するときには以下コマンドを使います。

上から2つのコマンドまでを覚えておけば一旦、問題ないかと思います!

コマンド説明
:q!内容を保存せずに終了する
:wq内容を保存して終了する
:w上書き保存する( エディタは終了しない )

:」コロンは必ずつけてください。

ポイントをまとめると以下になります。

  • viエディターは「入力モード」と「コマンドモード」を切り替えて使う
  • Escキーでモードを切り替える
  • 保存や終了には :wq、保存せず終了には :q! を覚えておけばOK

これらを押さえておけば、Alpine Linuxの設定ファイル編集で迷わず作業できるようになります。

システム設定の基礎

ここからは、Alpine Linuxでの システム設定の基本操作 を紹介します。

特にネットワーク環境で使うときに欠かせないのが ホスト名の変更IPアドレスの設定 です。

ホスト名の変更

ホスト名とは、そのマシンの「名前」のことです。

Windowsだと「PC-001」や「DESKTOP-XXXX」のように端末ごとに名前がついていますよね。

Linuxでも同じようにホスト名を変更することができます。

コマンド(現在のホスト名を確認)
cat /etc/hostname
実行結果(例)
localhost:~$ cat /etc/hostname
localhost

次に、vi エディタで /etc/hostname ファイルを開きます。

コマンド
sudo vi /etc/hostname

管理者権限で実行してください(今回は「sudo」コマンドを使っています)

viエディタで開くとhostnameファイルが以下の通りになっているため、Escキーを押して入力モードに切り替えます。

コマンド(hostnameファイルをviエディタで開く)
localhost
~
(中略)
~
- /etc/hostname 1/1 100%

既存のホスト名(例:localhost)を削除し、新しいホスト名(例:test)を入力します。

入力が完了したら、Escキーを押してモードを再度切り替えた状態で:wqを入力します。

コマンド(ホスト名変更と保存)
test
~
(中略)
~
~
:wq

このように、/etc/hostname ファイルを編集することでホスト名を恒久的に変更できます。
ただし、CML上では node.cfg が再起動時に読み込まれて上書きされる場合があるため注意が必要です。

ipアドレスの設定方法

繰り返しになりますが、Alpine Linuxでは コマンドや設定ファイルの編集 によって設定を行います。

ここでは「一時的な設定」と「恒久的な設定」の2つの方法を紹介します。

一時的な設定方法

こちらは、ちょっとした検証時など、すぐに通信を確認したいときに便利ですが、再起動すると設定が消えてしまうため注意が必要です。

コマンド(一時的なIPアドレス変更)
ifconfig eth0 [IPアドレス] netmask [サブネットマスク] up

管理者権限で実行してください(今回は「su」コマンドを使っています)

実行結果(一時的なIPアドレス変更)
/home/cisco # ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up ←コマンド実行
/home/cisco # ifconfig ←IPアドレス確認コマンド
eth0      Link encap:Ethernet  HWaddr 52:54:00:34:C6:0E
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:872 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

/home/cisco #

再起動後の結果は以下の通りです。

設定したIPアドレスが消えていることが確認できました。

実行結果(一時的なIPアドレス変更)
eth0      Link encap:Ethernet  HWaddr 52:54:00:34:C6:0E
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:23 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

/home/cisco #

恒久的な設定方法

コマンド(設定ファイルを開く)
vi /etc/network/interfaces

実際にファイルを開くとこんな感じです。デフォルトではDHCPになっています。

そのため、手動設定するためにはスタティックへ変更する必要があります。

実行結果(設定ファイルを開く)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
~
(中略)
~
- /etc/network/interfaces 1/5 20%

IPアドレスを変更する場合は、該当箇所だけ変更していきます。

設定例(静的IPアドレス)
auto eth0
iface eth0 inet [DHCP/static]
    address [IPアドレス]
    netmask [サブネットマスク]
    gateway [デフォルトゲートウェイのアドレス]

実際に設定してみるとこんな感じになります。

設定例(静的IPアドレス)
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1

再起動コマンドは設定が残っていることが確認できます。

設定例(静的IPアドレス)
/home/cisco # ifconfig ←IPアドレス確認コマンド
eth0      Link encap:Ethernet  HWaddr 52:54:00:34:C6:0E
          inet addr:192.168.1.100  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

/home/cisco #

内容をまとめると以下の3つがポイントになります。

  • 一時的な設定ifconfig コマンド(再起動すると消える)
  • 恒久的な設定/etc/network/interfaces を編集して保存
  • 確認方法ifconfig で現在のIPアドレスを確認(Windowsのipconfigと同じ役割)

ipアドレスの確認コマンド

少し先走ったところはありますが、

ネットワーク設定を行ったら、正しく反映されているかどうかを確認しましょう。

Alpine Linuxでは、以下のような複数のコマンドでIPアドレスを確認できます。

ip aコマンド

もっともよく使われるのが ip a コマンドです。
シンプルにインターフェイスごとのアドレス情報を一覧表示できます。

コマンド
ip a
実行結果(例)
/home/cisco # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 52:54:00:34:c6:0e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 scope global eth0
       valid_lft forever preferred_lft forever

ifconfig コマンド

ip a と同様にインターフェイスごとの情報を確認できます。

コマンド
ifconfig
実行結果(例)
/home/cisco # ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:34:C6:0E
          inet addr:192.168.1.100  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

catコマンド

実際にどのように設定されているかは、catコマンドを用いて、/etc/network/interfaces ファイルを確認することでわかります。

コマンド
cat /etc/network/interfaces
実行結果(例)
/home/cisco # cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
/home/cisco

ここでは inet addr:127.0.0.1 がループバックアドレス、

eth0 に設定されていればそこに実際のIPアドレスが表示されます。

疎通確認のコマンド

最後に疎通確認コマンドをご紹介します。

普段、windowsやciscoのスイッチをご利用の方は馴染みがあるかと思います!

ping

1つ目はpingコマンドになります。

Windowsでも同じように使われるので、比較的馴染みやすいでしょう。

pingコマンド
ping
コマンド(例)
desktop-A:~$ ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: seq=0 ttl=42 time=0.472 ms
64 bytes from 192.168.1.2: seq=1 ttl=42 time=1.587 ms
64 bytes from 192.168.1.2: seq=2 ttl=42 time=1.123 ms
64 bytes from 192.168.1.2: seq=3 ttl=42 time=1.568 ms
64 bytes from 192.168.1.2: seq=4 ttl=42 time=1.434 ms
^C
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.472/1.236/1.587 ms
desktop-A:~$

traceroute

通信が相手先に到達するまでの経路(ルーターの通過ルート)を表示するコマンドです。
「どこで通信が止まっているのか」を調べる際に役立ちます。

tracerouteコマンド
traceroute
実行結果(例)
/home/cisco # traceroute 192.168.3.100
traceroute to 192.168.3.100 (192.168.3.100), 30 hops max, 46 byte packets
 1  192.168.1.1 (192.168.1.1)  0.969 ms  1.525 ms  1.123 ms
 2  192.168.2.2 (192.168.2.2)  0.914 ms  3.384 ms  2.025 ms
 3  192.168.3.100 (192.168.3.100)  1.335 ms  1.896 ms  1.165 ms
/home/cisco #

まとめ

本記事では、Alpine Linuxでネットワーク環境を構築するために必要な基本操作を紹介しました。

  • viエディター を使ったファイル編集の基本
  • ホスト名の変更 でシステムの識別をわかりやすくする方法
  • IPアドレスの設定(一時的な割り当てと恒久的な設定ファイル編集)
  • ifconfig / ip a を用いたアドレス確認
  • ping / traceroute を使った疎通確認

LinuxはWindowsのようにGUIで直感的に設定できるわけではなく、コマンド入力や設定ファイルの編集が必要です。
最初は少しとっつきにくく感じるかもしれませんが、仕組みを理解するとネットワーク検証やラボ構築を柔軟にコントロールできるようになります。

今回学んだ内容をもとに、CML上でAlpine Linuxを使ったネットワーク検証をスムーズに進めて頂くことができれば幸いです。

今回の記事はシリーズ第2弾でした。
まだ前編を読んでいない方は、基本操作から学ぶことでより理解が深まります。

また、Cisco Modeling Labs(CML)の使い方をもっと知りたい方は、以下の記事も参考にしてください。

コメント

タイトルとURLをコピーしました