いますぐ実践! Linuxシステム管理

  • ¥0

    無料

システム管理者で初心者の方を対象に、実際に試せるシステム管理のノウハウを、お知らせします。Vine,Fedora,Ubuntu,DebianなどLinuxの他に、OpenBSD,FreeBSDなども対象とします。バックナンバーは発行者サイトにて。

著者サイト
 

メールマガジンを登録(無料)

もしくは

※ 各サービスのリンクをクリックすると認証画面に移動します。
※ 各サービスで登録しているメールアドレス宛に届きます。

メールマガジンを解除

もしくは

※ 各サービスのリンクをクリックすると認証画面に移動します。

  • このエントリーをはてなブックマークに追加
 
 
 
メルマガ名
いますぐ実践! Linuxシステム管理
発行周期
月2回
最終発行日
2017年09月19日
 
発行部数
2,830部
メルマガID
0000149633
形式
PC・携帯向け/テキスト形式
カテゴリ
インターネット・パソコン > OS > UNIX系OS

まぐまぐ!メールマガジンの用語集です。
下記の用語以外の不明な点はこちらをご覧ください。

 
発行周期
週1回、月1回などの発行頻度です。
部数
メルマガの配信数を記しています。
カテゴリ
まぐまぐ!に登録されているカテゴリです。
形式
メルマガには以下の配信形式があります。下部「メルマガ形式」をご参照下さい。
 
最終発行日
最後にメルマガが配信された日付です。
メルマガID
メルマガを特定するIDです。
RSSフィード
RSSを登録すると、更新情報を受け取ることができます。

― メルマガ形式 ―

  • PC向け
    パソコンでの閲覧に最適化したメルマガ
  • 携帯向け
    スマートフォンやフィーチャーフォンでの
  • PC・携帯向け
    PC・携帯どちらでも快適にご購読いただけます。
  • テキスト形式
    文書だけで構成された、一般的なメールです。
  • HTML形式
    ホームページのように文字や画像が装飾されたメールです。
  • テキスト・HTML形式
    号によって形式が変更する場合があります。

閉じる

メールマガジン最新号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ いますぐ実践! Linux システム管理 / Vol.274 / 読者数:2832名
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

おひさしぶりです、うすだです。

最近、自動運転のオペレータをやっているのですが、車の中という狭い所
で作業しているからでしょうか、先々週くらいに腰を痛めました。

知人に紹介してもらった治療院へ行ったところ、マッサージされたり鍼を
打たれたりするのかな、と思いきや、まずはじめに、気の流れをよくする
方法をレクチャーされました。

他人(の病気のこと)を想うことで、気の流れが良くなるそうです。

また、その日は、先生に気を送ってもらったのですが、後日自力で治せる
ようにと、自分で気を送る方法も教えてもらいました。

最終的には鍼治療もしてもらったのですが、結局、最初の気の治療? だけ
で、曲がらなかった腰が曲がるようになりました。
(なお、鍼治療では、腰にあまり変化がありませんでした。)

気が何なのか、気の流れを良くするとはどういうことなのか、わからない
まま治療は終わってしまったのですが、その後も自力で気を送るなどして
いたら、数日で腰痛が治ってしまったのでした。

今回の件は、プラシーボ効果のような気がしなくもないのですが、科学的
でないなどの先入感にとらわれず、とにかくまずやってみることが大事、
ということが言えるのではないかと思いました。
(ちなみに、科学的でないわけではなく、他人を想うことでオキシトシン
が分泌されるため、ということのようです。)

ただ、悪い波動を除去するという、浄電シールというものをいただいたの
ですが、これだけは未だに半分以上信じることができていません。

…といいつつも、携帯にはまだ浄電シールを貼っています。
我ながら、影響の受けやすい小心者だなあ、と思います。

いつ浄電シールを剥がそうか、と思いつつ剥がせない日々が続きますが、
今回も張り切ってまいりたいと思います。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 今回のお題 - Network Managerをコマンドラインで操作する (レベル:中級)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Network Managerが導入されたことで、ネットワークに関する設定が、GUI
で簡単に行えるようになりました。

設定ファイルを直接編集したり、コマンドで設定したりする、旧タイプの
管理者にとって、Network Manager はとっつきにくい存在と言えるのかも
しれません。
(筆者は、Network Managerに慣れるまでそれなりの時間を要しました。)

また、GUIのないサーバでは、Network Managerを使わずに運用されている
ところもあるのではないかと思います。

