LoginSignup
0
1

More than 3 years have passed since last update.

CentOS7におけるBonding設定のネットワークに802.1X認証をする

Last updated at Posted at 2020-10-18

単体のNICでのネットワーク設定はうまくいくが...

導入したサーバのネットワークを複数のNICポートを使ってBongingにして802.1Xの認証でネットワークに参加してほしい案件がありました。
自分の力だけでは単体のNICによるネットワーク参加しかできませんでしたが、周りの人の協力もありBongingの場合でも802.1X認証で参加することができました。

ネット上で調べても「Bonding設定」での802.1X認証の方法が出てきませんでしたので、この場で記事にして公開しようと思います。(協力してくださった方々ありがとうございます!)

環境・用意するもの

サーバとネットワークスイッチの機器情報はお答えできませんが、サーバはラッキング形式の富士通やHP,IBMのようなサーバで、ネットワークスイッチはNETGEARやCiscoのような製品を使ってやっていると考えていただければと思います。
※あらかじめ、CentOS7内でネットワークのbonding設定を作っておく前提で話を進めます。

OS:CentOS7.8
BondingにするNICポート:Intel製10GNICにあるポート2つで有線による接続
証明書ファイル:ZZZZZZ.pem(またはcrt形式でも良い)
秘密鍵ファイル:ZZZZZZ.p12

① crt形式からpem形式に証明書ファイルを変換

当初はcrtファイル形式の証明書をユーザからいただいていたのですが、原因はわかりませんがcrt形式だとこの後の作業で802.1X認証が失敗してしまいました。
なので、crtからpem形式に以下のコマンドで変換します。
※証明書ファイルがpem形式のままでしたらこの作業は不要です。

openssl x509 -in ZZZZZZ.crt -out ZZZZZZ.pem

② 証明書ファイルと秘密鍵ファイルの保存場所ディレクトリを移行する

/etc/pki/CA/certs/にZZZZZZ.pemとZZZZZZ.p12を保存します。

③ ifcfgファイルの編集

bondingの設定ファイルは/etc/sysconfig/network-scripts/ifcfg-bond0にて以下のように設定を行いました。

BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=layer2+3"
DEVICE=bond0
TYPE=Bond
BOOTPROTO=none
BONDING_MASTER=yes
NAME=bond0
ONBOOT=yes
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
MTU=9000
DNS1=aaa.bbb.ccc.ddd
DNS2=aaa.bbb.ccc.ddd
GATEWAY=aaa.bbb.ccc.ddd
IPADDR=aaa.bbb.ccc.ddd
NETMASK=aaa.bbb.ccc.ddd
PREFIX=yy

# 802.1X認証設定
KEY_MGMT=IEEE8021X
IEEE_8021X_EAP_METHODS=TLS
IEEE_8021X_IDENTITY=XXXXXXXXX
IEEE_8021X_CA_CERT=/etc/pki/CA/certs/ZZZZZZ.pem # ②でpem形式ファイルを保存した先のパスを指定
IEEE_8021X_PRIVATE_KEY=/etc/pki/CA/certs/ZZZZZZ.p12 # ②でp12形式ファイルを保存した先のパスを指定
DOMAIN=zzzz.zzzz.zzzz

④ /etc/sysconfig/wpa_supplicantと/etc/wpa_supplicant/wpa_supplicant.confの編集

/etc/wpa_supplicant/wpa_supplicant.confの内容を以下のように編集します。

INTERFACES="-iZZZZZZ"
DRIVERS="-Dwired"
OTHER_ARGS="-u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid -t"

/etc/sysconfig/wpa_supplicantの内容を以下のように編集します。

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
network={
        key_mgmt=IEEE8021X
        eap=tls
        identity="ZZZZZZ"
        ca_cert="/etc/pki/CA/certs/ZZZZZZ.pem"
        private_key="/etc/pki/CA/certs/ZZZZZZ.p12"
        private_key_passwd="ZZZZZZ"
        }

⑤ NetworkManagerをサーバ起動時に立ち上げを無効化

NetworkManagerがあらかじめ起動していると802.1X認証ができませんので、サービスを無効化します。

chkconfig NetworkManager off

⑥ wpa_supplicantを有効化・起動

802.1X認証のためにはwpa_supplicantが起動していないとダメなのでサービスの有効化と起動をします。

chkconfig wpa_supplicant on
systemctl start wpa_supplicant

⑦ wpa_supplicantを起動してConnection成功するか確認する

以下のコマンドでbond0: CTRL-EVENT-CONNECTED - Connection to <MACアドレス> completedと出れば802.1Xの認証が成功できています。

wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -D wired -i bond0

⑧ ネットワークスイッチ側でSupplicantの認証が成功できているか確認

※ネットワークスイッチのメーカーや機器によってログの出方やコマンドも変わるため省略します。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1