CentOSで「有線」の802.1xのコマンドライン設定方法

cancanIMGL1416_TP_V

久しぶりに技術関係のネタです。

Linux(CentOS)で802.1xの設定方法を紹介します。

無線ではなく「有線」です。

Network Managerなしの、コマンドラインで全て完結する方法です。

CentOSの「有線」「コマンドライン(GUI)なし」「802.1x」設定は「wpa_supplicant」で出来ます。

この記事のコンフィグと「まるごとコピペ」するだけで、出来ます。

スポンサーリンク
レクタングル大

この記事で出来ること

要約すると、こんな感じ。

  • OS:CentOS(6.9だが7.Xでも大丈夫なはず)で
  • 有線の802.1x設定を
  • 完全にコマンドラインだけで実現

記事を書くにあたっての経緯

上記の設定がまとまってるサイトが少なかったからです。

802.1xは無線環境のセキュリティ対策として幅広く使われてきました。無線だと有線よりも様々なセキュリティリスクが内在しているので、802.1xのような対策が必須なので。

でも802.1xは無線に特化した規格ではありません。有線にも使えます。

これまで有線で802.1xを利用するシーンが少なかったのは、単純に「物理的なケーブル差込口は無線よりもセキュアにしやすい」からだと思います。有線のほうが802.1x以外の対策がしやすいですからね。

しかし、昨今、再度802.1x+有線が日の目を浴び始めています。その辺の話はトピックが変わってしまうのでまた別の機会に。

一つ言えるのは「今のうちに有線の802.1xを理解しておいたら、間違いなく良いことがある」という事です。

さて、話を戻します。有線の802.1xの設定です。

ネットで色々調べてみたら、以下の記事は(日本語・英語問わず)それなりに見つけることができました。

  • Windowsの有線・無線802.1x設定
  • Linuxの無線802.1x設定
  • Linuxの無線と有線せっていがごっちゃになってる

しかし、Linuxの有線802.1x設定の具体例が殆ど見つかりませんでした。

あっても「Network Manager」を使用したGUIでの設定くらいで、コマンドラインの設定例で網羅しているのが少ない。

英語のサイトはいくつか見つけたのですが、情報量が少ないページが殆ど。

なので、「とりあえずLinuxで動く有線の802.1xの設定」を紹介します。

英語だと[wired dot1x]ですね。検索キーワードとして残しておきます。

Windowsのイメージがないので、Linuxで手っ取り早く802.1xのクライアントを準備したい!

ネットでLinuxの有線802.1xのサイトを探していたが、イマイチ具体例がなかった!

NetworkManagerを使用する方法は見つかったが、GUIを使えない!

nmcliを使用する方法は見つかったが、なぜかオプションが使用できない!

無線・有線の設定がごっちゃになってるサイトが多くて、本質がわからない!

今日中に802.1xクライアントの準備しないといけないのに!

という方に少しでも参考になればと思います。

簡単にやることの紹介

wpa_supplicantというモジュールを使用します。

wpa_supplicantって、、、無線の設定に使用するものじゃないの?

と思われるかもしれませんが、、確かに無線設定にも使用しますが802.1xの設定も出来ます。

有線の802.1x設定も出来ます。

ネットでは「wpa_supplicantを使用して有線の802.1xの設定もできる」との記載がいくつかありますが、実際に私もwpa_supplicantで有線の802.1xの設定・稼働確認ができました。

元々は無線の設定から生まれたモジュールだとしても、名前を変えてほしいです・・・

なので、ここから先は基本的にwpa_supplicantの設定の紹介になります。細かいパラメーターの紹介は省きます。とりあえず動作検証が出来るレベルにするのが目的なので。

前提としてwpa_supplicantがyum installなどでインストールされていることとします。

以下の設定に沿ってやれば10分程度で稼働確認ができるかと。

設定詳細

/etc/wpa_supplicant/wpa_supplicant.confの設定

このファイルに802.1xの設定を行います。

今回はPEAPを使用したユーザID認証を行います。

まずはコピペして、細かいところを直してください。

「network=」スタンザより前は「https://help.ubuntu.com/community/Network802.1xAuthentication」を参考にさせて頂きました。

(上記サイトでは/etc/wpa_supplicant.confにファイルを作れと書いていますが、基本的に/etc/wpa_supplicant/wpa_supplicant.confを修正したほうが良いかと。理由は後述)

identityとpasswordは自分のRadiusサーバーに登録しているユーザ名とパスワードに変更してください。

それ以外の内容はパラメーターの名前通りです。かなりわかりやすいかと。

802.1x認証の実行

インターフェースアップ時の自動実行の設定を行う前に、本当に動作するかを確認します。

以下のコマンドでコマンドラインで確認することが可能。

コピペして実行してみてください。

  • -cで事前に作成した設定ファイルを参照しています
  • -Dでドライバーの指定。wiredになってるのがポイント
  • -iで使用するポートをしていしている。無線ではなく物理ポートを指定しているのがポイント(ethXの番号は環境に応じて変えてください)

これで上手くいくとこんな感じになるはずです。

AuthenticatorとRadiusサーバーのログも確認して認証・認可が期待通りの挙動になっているかも確認しましょう。

起動時の自動設定(/etc/sysconfig/wpa_supplicant)

以上が成功したら、802.1xの認証・認可が成立しています。

あとは自動設定を行うだけです。

wpa_supplicantサービスはインターフェースを起動後に動作します。chkconfigで自動起動するようにします。

自動起動の設定ファイルは/etc/sysconfig/wpa_supplicantです。

以下をそっくりそのままコピペしてください。

ここでもポイントはインターフェースとドライバの指定です。

-iとか-Dのオプション後にスペースがないのですが、これは気にしないでください。

ちなみに、自動起動時に/etc/wpa_supplicant/wpa_supplicant.confも読み込んでいます。上記のサイトでは/etc/wpa_supplicant.confにファイルを作れと書いていますが、結局は自動起動時にこっちを読み込みます。

これで起動ごとに該当インターフェースアップ後に802.1x認証が動作するはずです。少なくとも私の環境では動作しています。

今回は「PEAPを使用したユーザー認証」方式で説明しましたが、当然ながら(証明書使用などの)他の方式も利用可能です。

ただそれは「有線・無線」に関係ないので、普通にググったら設定方法が出てくるはずです。

この手の設定は一旦成功させる事が最も重要!あとは細かいところを直しながら詳細の知識を深めていけば良い。とりあえずやってみてください。

勉強を再会する方へ
スポンサーリンク
レクタングル大
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">