ですが、「nmcli」という、コマンドラインでNetwork Managerを操作する
コマンドが一般的になったことで、それらが解消されるように思います。

というわけで今回は、nmcliコマンドのおおまかな使い方をご紹介したい
と思います。

前回同様、使い方を、修行のように淡々と述べていきます。
ですので、興味のある箇所だけ見ていただければと存じます。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ まず、対象を絞らせてください

nmci は、バージョンによって、引数に指定するコマンドやオプションが
異なるようです。

Ubuntu 16.04 のバージョンは 1.2.6、CentOS 7 は 1.0.6-30.el7_2 で、
少し異なりますが、細かいところを除けば、使い方はほぼ一致します。

ですが、Ubuntu 14.04 のバージョンは 0.9.8.8 で、そもそも最初の引数
に指定するコマンドからして、前者とは異なります。

ですので、申し訳ありませんが、今回は前者のみを対象とします。

そして、以降では、最初の引数に指定するコマンドごとに、使い方の説明
をしていきたいと思います。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ general は一般的なコマンド

まず最初のコマンドは、「general」です。
その名の通り、一般的な情報の確認や設定を行うコマンドです。

general の後に「status」を指定して実行すると、ネットワークに関する
状態を出力します。

……………………………………………………………………………………
$ nmcli general status
状態 接続性 WIFI ハードウェア WIFI WWAN ハードウェア WWAN
接続済み 完全 有効 有効 有効 有効
……………………………………………………………………………………

general の後に「hostname」を指定すると、ホスト名を出力します。

……………………………………………………………………………………
$ nmcli general hostname
ホスト名
……………………………………………………………………………………

さらに、ホスト名を指定すると、指定したホスト名に変更できます。
ただし、パスワードを聞かれます。認証が通らないと変更できません。

……………………………………………………………………………………
$ nmcli general hostname ホスト名
……………………………………………………………………………………

general の後に「permissions」を指定すると、各操作のパーミッション
を出力します。

……………………………………………………………………………………
$ nmcli general permissions
パーミッション 値
org.freedesktop.NetworkManager.enable-disable-network はい
org.freedesktop.NetworkManager.enable-disable-wifi はい
...中略...
org.freedesktop.NetworkManager.settings.modify.hostname 認証
...後略...
……………………………………………………………………………………

先ほどのホスト名の変更の際にパスワードを聞かれたのは、上記の通り、
ホスト名の変更のパーミッションが「認証」となっているためです。

general の後に「logging」を指定すると、ログを出力するレベルおよび
ドメイン(種類のようなものです)の確認と変更ができます。

……………………………………………………………………………………
$ nmcli general logging
レベル ドメイン
INFO PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,...後略...
……………………………………………………………………………………

…こんな感じで、淡々と続きます。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ networking はネットワークの有効/無効化

「networking」は、ネットワークを有効/無効にしたり、確認を行うため
のコマンドです。

後の引数がない場合は、有効かどうかを出力します。

……………………………………………………………………………………
$ nmcli networking
有効
……………………………………………………………………………………

networking の後に「connectivity」を指定すると、ネットワーク接続の
状態を出力します。

……………………………………………………………………………………
$ nmcli networking connectivity
完全
……………………………………………………………………………………

networking の後に「on」か「off」を指定すると、それぞれネットワーク
を有効/無効に設定します。
GUIの「ネットワークを有効にする」のチェックと同じです。

……………………………………………………………………………………
$ nmcli networking off
$ nmcli networking connectivity
なし
$ nmcli networking on
$ nmcli networking connectivity
完全
……………………………………………………………………………………

はい、まだ続きます。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ radio は無線LANやワイヤレスWANの有効/無効化

「radio」は、無線LANやワイヤレスWANを有効/無効にしたり、確認を行う
ためのコマンドです。

radio の後に「wifi」を指定すると、無線LANの状態を出力します。

……………………………………………………………………………………
$ nmcli radio wifi
有効
……………………………………………………………………………………

radioの後に「wwan」を指定すると、ワイヤレスWANの状態を出力します。

……………………………………………………………………………………
$ nmcli radio wwan
有効
……………………………………………………………………………………

すべての状態を確認するには、「all」を指定します。

……………………………………………………………………………………
$ nmcli radio all
WIFI ハードウェア WIFI WWAN ハードウェア WWAN
有効 有効 有効 有効
……………………………………………………………………………………

wifi, wwan, all の後に「on」か「off」を指定すると、それぞれを有効
/無効に設定します。
wifi の例を以下に示します。GUIの「Wi-Fiを有効にする」のチェックと
同じです。

……………………………………………………………………………………
$ nmcli radio wifi off
$ nmcli radio wifi
無効
$ nmcli radio wifi on
$ nmcli radio wifi
有効
……………………………………………………………………………………

…で、まだ、続きます…。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ connection はネットワーク接続に関する設定・確認

「connection」は、ネットワーク接続の設定や確認を行うためのコマンド
です。たくさんあるので、主なものだけを紹介します。

connection の後に「show」を指定すると、ネットワークの接続と概要を
一覧で出力します。

……………………………………………………………………………………
$ nmcli connection show
名前 UUID タイプ デバイス
docker0 XXXXXXX-XX....XX-XXXXXXX bridge docker0
raspi3 XXXXXXX-XX....XX-XXXXXXX 802-11-wireless wlp5s0
home-wifi XXXXXXX-XX....XX-XXXXXXX 802-11-wireless --
test-local XXXXXXX-XX....XX-XXXXXXX 802-3-ethernet --
...後略...
……………………………………………………………………………………

アクティブなものだけを出力するには、「--active」オプションをつけて
実行します。

……………………………………………………………………………………
$ nmcli connection show --active
名前 UUID タイプ デバイス
docker0 XXXXXXX-XX....XX-XXXXXXX bridge docker0
raspi3 XXXXXXX-XX....XX-XXXXXXX 802-11-wireless wlp5s0
……………………………………………………………………………………

ここで、無線LANを「home-wifi」に切り替えたい場合は、connection の
後に「up」と「home-wifi」を指定します。

……………………………………………………………………………………
$ nmcli connection up home-wifi
接続が正常にアクティベートされました (D-Bus アクティブパス: ...)

$ nmcli connection show --active
名前 UUID タイプ デバイス
home-wifi XXXXXXX-XX....XX-XXXXXXX 802-11-wireless wlp5s0
docker0 XXXXXXX-XX....XX-XXXXXXX bridge docker0
……………………………………………………………………………………

無線LANが home-wifi に切り替わりました。
今の接続をやめるには、「down」と接続名を指定します。

……………………………………………………………………………………
$ nmcli connection down home-wifi
接続 'home-wifi' が正常に非アクティブ化されました (D-Bus アクティブパス: ...)

$ nmcli connection show --active
名前 UUID タイプ デバイス
docker0 XXXXXXX-XX....XX-XXXXXXX bridge docker0
raspi3 XXXXXXX-XX....XX-XXXXXXX 802-11-wireless wlp5s0
……………………………………………………………………………………

無線LANの home-wifi が非アクティブ化され、もとに戻りました。
(自動的に接続する設定になっているものがなければ、接続されない状態
のままとなります。)

他にも、「add」や「delete」「edit」などがありますが、割愛します。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ device はデバイスに対する設定・確認

「device」は、デバイスの設定や確認を行うためのコマンドです。

device の後に「status」を指定すると、デバイスの状態を出力します。

……………………………………………………………………………………
$ nmcli device status
デバイス タイプ 状態 接続
docker0 bridge 接続済み docker0
wlp5s0 wifi 接続済み home-wifi
enp4s0 ethernet 利用不可 --
dummy0 dummy 管理無し --
lo loopback 管理無し --
……………………………………………………………………………………

device の後に「show」を指定すると、すべてのインタフェースの状態と
現在の設定を出力します。
show の後にインタフェース名を指定すると、そのインタフェースの状態
と設定だけを出力します。

……………………………………………………………………………………
$ nmcli device show wlp5s0
GENERAL.デバイス: wlp5s0
GENERAL.タイプ: wifi
GENERAL.ハードウェアアドレス: 00:11:22:33:44:55
GENERAL.MTU: 0
GENERAL.状態: 100 (接続済み)
GENERAL.接続: home-wifi
...後略...
……………………………………………………………………………………

device の後に「wifi」を指定すると、無線LANのSSIDとそれぞれの状態を
出力します。

……………………………………………………………………………………
$ nmcli device wifi
* SSID モード CHAN レート 信号 バー セキュリティ
raspi3 インフラ 6 54 Mbit/s 100 **** WPA2
obakeno インフラ 11 54 Mbit/s 64 *** WPA2
* home-wifi インフラ 11 54 Mbit/s 59 *** WPA1 WPA2
obakenano インフラ 11 11 Mbit/s 29 * WPA1
...後略...
……………………………………………………………………………………

無線LANを新たに接続するには、「connect」とSSIDを指定します。

……………………………………………………………………………………
$ nmcli device wifi connect obakeno
(パスフレーズを聞かれるので入力)
Device 'wlp5s0' successfully activated with '...略...'.
……………………………………………………………………………………

…今日のところは、このくらいで終わりにしたいと思います。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ おわりに

以上、nmcliコマンドの使い方を、ざーっとご紹介しました。

コマンドやオプションがたくさんありますが、いずれも、比較的想像した
通りの動作をするものではないかと思います。

オンラインマニュアル(man nmcli)や、「--help」オプションを指定して
出力されるヘルプメッセージ、コマンドラインでのTABによる補完などを
参考に、いろいろお試し実行してみてください。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 宿題の答え
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

前回の宿題は、

ipコマンドのaddress、route、neighbour以外の機能を調べましょう。

でした。

説明できそうなものを、いくつかご紹介します。
書式などは、それぞれのオンラインマニュアル(man ip-link など)で確認
してください。


「link」は、ネットワークデバイスの設定や確認を行うためのものです。
たとえば、ループバック・インタフェースである「lo」の状態を確認する
には、以下のように実行します。

……………………………………………………………………………………
$ ip link show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state \
UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
……………………………………………………………………………………

Linuxには、いろいろな操作を試すためのダミーデバイス「dummy」という
ものがあります。
たとえば、「dummy1」という名前でダミーデバイスを作成するには、以下
のように実行します。

……………………………………………………………………………………
$ sudo ip link add dummy1 type dummy
……………………………………………………………………………………

ダミーデバイスは、実体がないことを除けば、通常のデバイスと同じよう
に扱えます。たとえば、以下の手順でIPアドレスを設定できます。

……………………………………………………………………………………
$ sudo ip addr add 192.168.111.211/24 dev dummy1
……………………………………………………………………………………

ただし、実体がないので、リンクを手動でアップする必要があります。

……………………………………………………………………………………
$ sudo ip link set dummy1 up
……………………………………………………………………………………

これで、pingが通るようになります。

……………………………………………………………………………………
$ ping 192.168.111.211
PING 192.168.111.211 (192.168.111.211) 56(84) bytes of data.
64 bytes from 192.168.111.211: icmp_seq=1 ttl=64 time=0.108 ms
64 bytes from 192.168.111.211: icmp_seq=2 ttl=64 time=0.100 ms
...後略...
……………………………………………………………………………………

経路の追加や削除も可能です。ホンモノのデバイスに対して実行するのに
躊躇するコマンドがあれば、これを機会にいろいろ試してみてください。

……………………………………………………………………………………
$ sudo ip route add 192.168.2.0/24 via 192.168.111.211
……………………………………………………………………………………

いろいろ試して、不要になったら、削除しましょう。

……………………………………………………………………………………
$ sudo ip link delete dummy1
……………………………………………………………………………………


つぎに、「monitor」です。
デバイスやアドレスなどの状態をモニタリングするためのものです。

……………………………………………………………………………………
$ sudo ip monitor all
……………………………………………………………………………………

と実行しておくと、状態が変化したときに出力してくれます。
たとえば、以下の手順でIPアドレスを追加すると、

……………………………………………………………………………………
$ sudo ip addr add 192.168.8.139/24 dev wlp5s0
……………………………………………………………………………………

ip monitor all は、以下のようなメッセージを出力します。

……………………………………………………………………………………
[nsid current]3: wlp5s0 inet 192.168.8.139/24 scope global secondary wlp5s0
valid_lft forever preferred_lft forever
[nsid current]local 192.168.8.139 dev wlp5s0 table local proto kernel \
scope host src 192.168.8.21
……………………………………………………………………………………

また、RTnetlink(Linuxカーネルのルーティングテーブルの参照や変更を
行うためのもの)をモニタリングするコマンド「rtmon」の出力ファイルを
解釈して出力することもできます。
まず、以下のようにrtmonコマンドを実行して、「/var/log/rtmon.log」
にモニタリング結果を出力させておきます。

……………………………………………………………………………………
$ sudo rtmon file /var/log/rtmon.log
……………………………………………………………………………………

次に、たとえば、以下のようにルーティングテーブルを変更します。

……………………………………………………………………………………
$ sudo ip route add 192.168.2.0/24 via 192.168.1.254
$ sudo ip route del 192.168.2.0/24 via 192.168.1.254
……………………………………………………………………………………

そして以下を実行すると、上記変更が記録されていることを確認すること
ができます。

……………………………………………………………………………………
$ ip monitor file /var/log/rtmon.log
...中略...
Timestamp: Sat Aug 12 18:16:59 2017 753611 us
192.168.2.0/24 via 192.168.1.254 dev wlp5s0
Timestamp: Sat Aug 12 18:17:06 2017 278702 us
Deleted 192.168.2.0/24 via 192.168.1.254 dev wlp5s0
...後略...
……………………………………………………………………………………


最後に、「ntable」です。
IPv4 ARP および IPv6 Neighbor Discovery(ND)テーブルのパラメータの
参照と変更を行うためのものです。
なお、ARPもNDも、MACアドレスを解決するための機能です。

パラメータの各値を確認するには、以下のように実行します。

……………………………………………………………………………………
$ ip ntable show
……………………………………………………………………………………

パラメータ値を変更するには、以下のように実行します。
名前には、「arp_cache」か「ndisc_cache」を指定します。
パラメータ値にはいろいろあり、オンラインマニュアルには一通り載って
います。が、残念ながら、個々の説明までは記されていません。
(ですので、小粋な例を示すことができませんすみません。)

……………………………………………………………………………………
$ ip ntable change name 名前 パラメータ名 値 dev デバイス名
……………………………………………………………………………………


他にもまだまだありますが、説明しづらいか、よくわかっていないため、
割愛させていただきたいと存じます。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 今回の宿題
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

今回の宿題は、

ネットワークの接続を追加・削除したり変更したりしてみましょう。

です。

あらかじめ接続をGUIで追加しておけばよいのですが、GUIのない環境では
それもままなりません。

nmcliを使ってすべてコマンドラインでできれば、GUIがなくてもなんとか
なります。また、その安心感で、心にも余裕ができるように思います。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ あとがき
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

最近、休日の過ごし方について、悩むことが多くなりました。

以前は、家族サービスや親戚付き合い、当メルマガや某原稿の執筆、栗の
イベントやらで、休日をほぼフル活用していました。

ですが、家族サービスの頻度が低下し、当メルマガの発行をさぼるように
なり、某日経Linuxの発行が2ヶ月に1回と変更された今、以前よりも休日
に暇ができるようになったのです。

それ自体は喜ばしいことなのですが、その暇をどのように過ごせばいいの
か、過ごすべきなのかが、わからないのでした。

休日になにもしないで休息することも必要だとはわかっているのですが、
貧乏性のためか、何もしないでいると落ち着かず、休息にならないという
ことになってしまいがちです。

かといって、ゴリゴリ仕事をするのも体に悪そうです。

ですので、何かの入門書を読んで、書いてある通りにやってみれば、頭を
めいいっぱい使うこともなく、新しいことも覚えられ、達成感も得られて
良いのではないだろうか、と思い至りました。

というわけで、最近、以下の3冊をさらっと読んでみました。

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
Unity5入門
http://www.amazon.co.jp/exec/obidos/ASIN/4797384433/usupiorg-22
GitHub実践入門
http://www.amazon.co.jp/exec/obidos/ASIN/477416366X/usupiorg-22
CUDA by Example 汎用GPUプログラミング入門
http://www.amazon.co.jp/exec/obidos/ASIN/4844329782/usupiorg-22
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

いずれも、サンプルを動かしたりやってみたりするのに、たいした労力を
必要としません。また、LinuxでもWindowsでも試せます。

そして、1冊読み終えるごとに、達成感が得られます。

やる気が出なくて困っているという貴兄は、ぜひお試しください。
コツは、わかりやすいと評判の入門書を選ぶことです。

というわけで、暇を過ごす方法をひとつ見つけられましたが、今もっとも
恐れていることは、暇があるならメルマガを書けばいいのに、と言われる
ことだったりします。(…い、いや、おっしゃる通りです…はい。)


今回も、ここまで読んでいただき、誠にありがとうございました。
次回は、年内に発行したいと考えておりますです。


「いますぐ実践! Linux システム管理」はこちらです。
メルマガの解除、バックナンバーなども、以下からどうぞ。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

その他、作者に関するページは、概ね以下にございます。
http://www.usupi.org/kuri/ (main)
http://usupi.seesaa.net/ (blog)
http://twitter.com/kuriking/ (twitter)
http://facebook.com/kuriking3 (facebook)
https://jp.pinterest.com/kuriking/ (pinterest)
メルマガ全文を読む
 

▲ページトップへ

▲ページトップへ