Red Hat Enterprise Linux Labo

Red Hat Enterprise Linux(RHEL)について、よく使われるコマンド、コンテナ環境を用いたOpenshift Kubernetes の解説、基幹システムやPCI-DSSに必要なエッジセキュリティ、Dark Networkで用いられている技術を逆に利用したゼロトラスト (Zero Trust) システムによるVPN Systemなどの考え方をご紹介していきます。
本ページでは、OSがLinux系ですのでMark System Technoが長年培った大規模システム向けシェルプログラミングやインフラ設計・運用の考え方も紹介します。

目次

システム概要

以降の説明に使用する環境、および、システムの概要を記載します。

コマンドおよび設定の推移について、理解しやすくなると思います。

退役した機材を使用している理由から、スペック不足や無理に使用しているところ(L2SWをL3SWのように使用しているなど)がありますが、ご容赦ください。

システム構成図

構築のステップ

  1. OSセットアップ
  2. ネットワーク設定
  3. コンテナ( Podman )環境の構築
  4. MARK-VPNシステム( ipsec VPN + x509v3 + AI )の構築
  5. DevSecOps の実装
  6. CI/CD( Openshift ) の実装

Network Subnet/IP Address

DeMilitarized Zone 層( DMZ )

Subnet namevlan IDNetwork AddressDefault Gateway用途
DMZ10010.77.0.0/1610.77.255.254DMZとしてアクセス制限を必要とするノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
10.77.255.100masao-v100RHEL 8Teaming + Tag Vlan
10.77.255.101sumiko-v100 RHEL 8 Teaming + Tag Vlan
10.77.255.102hana-v100Fedora 34Teaming + Tag Vlan
10.77.255.250 BBSW-v100C9500LACP + Trunk 商用環境と併用
10.77.255.253C3560-01-v100C3560LACP + Trunk
10.77.255.254C2960-01-v100C2960LACP + Trunk

インターネット公開層( FRONT )

Subnet namevlan IDNetwork AddressDefault Gateway用途
FRONT20010.78.0.0/1610.78.255.254サービス提供ノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
10.78.255.100masao-v200RHEL 8Teaming + Tag Vlan
10.78.255.101sumiko-v200 RHEL 8 Teaming + Tag Vlan
10.78.255.102hana-v200Fedora 34Teaming + Tag Vlan
10.78.255.250 BBSW-v200C9500LACP + Trunk 商用環境と併用
10.78.255.253C3560-01-v200C3560LACP + Trunk
10.78.255.254C2960-01-v200C2960LACP + Trunk

アプリケーション層( APP )

Subnet namevlan IDNetwork AddressDefault Gateway用途
APP30010.79.0.0/1610.79.255.254各種処理、クラウド連携ノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
10.79.255.100masao-v300RHEL 8Teaming + Tag Vlan
10.79.255.101sumiko-v300 RHEL 8 Teaming + Tag Vlan
10.79.255.102hana-v300Fedora 34Teaming + Tag Vlan
10.79.255.250 BBSW-v300C9500LACP + Trunk 商用環境と併用
10.79.255.253C3560-01-v300C3560LACP + Trunk
10.78.255.254C2960-01-v300C2960LACP + Trunk

データ基盤層( DATA )

Subnet namevlan IDNetwork AddressDefault Gateway用途
DATA40010.80.0.0/1610.80.255.254Data Lake基盤、AI分析基盤向けノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
10.80.255.100masao-v400RHEL 8Teaming + Tag Vlan
10.80.255.101sumiko-v400 RHEL 8 Teaming + Tag Vlan
10.80.255.102hana-v400Fedora 34Teaming + Tag Vlan
10.80.255.250 BBSW-v400C9500LACP + Trunk 商用環境と併用
10.80.255.253C3560-01-v400C3560LACP + Trunk
10.80.255.254C2960-01-v400C2960LACP + Trunk

システム管理層( MNG )

Subnet namevlan IDNetwork AddressDefault Gateway用途
MNG50010.81.0.0/1610.81.255.253システム管理基盤、Data分析基盤向けノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
10.81.255.100masao-v500RHEL 8Teaming + Tag Vlan
10.81.255.101sumiko-v500 RHEL 8 Teaming + Tag Vlan
10.81.255.102hana-v500Fedora 34Teaming + Tag Vlan
10.81.255.250 BBSW-v500C9500LACP + Trunk 商用環境と併用
10.81.255.253C3560-01-v500C3560LACP + Trunk
10.81.255.254C2960-01-v500C2960LACP + Trunk

認証層( BASTION )

Subnet namevlan IDNetwork AddressDefault Gateway用途
BASTION60010.82.0.0/1610.82.255.253システム管理基盤、Data分析基盤向けノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
10.82.255.100masao-v600RHEL 8Teaming + Tag Vlan
10.82.255.101sumiko-v600 RHEL 8 Teaming + Tag Vlan
10.82.255.102hana-v600Fedora 34Teaming + Tag Vlan
10.82.255.250 BBSW-v600C9500LACP + Trunk 商用環境と併用
10.82.255.253C3560-01-v600C3560LACP + Trunk
10.82.255.254C2960-01-v600C2960LACP + Trunk

社内ネットワーク中継層( MARK )

Subnet namevlan IDNetwork AddressDefault Gateway用途
MARK700192.168.1.0/24192.168.1.1社内LAN連携用NATノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
192.168.1.1 BBSW-v600C9500LACP + Trunk 商用環境と併用
192.168.1.253C3560-01-v600C3560LACP + Trunk
192.168.1.254C2960-01-v600C2960LACP + Trunk

外部システム中継層( INTERNAL )

Subnet namevlan IDNetwork AddressDefault Gateway用途
INTERNAL90010.90.0.0/1610.90.255.253試用環境向けクラウド連携ノードを収容する
IP AddressNode NameNode TypeNW TypeRemarks
10.90.1.1w10-001-v900 Windows 10 Azure VPNAzure Bastion 経由
10.90.1.2 w10-002-v900 Windows 10 Azure VPN Azure Bastion 経由
10.90.1.3w10-003-v900 Windows 10 Azure VPN Azure Bastion 経由
10.90.1.4w10-004-v900 Windows 10 Azure VPN Azure Bastion 経由
10.90.255.100masao-v900RHEL 8Teaming + Tag Vlan
10.90.255.101sumiko-v900 RHEL 8 Teaming + Tag Vlan
10.90.255.102hana-v900Fedora 34Teaming + Tag Vlan
10.90.255.250 BBSW-v900C9500LACP + Trunk 商用環境と併用
10.90.255.253C3560-01-v900C3560LACP + Trunk
10.90.255.254C2960-01-v900C2960LACP + Trunk

コマンド集

サブスクリプションの登録

Red Hat Custer Portalにアカウントを作成、登録したユーザ名とパスワードを使用します。

Red Hat Custer Portal のURLは「https://access.redhat.com/front」となります。

$ sudo su -
# subscription-manager register

実行内容は、以下のようになります。

登録中: subscription.rhsm.redhat.com:443/subscription
ユーザー名: XXXXXXXXXXXXXX
パスワード:
このシステムは、次の ID で登録されました: XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
登録したシステム名: XXXXXX.mark-system.com

登録内容の確認コマンドは以下となります。

# subscription-manager list
  :
  :
状態:             サブスクライブなし
状態の詳細:       Not supported by a valid subscription.
  :
  :
# subscription-manager list --available
  :
  :
  :
契約:
プール ID:                XXXXXXXXXXXXXXXXXXXXXX <---(*)
管理の提供:               いいえ
数量:                     無制限
推奨:                     1
  :
  :
  :

表示されたプール ID (*)を利用してサブスクライブします。

# subscription-manager subscribe --pool=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

以下の文字列が出力されれば、完了です。

サブスクリプションが正しく割り当てられました: Red Hat Beta Access

以下のコマンドを用い、割り当て(*)を確認しておきましょう。

反映に時間がかかる場合があります。

その場合は、「Red Hat Customer Portal」から[システム]→[対象サーバ]→[サブスクリプション]を選択します。

[自動アタッチの実行]を押下しましょう。

# subscription-manager list
  :
  :
アーキテクチャー: x86_64
状態:             サブスクライブ済み <-------(*)
状態の詳細:
  :
  :
# subscription-manager list --consumed
  :
  :
アドオン:
状態の詳細:               最新のサブスクリプションです <-------(*)
サブスクリプションタイプ: Standard
  :
  :

このような場合、「サブスクリプションの登録」へ記載した以下のコマンドを用い、再度、アタッチします。

$ sudo su -
# subscription-manager attach --pool=pool_id

Red Hat パッケージの最新化 (dnf update)

以下のコマンドを用い、パッケージを最新化します。

$ sudo su -
# dnf check-update
# dnf update -y
# dnf clean all

Updating Subscription Management repositories.
17 ファイルが削除されました

サブスクリプションの登録が未完了であったり、「Red Hat Customer Potal」と矛盾が発生している場合は以下が出力され、失敗します。

Updating Subscription Management repositories.
エラー: "/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d" には有効化されたリポジトリーがありません。

Red Hat パッケージマネージャー (rpm)の操作

パッケージの操作コマンドを以下に記載します。

$ sudo su -

パッケージのインストール
# rpm -ivh /tmp/XXXXXXXXX.rpm

パッケージのアンインストール
# rpm -e /tmp/XXXXXXXXX.rpm

インストール済みパッケージの一覧
# rpm -qa

インストール済みパッケージのキーワード検索( 例 : team )
# rpm -qa | grep team

libteam-1.31-2.el8.x86_64
teamd-1.31-2.el8.x86_64
NetworkManager-team-1.32.10-4.el8.x86_64

インストール済みパッケージのファイル構成表示
# rpm -ql NetworkManager-team-1.32.10-4.el8.x86_64

/usr/lib/.build-id
/usr/lib/.build-id/15
/usr/lib/.build-id/15/ff7e04a50f237fc938add3e2231e2d11829f20
/usr/lib64/NetworkManager/1.32.10-4.el8/libnm-device-plugin-team.so

時刻合わせ(chronyc)

時刻合わせコマンドを以下に記載します。

現状の同期先確認
# chronyc sources

MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^+ omx2.classictic.com           2  10   377   636  +7464us[+7558us] +/-  164ms
^- lucy.thehomeofanime.de        2  10   377   642  +5457us[+5551us] +/-  143ms
^+ ntp1.ams1.nl.leaseweb.net     2  10   377   695  +4621us[+4715us] +/-  204ms
^* 77.68.122.252                 3  10   377   617  +5703us[+5797us] +/-  155ms

現状の時刻ズレ確認
# chronyc tracking

Reference ID    : 4D447AFC (77.68.122.252)
Stratum         : 4
Ref time (UTC)  : Tue Nov 23 13:19:15 2021
System time     : 0.000413800 seconds fast of NTP time
Last offset     : +0.000094051 seconds
RMS offset      : 0.000204610 seconds
Frequency       : 41.013 ppm slow
Residual freq   : +0.000 ppm
Skew            : 0.027 ppm
Root delay      : 0.238736287 seconds
Root dispersion : 0.017958783 seconds
Update interval : 1042.3 seconds
Leap status     : Normal

設定ファイルの編集
# cp -p /etc/chrony.conf /etc/chrony.conf.org
# vi /etc/chrony.conf
# diff /etc/chrony.conf.org /etc/chrony.conf
3c3,7
< pool 2.rhel.pool.ntp.org iburst
---
> #pool 2.rhel.pool.ntp.org iburst
> pool 0.jp.pool.ntp.org iburst
> pool 1.jp.pool.ntp.org iburst
> pool 2.jp.pool.ntp.org iburst
> pool 3.jp.pool.ntp.org iburst
23c27
< #minsources 2
---
> minsources 2
26c30
< #allow 192.168.0.0/16
---
> allow 192.168.1.0/24
29c33
< #local stratum 10
---
> local stratum 2

サービス自動起動
# systemctl enable chronyd

サービス再起動
# systemctl restart chronyd

同期確認
# chronyc sources

MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- 103.202.216.35                3   6     7     3  -2858us[-3311us] +/-  149ms
^- ec2-3-114-30-212.ap-nort>     2   6    17     2   +701us[ +701us] +/-   35ms
^- i172-105-204-167.poolntp>     3   6    17     4  +5644us[+5191us] +/-   14ms
^- mx.execve.net                 2   6    17     3   +139us[ +139us] +/- 5540us
^- v118-27-19-72.cxxt.stati>     2   6    17     5    +11ms[  +10ms] +/-   25ms
^- tama.paina.net                2   6    17     4    +94us[  +94us] +/-   49ms
^- time.cloudflare.com           3   6    17     5   -127ms[ -127ms] +/-  211ms
^- time.cloudflare.com           3   6    27     3  +6498us[+6498us] +/-   77ms
^+ ntp-a2.nict.go.jp             1   6    17     6   +775us[ +323us] +/- 4838us
^* ntp-b2.nict.go.jp             1   6    17     5  -1166us[-1619us] +/- 5333us
^- any.time.nl                   2   6    17     8  -1335us[-1788us] +/-   42ms
^- x.ns.gin.ntt.net              2   6    17     9  -1087us[-1540us] +/-   93ms
^- 132.226.11.60                 2   6    17     7  +7338us[+7338us] +/-   49ms
^- 126.99.178.217.static.us>     1   6    17    10  +4340us[+3887us] +/-   21ms

広告

デバイスの構成確認

機器、デバイスの構成を正しく理解することで、一貫性および信頼性のあるシステム構築が可能となります。

また、障害解析およびトラブルシュート時にも、感や予想ではなく、根拠のある報告ができるようになります。

本項の内容はRedhat系ディストリビューションとなる、CentOS 7 、CentOS 8 、 Ferora 20以上のOSに互換性があります。

BIOSの状況を見てみよう( dmidecode コマンド )

OS(RHEL 8)からBIOSの設定状況を参照することができます。

まずは、BIOSのバージョン情報、概要を参照します。

$ sudo su -
# dmidecode --type bios
============ 結果 =============
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: Hewlett-Packard
        Version: L01 v02.57
        Release Date: 12/11/2014
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 2.57

Handle 0x0021, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 12
                en|US|iso8859-1
                fr|FR|iso8859-1
                es|ES|iso8859-1
                de|DE|iso8859-1
                it|IT|iso8859-1
                da|DK|iso8859-1
                fi|FI|iso8859-1
                nl|NL|iso8859-1
                no|NO|iso8859-1
                pt|PT|iso8859-1
                sv|SE|iso8859-1
                ja|JP|unicode
        Currently Installed Language: en|US|iso8859-1

次に項目の設定内容を参照してみます。

$ sudo su -
# dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
  bios
  system
  baseboard
  chassis
  processor
  memory
  cache
  connector
  slot
# dmidecode -t bios
# dmidecode -t system
# dmidecode -t processor
# dmidecode -t memory

すべての項目を表示するには、パラメータを与えず、コマンドを実行します。

$ sudo su -
# dmidecode

CPUの型名、クロックスピード、コア数、スレッドを表示してみます。

$ sudo su -
# dmidecode -t processor | grep "Version:"
        Version: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
# dmidecode -t processor | grep "Current Speed: "
        Current Speed: 3600 MHz
# dmidecode -t processor | grep "Core Enabled: "
        Core Enabled: 4
# dmidecode -t processor | grep "Thread Count: "
        Thread Count: 8

マザーボードのDIMMスロットの使用状況、メモリサイズ、メモリ規格を確認することもできます。

# dmidecode -t memory | grep "Size: "
        Size: No Module Installed
        Size: 8 GB
        Size: No Module Installed
        Size: 8 GB
# dmidecode -t memory | grep "Type: "
        Error Correction Type: None
        Type: Unknown
        Type: DDR3
        Type: Unknown
        Type: DDR3

OSが認識しているCPUを調べよう

CPUのタイプや動作モードを表示してみます。

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
stepping        : 3
microcode       : 0x28
cpu MHz         : 3990.416
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips        : 7183.23
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

物理core数の表示は以下の通りとなります。

サーバ機器に搭載されている、 物理core数は4coreとなります。

$ cat /proc/cpuinfo | grep "cpu cores"
cpu cores       : 4
cpu cores       : 4
cpu cores       : 4
cpu cores       : 4
cpu cores       : 4
cpu cores       : 4
cpu cores       : 4
cpu cores       : 4

論理core(スレッド)数 の表示は以下の通りとなります。

サーバ機器のBIOSでは、ハイパースレッディングを有効化している。

また、総論理core(スレッド)数は、 8コア(スレッド)ということがわかります。

$ $ cat /proc/cpuinfo | grep "siblings"
siblings        : 8
siblings        : 8
siblings        : 8
siblings        : 8
siblings        : 8
siblings        : 8
siblings        : 8
siblings        : 8

OSが認識しているMemoryを調べよう

メモリの使用状況を表示してみます。

8GB×2=16GBのメモリを実装しています。認識されている総メモリ数 (MemTotal) は15GBぐらいとなり、空きメモリーサイズ(MemFree)は9GBぐらいということです。

cat /proc/meminfo
MemTotal:       16120008 kB
MemFree:         9608260 kB
MemAvailable:   14147512 kB
Buffers:            6428 kB
Cached:          4755688 kB
SwapCached:            0 kB
Active:          2123900 kB
Inactive:        3718464 kB
Active(anon):       3416 kB
Inactive(anon):  1195116 kB
Active(file):    2120484 kB
Inactive(file):  2523348 kB
Unevictable:       12524 kB
Mlocked:               0 kB
SwapTotal:       8224764 kB
SwapFree:        8224764 kB
Dirty:                12 kB
Writeback:             0 kB
AnonPages:       1078548 kB
Mapped:           375024 kB
Shmem:            109724 kB
KReclaimable:     231088 kB
Slab:             378488 kB
SReclaimable:     231088 kB
SUnreclaim:       147400 kB
KernelStack:       12816 kB
PageTables:        44112 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    16284768 kB
Committed_AS:    6060400 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
Percpu:            14720 kB
HardwareCorrupted:     0 kB
AnonHugePages:    661504 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      316264 kB
DirectMap2M:    11126784 kB
DirectMap1G:     6291456 kB

OSが認識しているPCIデバイスを調べよう ( lspci コマンド )

PCIの使用状況を表示してみます。

4ポートNIC「Broadcom BCM5719 Gigabit Ethernet」が認識できていることがわかります。

$ lspci
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 8 Series/C220 Series Chipset Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Q85 Express LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
01:00.1 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
01:00.2 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)
01:00.3 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)

OSが認識しているUSBデバイスを調べよう( lsusb コマンド )

最初に手持ちのUSB機器を挿していない状況を表示してみます。

その次に、手持ちの[USB-HUB]と[USBメモリ]を挿した時の状況を表示します。

$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0566:3062 Monterey International Corp.
Bus 003 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 18a5:0302 Verbatim, Ltd Flash Drive
Bus 003 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 003 Device 003: ID 0566:3062 Monterey International Corp.
Bus 003 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

以下のUSBデバイスが追加されていることが把握できます。

Bus 003 Device 005: ID 18a5:0302 Verbatim, Ltd Flash Drive
Bus 003 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub

広告

ネットワークインターフェースの設定

本項の内容はRedhat系ディストリビューションとなる、CentOS 7 、CentOS 8 、 Ferora 20以上のOSに互換性があります。

現状分析 ( ifconfig コマンド )

最初に、現状の把握を行います。

RHELのインストール時に管理用ポートとして「eno1」へ「192.168.1.0/24」のアドレスを割り当てています。

その他、拡張4ポートNICの4ポート(enp1s0f0~3)、ロールバック(lo)、デフォルト設定されるハイパーバイザ等で使用する仮想ブリッジ(virbr0)用のネットワーク用デバイスが認識できています。

$ ifconfig -a
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.31  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2400:4051:a6e0:4300:5265:f3ff:fe1c:3c8b  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::5265:f3ff:fe1c:3c8b  prefixlen 64  scopeid 0x20<link>
        ether 50:65:f3:1c:3c:8b  txqueuelen 1000  (Ethernet)
        RX packets 469672  bytes 566283286 (540.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 147993  bytes 14504329 (13.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf7d00000-f7d20000

enp1s0f0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 58:c2:32:0d:7d:b0  txqueuelen 1000  (Ethernet)
        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
        device interrupt 16

enp1s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 58:c2:32:0d:7d:b1  txqueuelen 1000  (Ethernet)
        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
        device interrupt 17

enp1s0f2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 58:c2:32:0d:7d:b2  txqueuelen 1000  (Ethernet)
        RX packets 104616  bytes 7957011 (7.5 MiB)
        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
        device interrupt 16

enp1s0f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 58:c2:32:0d:7d:b3  txqueuelen 1000  (Ethernet)
        RX packets 104626  bytes 7958042 (7.5 MiB)
        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
        device interrupt 17

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48  bytes 4080 (3.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 4080 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:8a:3d:69  txqueuelen 1000  (Ethernet)
        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

現状分析 ( nmcli コマンド )

各ネットワーク用デバイスの詳細パラメータを参照します。

拡張4ポートNICの「(*)」で示した[enp1s0f2]、[ enp1s0f3]は、対向機器とケーブル接続してリンクアップ中ですので、「nmcli device status」の「STATE」は、設定の有効/無効を表していることになります。

$ sudo su -
# nmcli general
STATE     CONNECTIVITY  WIFI-HW  WIFI  WWAN-HW  WWAN
接続済み  完全          有効     有効  有効     有効

# nmcli device status
DEVICE      TYPE      STATE            CONNECTION
eno1        ethernet  接続済み         eno1
virbr0      bridge    接続済み (外部)  virbr0
enp1s0f0    ethernet  切断済み         --
enp1s0f1    ethernet  切断済み         --
enp1s0f2    ethernet  切断済み         --     <----(*)
enp1s0f3    ethernet  切断済み         --     <----(*)
lo          loopback  管理無し         --
virbr0-nic  tun       管理無し         --

# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --
enp1s0f2  3d9c9f2f-a6a0-41e0-b975-7237abe8b815  ethernet  --
enp1s0f3  35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5  ethernet  --

# nmcli device show
GENERAL.DEVICE:                         eno1
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         50:65:F3:1C:3C:8B
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (接続済み)
GENERAL.CONNECTION:                     eno1
 :
 :
(省略)

# nmcli connection show eno1
connection.id:                          eno1
connection.uuid:                        5f2adea6-ad7a-489a-9579-6c584f119bcc
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              eno1
connection.autoconnect:                 はい
 :
 :
(省略)

現状分析 ( ethtool コマンド )

各ネットワーク用デバイスの詳細パラメータを参照します。

NICの設定可能なモード、現在の設定値を参照することができます。

「Link detected:」の行でリンクアップ、リンクダウンの状況を把握することができます。

以下の結果により、拡張4ポートNICの[enp1s0f0]はリンクダウン 、[eno1]、[ enp1s0f 3]はリンクアップとわかります。

$ sudo su -
# ethtool eno1

Settings for eno1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 100Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        MDI-X: on (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

# ethtool enp1s0f0
Settings for enp1s0f0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: d
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: no

# ethtool enp1s0f3
Settings for enp1s0f3:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 100Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 4
        Transceiver: internal
        MDI-X: off
        Supports Wake-on: g
        Wake-on: d
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

IPアドレスの割り当て ( nmtui コマンド )

NetworkManagerのテキストユーザインタフェースを使用して、 拡張4ポートNICの[enp1s0f2]へ以下の表の内容で設定してみます。

項目
ネットワークインターフェースenp1s0f2
IP Address192.168.100.22
Net Mask255.255.255.0(24)
Gateway192.168.100.251
【注意】
便宜上、設定していますが、既にデフォルトゲートウェイ(default gateway)を設定している場合、この設定は不要です。
DNS8.8.8.8
【注意】
便宜上、設定していますが、既にDNSサーバを設定している場合、 この設定は不要です。
検索ドメイン指定しない
IPv6無効
自動的に接続するチェック (OS起動時に有効にする)

以下の「nmtui」コマンドを用い、ネットワークインターフェースを設定します。

$ sudo su -
# nmtui

簡単な操作方法を以下へ記載します。

  • カーソルは[矢印]キーで移動できます。
  • メニューの選択は[Enter]キーを押下します。
  • 他のフィールドへカーソルを移動させるときは、[Tab]キーを押下します。

「接続の編集」を[矢印]キーで選択、[Enter]キーを押下します。

  • 対象インターフェース [enp1s0f2]を[矢印]キーで選択、[Enter]キーを押下します。

  • 「IPv4 設定」行の「<自動>」を選択、[Enter]キーを押下します。
  • サブメニュー画面の「手作業」を選択、[Enter]キーを押下、メニュー画面へ戻ります。
  • [矢印]キーの「右」を押下し、「IPv4 設定」行の「<表示する>」を選択、[Enter]キーを押下します。
  • サブメニュー画面を閉じる場合は、[Esc]キーを押下します。

  • 各項目に値を入力します。
  • IPアドレスの値では、Net Maskの値も「/」を使用して記載します。( [IPアドレス]/[NetMask] )
  • 各チェックボックスを[矢印]キーを使用して移動します。
  • [スペース]キーを押下することで、チェックすることができます。
  • チェックを外す場合も[スペース]キーを押下します。

  • [矢印]キーの「下」を押下し、最後まで入力します。
  • 「自動的に接続する」にチェックをしない場合、OS起動時にネットワーク接続が有効にならないことに気をつけましょう。
  • 最後に「<OK>」を選択、[Enter]キーを押下します。

  • [Tab]キーを押下して、フィールドを移動します。「<追加>」が選択されます。
  • [矢印]キーを使用して「<戻る>」を選択、[Enter]キーを押下します。

  • [矢印]キーを使用して「終了」を選択、[Enter]キーを押下し、「nmtui」コマンドを終了します。

設定を確認します。

$ ifconfig -a

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.31  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2400:4051:a6e0:4300:5265:f3ff:fe1c:3c8b  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::5265:f3ff:fe1c:3c8b  prefixlen 64  scopeid 0x20<link>
        ether 50:65:f3:1c:3c:8b  txqueuelen 1000  (Ethernet)
        RX packets 680637  bytes 823595117 (785.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 213631  bytes 20933485 (19.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf7d00000-f7d20000

enp1s0f0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 58:c2:32:0d:7d:b0  txqueuelen 1000  (Ethernet)
        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
        device interrupt 16

enp1s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 58:c2:32:0d:7d:b1  txqueuelen 1000  (Ethernet)
        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
        device interrupt 17

enp1s0f2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.22  netmask 255.255.255.0  broadcast 192.168.100.255
        ether 58:c2:32:0d:7d:b2  txqueuelen 1000  (Ethernet)
        RX packets 159134  bytes 12103314 (11.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11  bytes 1112 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16

enp1s0f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 58:c2:32:0d:7d:b3  txqueuelen 1000  (Ethernet)
        RX packets 159153  bytes 12105329 (11.5 MiB)
        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
        device interrupt 17

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 60  bytes 5100 (4.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 60  bytes 5100 (4.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:8a:3d:69  txqueuelen 1000  (Ethernet)
        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

virbr0-nic: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:8a:3d:69  txqueuelen 1000  (Ethernet)
        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

ネットワークデバイスおよびインターフェースの一覧を表示して確認します。

$ sudo su -
# nmcli device status
DEVICE      TYPE      STATE            CONNECTION
eno1        ethernet  接続済み         eno1
virbr0      bridge    接続済み (外部)  virbr0
enp1s0f2    ethernet  接続済み         enp1s0f2
enp1s0f0    ethernet  切断済み         --
enp1s0f1    ethernet  切断済み         --
enp1s0f3    ethernet  切断済み         --
lo          loopback  管理無し         --
virbr0-nic  tun       管理無し         --

追加したネットワークインターフェースの詳細情報を表示、設定どおりであることを確認します。

# nmcli connection show enp1s0f2
connection.id:                          enp1s0f2
connection.uuid:                        3d9c9f2f-a6a0-41e0-b975-7237abe8b815
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp1s0f2
connection.autoconnect:                 はい
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1636674971
connection.read-only:                   いいえ
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     不明
connection.lldp:                        default
connection.mdns:                        -1 (default)
connection.llmnr:                       -1 (default)
connection.wait-device-timeout:         -1
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          いいえ
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --
802-3-ethernet.mtu:                     自動
802-3-ethernet.s390-subchannels:        --
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            --
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.100.22/24
ipv4.gateway:                           192.168.100.251
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                はい
ipv4.ignore-auto-dns:                   はい
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                はい
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     いいえ
ipv4.may-fail:                          いいえ
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.dhcp-reject-servers:               --
ipv6.method:                            disabled
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.addresses:                         --
ipv6.gateway:                           --
ipv6.routes:                            --
ipv6.route-metric:                      -1
ipv6.route-table:                       0 (unspec)
ipv6.routing-rules:                     --
ipv6.ignore-auto-routes:                いいえ
ipv6.ignore-auto-dns:                   いいえ
ipv6.never-default:                     いいえ
ipv6.may-fail:                          はい
ipv6.required-timeout:                  -1 (default)
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.ra-timeout:                        0 (default)
ipv6.dhcp-duid:                         --
ipv6.dhcp-iaid:                         --
ipv6.dhcp-timeout:                      0 (default)
ipv6.dhcp-send-hostname:                はい
ipv6.dhcp-hostname:                     --
ipv6.dhcp-hostname-flags:               0x0 (none)
ipv6.token:                             --
proxy.method:                           none
proxy.browser-only:                     いいえ
proxy.pac-url:                          --
proxy.pac-script:                       --
GENERAL.NAME:                           enp1s0f2
GENERAL.UUID:                           3d9c9f2f-a6a0-41e0-b975-7237abe8b815
GENERAL.DEVICES:                        enp1s0f2
GENERAL.IP-IFACE:                       enp1s0f2
GENERAL.STATE:                          アクティベート済み
GENERAL.DEFAULT:                        いいえ
GENERAL.DEFAULT6:                       いいえ
GENERAL.SPEC-OBJECT:                    --
GENERAL.VPN:                            いいえ
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/4
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/3
GENERAL.ZONE:                           --
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                         192.168.100.22/24
IP4.GATEWAY:                            192.168.100.251
IP4.ROUTE[1]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 101
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.100.251, mt = 101
IP4.DNS[1]:                             8.8.8.8
IP6.GATEWAY:                            --

IPアドレスの割り当て ( nmcli コマンド )

NetworkManagerコマンド(nmcli)を使用して、 拡張4ポートNICの[enp1s0f2]へ以下の表の内容で設定してみます。

項目
ネットワークインターフェースenp1s0f2
IP Address192.168.200.22
Net Mask255.255.255.0(24)
Gateway192.168.200.251
【注意】
便宜上、設定していますが、既にデフォルトゲートウェイ(default gateway)を設定している場合、この設定は不要です。
DNS8.8.8.8
【注意】
便宜上、設定していますが、既にDNSサーバを設定している場合、 この設定は不要です。
検索ドメイン指定しない
IPv6無効
自動的に接続するyes (OS起動時に有効にする)

以下のように、ネットワークインターフェースを設定します。

IPアドレスの設定を何もしないまま、手動設定(ipv4.method manual)に変更することはできないことに注意が必要です。

$ sudo su -
# nmcli connection modify enp1s0f3 ipv4.method manual
エラー: 接続 'enp1s0f3' の変更に失敗しました: ipv4.addresses: 'method=manual' のこのプロパティーを空にすることはできません
# nmcli connection modify enp1s0f3 ipv4.addresses 192.168.200.22/24
# nmcli connection modify enp1s0f3 ipv4.gateway  192.168.200.251
# nmcli connection modify enp1s0f3 ipv4.dns 8.8.8.8
# nmcli connection modify enp1s0f3 ipv4.may-fail no
# nmcli connection modify enp1s0f3 ipv4.method manual
# nmcli connection modify enp1s0f3 ipv6.method disabled
# nmcli connection modify enp1s0f3 connection.autoconnect yes

設定の再読み込み、起動状態の確認

# nmcli connection reload
# nmcli connection down enp1s0f3
# nmcli connection up enp1s0f3
# nmcli connection show
# nmcli connection show enp1s0f3

「ipv4.may-fail no」のパラメータ変更は、IPv4のDHCPによるIP設定の割り当てが失敗した後に続けて、IPv6によるIP設定を実施させず、DHCP応答の待ち時間が短縮できます。

セキュリティ要件などから、動的な変更を拒否する場合は、以下の設定も実施します。

# nmcli connection modify enp1s0f3 ipv4.ignore-auto-routes yes
# nmcli connection modify enp1s0f3 ipv4.ignore-auto-dns yes


設定の再読み込み、起動状態の確認

# nmcli connection reload
# nmcli connection down enp1s0f3
# nmcli connection up enp1s0f3
# nmcli connection show
# nmcli connection show enp1s0f3

追加したネットワークインターフェースの詳細情報を表示、設定どおりであることを確認します。

# nmcli connection show enp1s0f3
connection.id:                          enp1s0f3
connection.uuid:                        35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp1s0f3
connection.autoconnect:                 はい
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1636805171
connection.read-only:                   いいえ
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     不明
connection.lldp:                        default
connection.mdns:                        -1 (default)
connection.llmnr:                       -1 (default)
connection.wait-device-timeout:         -1
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          いいえ
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --
802-3-ethernet.mtu:                     自動
802-3-ethernet.s390-subchannels:        --
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            --
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.200.22/24
ipv4.gateway:                           192.168.200.251
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                はい
ipv4.ignore-auto-dns:                   はい
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                はい
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     いいえ
ipv4.may-fail:                          いいえ
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.dhcp-reject-servers:               --
ipv6.method:                            disabled
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.addresses:                         --
ipv6.gateway:                           --
ipv6.routes:                            --
ipv6.route-metric:                      -1
ipv6.route-table:                       0 (unspec)
ipv6.routing-rules:                     --
ipv6.ignore-auto-routes:                いいえ
ipv6.ignore-auto-dns:                   いいえ
ipv6.never-default:                     いいえ
ipv6.may-fail:                          はい
ipv6.required-timeout:                  -1 (default)
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.ra-timeout:                        0 (default)
ipv6.dhcp-duid:                         --
ipv6.dhcp-iaid:                         --
ipv6.dhcp-timeout:                      0 (default)
ipv6.dhcp-send-hostname:                はい
ipv6.dhcp-hostname:                     --
ipv6.dhcp-hostname-flags:               0x0 (none)
ipv6.token:                             --
proxy.method:                           none
proxy.browser-only:                     いいえ
proxy.pac-url:                          --
proxy.pac-script:                       --
GENERAL.NAME:                           enp1s0f3
GENERAL.UUID:                           35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5
GENERAL.DEVICES:                        enp1s0f3
GENERAL.IP-IFACE:                       enp1s0f3
GENERAL.STATE:                          アクティベート済み
GENERAL.DEFAULT:                        いいえ
GENERAL.DEFAULT6:                       いいえ
GENERAL.SPEC-OBJECT:                    --
GENERAL.VPN:                            いいえ
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveC>
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Setting>
GENERAL.ZONE:                           --
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                         192.168.200.22/24
IP4.GATEWAY:                            192.168.200.251
IP4.ROUTE[1]:                           dst = 192.168.200.0/24, nh = 0.0.0.0, m>
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.200.251, >
IP4.DNS[1]:                             8.8.8.8
IP6.GATEWAY:                            --

ネットワークインターフェースのパラメータ変更

例では、ネットワークインターフェース「enp1s0f3」を使っています。

パラメータ変更前の値を必ずバックアップしましょう。変更後は、必ず反映設定の再読み込み、起動状態の確認を実施しましょう。

「nmcli」コマンドによる パラメータ値のバックアップは以下のとおりです。

# nmcli connection show enp1s0f3 > /tmp/enp1s0f3.bkup.txt

上記の設定において、便宜上、設定したデフォルトゲートウェイとDNSのパラメータ値を初期化してみます。

$ sudo su -
# nmcli connection modify enp1s0f3 ipv4.gateway ''
# nmcli connection modify enp1s0f3 ipv4.dns ''

設定の再読み込み、起動状態の確認

# nmcli connection reload
# nmcli connection down enp1s0f3
# nmcli connection up enp1s0f3
# nmcli connection show
# nmcli connection show enp1s0f3

パラメータ値が「disable」(無効)になっているところを「enable」(有効)にしてみます。

取りうるパラメータ値でない場合、入力可能なパラメータの種類を教えてくれます。

設定の再読み込み、起動状態の確認をお忘れなく。

$ sudo su -
# nmcli connection modify enp1s0f3 ipv6.method enable
エラー: modify ipv6.method: 'enable' は [ignore, auto, dhcp, link-local, manual, shared, disabled] にはありません. に失敗しました
# nmcli connection modify enp1s0f3 ipv6.method auto
# nmcli connection modify enp1s0f3 ipv6.method disable

もう一つ、「nmcli connection show」コマンドによるパラメータ値により表示される、「はい」、「いいえ」の箇所を変更してみます。

設定の再読み込み、起動状態の確認をお忘れなく。

$ sudo su -
# nmcli connection modify enp1s0f3 connection.autoconnect enable
エラー: modify connection.autoconnect: 'enable' は無効です。[true, yes, on] か [false, no, off] を使用してください. に失敗しました
# nmcli connection modify enp1s0f3 connection.autoconnect no
# nmcli connection modify enp1s0f3 connection.autoconnect yes

ネットワークインターフェースの初期化

上記の説明のため使用したネットワークインターフェース 「enp1s0f2」 「enp1s0f3」を初期化します。

ネットワークインターフェースの削除
# nmcli connection delete enp1s0f2
接続 'enp1s0f2' (3d9c9f2f-a6a0-41e0-b975-7237abe8b815) が正常に削除されました。

# nmcli connection delete enp1s0f3
接続 'enp1s0f3' (35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5) が正常に削除されました。

削除確認
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
team1     b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

ネットワークインターフェースの追加
# nmcli connection add type ethernet ifname enp1s0f2 con-name enp1s0f2
接続 'enp1s0f2' (a48c5f90-aef9-44e2-bef5-1053a4273f2e) が正常に追加されました。

# nmcli connection add type ethernet ifname enp1s0f3 con-name enp1s0f3
接続 'enp1s0f3' (4b799987-ee76-4a9f-a0fb-e176bb02c100) が正常に追加されました。

追加確認
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
enp1s0f2  a48c5f90-aef9-44e2-bef5-1053a4273f2e  ethernet  enp1s0f2
enp1s0f3  4b799987-ee76-4a9f-a0fb-e176bb02c100  ethernet  enp1s0f3
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

反映
# nmcli connection reload

初期化確認
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --
enp1s0f2  a48c5f90-aef9-44e2-bef5-1053a4273f2e  ethernet  --
enp1s0f3  4b799987-ee76-4a9f-a0fb-e176bb02c100  ethernet  --

広告

Teaming(LACP)

物理的なネットワークインターフェースを束ねることをリンクアグリゲーション、ボンディングなど、呼び方や技術が色々ありますが、ここでは、Teaming(チーミング)を説明します。

Teaming(チーミング)されたチームインターフェースを「Master」、その要素となる物理インターフェースや論理インターフェースを「Slave」と定義します。

例として、以下の図のようにTeam構成します。

本項の内容はRedhat系ディストリビューションとなる、CentOS 7 、CentOS 8 、 Ferora 20以上のOSに互換性があります。

ネットワークインターフェースの確認

上記の「nmtui」や「nmcli」を使用し、上記の解説に使った拡張4ポートNICの[enp1s0f2] 、[ enp1s0f3]を使用します。

$ nmcli device status
DEVICE      TYPE      STATE            CONNECTION
eno1        ethernet  接続済み         eno1
virbr0      bridge    接続済み (外部)  virbr0
enp1s0f2    ethernet  接続済み         enp1s0f2
enp1s0f3    ethernet  接続済み         enp1s0f3
enp1s0f0    ethernet  切断済み         --
enp1s0f1    ethernet  切断済み         --
lo          loopback  管理無し         --
virbr0-nic  tun       管理無し         --

ソフトウェアパッケージ( teamd )のインストール

以下のパッケージを「yum」コマンドを用い、追加インストールします。

パッケージ説明
teamdTeamingデーモン
NetworkManager-teamteamd用NetworkManagerプラグイン

コマンドの実施例を以下に示します。

$ sudo su -
# yum install -y teamd NetworkManager-team


Updating Subscription Management repositories.
メタデータの期限切れの最終確認: 2:24:28 時間前の 2021年11月15日 01時54分43秒 に 実施しました。
パッケージ teamd-1.31-2.el8.x86_64 は既にインストールされています。
パッケージ NetworkManager-team-1:1.30.0-13.el8_4.x86_64 は既にインストールされています。
依存関係が解決しました。
================================================================================
 パッケージ          Arch   バージョン      リポジトリー                  サイズ
================================================================================
アップグレード:
 NetworkManager      x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 2.6 M
 NetworkManager-adsl x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 144 k
 NetworkManager-bluetooth
                     x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 170 k
 NetworkManager-libnm
                     x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 1.8 M
 NetworkManager-team x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 149 k
 NetworkManager-tui  x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 336 k
 NetworkManager-wifi x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 190 k
 NetworkManager-wwan x86_64 1:1.32.10-4.el8 rhel-8-for-x86_64-baseos-rpms 176 k

トランザクションの概要
================================================================================
アップグレード  8 パッケージ

ダウンロードサイズの合計: 5.6 M
パッケージのダウンロード:
(1/8): NetworkManager-adsl-1.32.10-4.el8.x86_64 240 kB/s | 144 kB     00:00
(2/8): NetworkManager-wwan-1.32.10-4.el8.x86_64 291 kB/s | 176 kB     00:00
(3/8): NetworkManager-team-1.32.10-4.el8.x86_64 242 kB/s | 149 kB     00:00
(4/8): NetworkManager-1.32.10-4.el8.x86_64.rpm  5.1 MB/s | 2.6 MB     00:00
(5/8): NetworkManager-tui-1.32.10-4.el8.x86_64. 597 kB/s | 336 kB     00:00
(6/8): NetworkManager-wifi-1.32.10-4.el8.x86_64 332 kB/s | 190 kB     00:00
(7/8): NetworkManager-bluetooth-1.32.10-4.el8.x 769 kB/s | 170 kB     00:00
(8/8): NetworkManager-libnm-1.32.10-4.el8.x86_6 4.8 MB/s | 1.8 MB     00:00
--------------------------------------------------------------------------------
合計                                            3.6 MB/s | 5.6 MB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  scriptletの実行中: NetworkManager-libnm-1:1.32.10-4.el8.x86_64            1/1
  アップグレード中 : NetworkManager-libnm-1:1.32.10-4.el8.x86_64           1/16
  scriptletの実行中: NetworkManager-libnm-1:1.32.10-4.el8.x86_64           1/16
  scriptletの実行中: NetworkManager-1:1.32.10-4.el8.x86_64                 2/16
  アップグレード中 : NetworkManager-1:1.32.10-4.el8.x86_64                 2/16
  scriptletの実行中: NetworkManager-1:1.32.10-4.el8.x86_64                 2/16
  アップグレード中 : NetworkManager-wwan-1:1.32.10-4.el8.x86_64            3/16
  アップグレード中 : NetworkManager-bluetooth-1:1.32.10-4.el8.x86_64       4/16
  アップグレード中 : NetworkManager-team-1:1.32.10-4.el8.x86_64            5/16
  アップグレード中 : NetworkManager-adsl-1:1.32.10-4.el8.x86_64            6/16
  アップグレード中 : NetworkManager-tui-1:1.32.10-4.el8.x86_64             7/16
  アップグレード中 : NetworkManager-wifi-1:1.32.10-4.el8.x86_64            8/16
  整理             : NetworkManager-tui-1:1.30.0-13.el8_4.x86_64           9/16
  整理             : NetworkManager-bluetooth-1:1.30.0-13.el8_4.x86_64    10/16
  整理             : NetworkManager-wwan-1:1.30.0-13.el8_4.x86_64         11/16
  整理             : NetworkManager-wifi-1:1.30.0-13.el8_4.x86_64         12/16
  整理             : NetworkManager-adsl-1:1.30.0-13.el8_4.x86_64         13/16
  整理             : NetworkManager-team-1:1.30.0-13.el8_4.x86_64         14/16
  scriptletの実行中: NetworkManager-1:1.30.0-13.el8_4.x86_64              15/16
  整理             : NetworkManager-1:1.30.0-13.el8_4.x86_64              15/16
  scriptletの実行中: NetworkManager-1:1.30.0-13.el8_4.x86_64              15/16
  整理             : NetworkManager-libnm-1:1.30.0-13.el8_4.x86_64        16/16
  scriptletの実行中: NetworkManager-libnm-1:1.30.0-13.el8_4.x86_64        16/16
  検証             : NetworkManager-wwan-1:1.32.10-4.el8.x86_64            1/16
  検証             : NetworkManager-wwan-1:1.30.0-13.el8_4.x86_64          2/16
  検証             : NetworkManager-team-1:1.32.10-4.el8.x86_64            3/16
  検証             : NetworkManager-team-1:1.30.0-13.el8_4.x86_64          4/16
  検証             : NetworkManager-adsl-1:1.32.10-4.el8.x86_64            5/16
  検証             : NetworkManager-adsl-1:1.30.0-13.el8_4.x86_64          6/16
  検証             : NetworkManager-1:1.32.10-4.el8.x86_64                 7/16
  検証             : NetworkManager-1:1.30.0-13.el8_4.x86_64               8/16
  検証             : NetworkManager-tui-1:1.32.10-4.el8.x86_64             9/16
  検証             : NetworkManager-tui-1:1.30.0-13.el8_4.x86_64          10/16
  検証             : NetworkManager-wifi-1:1.32.10-4.el8.x86_64           11/16
  検証             : NetworkManager-wifi-1:1.30.0-13.el8_4.x86_64         12/16
  検証             : NetworkManager-bluetooth-1:1.32.10-4.el8.x86_64      13/16
  検証             : NetworkManager-bluetooth-1:1.30.0-13.el8_4.x86_64    14/16
  検証             : NetworkManager-libnm-1:1.32.10-4.el8.x86_64          15/16
  検証             : NetworkManager-libnm-1:1.30.0-13.el8_4.x86_64        16/16
Installed products updated.

アップグレード済み:
  NetworkManager-1:1.32.10-4.el8.x86_64
  NetworkManager-adsl-1:1.32.10-4.el8.x86_64
  NetworkManager-bluetooth-1:1.32.10-4.el8.x86_64
  NetworkManager-libnm-1:1.32.10-4.el8.x86_64
  NetworkManager-team-1:1.32.10-4.el8.x86_64
  NetworkManager-tui-1:1.32.10-4.el8.x86_64
  NetworkManager-wifi-1:1.32.10-4.el8.x86_64
  NetworkManager-wwan-1:1.32.10-4.el8.x86_64

完了しました!

チームインターフェースの作成

Teamingの分散/冗長方式は、現時点で以下の種類があります。

対向機器が「Cisco Catalyst 3560」ですので、「LACP」リンクアグリケーションを選択します。

team.runner 種類説明
broadcast データは全ポートで送信されます
roundrobinデータは全ポートで順番に送信されます
activebackup1 つのポートまたはリンクが使用され、他はバックアップとして維持されます
loadbalance アクティブ Tx 負荷分散と BPF ベースの Tx ポートセレクターを使用します
lacp802.3ad リンクアグリゲーション制御プロトコルを実装します

チームインターフェースの作成/削除を説明するため、一回目を「activebackup」で作り、再作成として「LACP」により、作成します。

作成(1回目:失敗)
# nmcli connection add type team con-name team1 ifname team1 team.runner activebackup
接続 'team1' (13f33a2f-7727-4afd-a06b-d05cf7f592d0) が正常に追加されました。

パラメータ変更(1回目:失敗)
# nmcli connection modify team1 ipv4.method disabled
# nmcli connection modify team1 ipv6.method disabled

再起動(1回目:失敗)
# nmcli connection down team1
接続 'team0' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/10)
# nmcli connection up team1
接続が正常にアクティベートされました (master waiting for slaves) (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/11)

作成確認(1回目:失敗)
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
team1     13f33a2f-7727-4afd-a06b-d05cf7f592d0  team      team1
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
enp1s0f2  3d9c9f2f-a6a0-41e0-b975-7237abe8b815  ethernet  enp1s0f2
enp1s0f3  35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5  ethernet  enp1s0f3
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

削除(1回目:失敗)
# nmcli connection delete team1
接続 'team1' (13f33a2f-7727-4afd-a06b-d05cf7f592d0) が正常に削除されました。

削除確認
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
enp1s0f2  3d9c9f2f-a6a0-41e0-b975-7237abe8b815  ethernet  enp1s0f2
enp1s0f3  35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5  ethernet  enp1s0f3
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

再作成
# nmcli connection add type team con-name team1 ifname team1 team.runner lacp
接続 'team1' (b4500e44-02de-4766-a3bd-e1b6651ba2ca) が正常に追加されました。

パラメータ変更
# nmcli connection modify team1 ipv4.method disabled
# nmcli connection modify team1 ipv6.method disabled

再起動
# nmcli connection down team1
接続 'team0' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/10)
# nmcli connection up team1
接続が正常にアクティベートされました (master waiting for slaves) (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/11)


作成確認
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
team1     b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
enp1s0f2  3d9c9f2f-a6a0-41e0-b975-7237abe8b815  ethernet  enp1s0f2
enp1s0f3  35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5  ethernet  enp1s0f3
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

リンク監視

冗長構成されたLANケーブルの監視方法を設定します。

設定した条件でリンクダウンを検知し、縮退を実施します。

リンク監視(1秒間隔)
# nmcli connection modify team1 team.link-watchers "name=ethtool delay-up=1000"

リンク監視(1秒間隔 + arp_ping)
# nmcli connection modify team1 team.link-watchers "name=ethtool delay-up=1000, name=arp_ping source-host=192.0.2.1 target-host=192.0.2.2"

スレーブの追加/削除

スレーブとはTeamingを構成するメンバー要素を表します。

ここでは、ネットワークインターフェース[enp1s0f2]、[enp1s0f3]をスレーブとして実施例を以下に示します。

スレーブが、使われている(接続)状態および設定が定義してある場合は、以下のように構成が失敗します。その場合、 ネットワークインターフェース を削除、ネットワークデバイスの「切断」を実施します。

# nmcli device status
DEVICE      TYPE      STATE            CONNECTION
eno1        ethernet  接続済み         eno1
virbr0      bridge    接続済み (外部)  virbr0
enp1s0f0    ethernet  切断済み         --
enp1s0f1    ethernet  切断済み         --
enp1s0f2    ethernet  接続済み         enp1s0f2     <----(*)
enp1s0f3    ethernet  接続済み         enp1s0f3     <----(*)
lo          loopback  管理無し         --
virbr0-nic  tun       管理無し         --

スレーブ追加(1回目:失敗)
# nmcli connection add type ethernet slave-type team con-name team1-port1 ifname enp1s0f2 master team1
接続 'team1-port1' (e67af606-fd8b-4218-b9da-00cc88267b36) が正常に追加されました。

# nmcli connection add type ethernet slave-type team con-name team1-port2 ifname enp1s0f3 master team1
接続 'team1-port2' (b3674390-b64e-49f0-aee8-63efd28db1a4) が正常に追加されました。

# nmcli connection show
NAME         UUID                                  TYPE      DEVICE
team1        b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
eno1         5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
enp1s0f2     3d9c9f2f-a6a0-41e0-b975-7237abe8b815  ethernet  enp1s0f2 <----- (定義済み)
enp1s0f3     35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5  ethernet  enp1s0f3 <----- (定義済み)
virbr0       94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0     1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1     646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --
team1-port1  e67af606-fd8b-4218-b9da-00cc88267b36  ethernet  --  <----- (*)
team1-port2  b3674390-b64e-49f0-aee8-63efd28db1a4  ethernet  --  <----- (*)

スレーブの削除
# nmcli connection delete team1-port1
接続 'team1-port1' (e67af606-fd8b-4218-b9da-00cc88267b36) が正常に削除されました。

# nmcli connection delete team1-port2
接続 'team1-port2' (b3674390-b64e-49f0-aee8-63efd28db1a4) が正常に削除されました。

スレーブ削除の確認
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
team1     b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
enp1s0f2  3d9c9f2f-a6a0-41e0-b975-7237abe8b815  ethernet  enp1s0f2
enp1s0f3  35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5  ethernet  enp1s0f3
virbr0    94ec4d40-8ad2-4f5e-ad6c-06eb950a9527  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

ネットワークインターフェースの削除
# nmcli connection delete enp1s0f2
接続 'enp1s0f2' (3d9c9f2f-a6a0-41e0-b975-7237abe8b815) が正常に削除されました。
# nmcli connection delete enp1s0f3
接続 'enp1s0f3' (35a5e174-aed7-4dd8-8d8b-f6b095d1c2a5) が正常に削除されました。

ネットワークインターフェースの削除確認
# nmcli connection show
NAME      UUID                                  TYPE      DEVICE
team1     b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
eno1      5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0    898de4ba-52d6-47ab-950d-7890f81ced5e  bridge    virbr0
enp1s0f0  1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1  646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

ネットワークデバイスの「切断」確認
# nmcli device status
DEVICE      TYPE      STATE            CONNECTION
eno1        ethernet  接続済み         eno1
virbr0      bridge    接続済み (外部)  virbr0
enp1s0f0    ethernet  切断済み         --
enp1s0f1    ethernet  切断済み         --
enp1s0f2    ethernet  切断済み         --     <----(*)
enp1s0f3    ethernet  切断済み         --     <----(*)
lo          loopback  管理無し         --
virbr0-nic  tun       管理無し         --

スレーブ追加(2回目:成功)
# nmcli connection add type ethernet slave-type team con-name team1-port1 ifname enp1s0f2 master team1
接続 'team1-port1' (76c07977-5cba-4a7f-a571-73ca6629440c) が正常に追加されました。

# nmcli connection add type ethernet slave-type team con-name team1-port2 ifname enp1s0f3 master team1
接続 'team1-port2' (871c741c-8d9e-4d9d-8777-b096459e2da8) が正常に追加されました。

再読み込み
# nmcli connection reload

構成の確認
# nmcli connection show
NAME         UUID                                  TYPE      DEVICE
team1        b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
eno1         5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0       898de4ba-52d6-47ab-950d-7890f81ced5e  bridge    virbr0
team1-port1  76c07977-5cba-4a7f-a571-73ca6629440c  ethernet  enp1s0f2 <----(*) 
team1-port2  871c741c-8d9e-4d9d-8777-b096459e2da8  ethernet  enp1s0f3 <----(*) 
enp1s0f0     1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1     646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

Teamingの状態確認

# ps -ef | grep teamd
root        1530    1216  0 11月16 ?      00:00:00 /usr/bin/teamd -o -n -U -D -N -t team1 -c { "runner": { "name": "lacp" }, "link_watch": { "name": "ethtool", "delay_up": 1000 } }

# teamdctl team1 state view
setup:
  runner: lacp
ports:
  enp1s0f2
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
    runner:
      aggregator ID: 5, Selected
      selected: yes
      state: current
  enp1s0f3
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
    runner:
      aggregator ID: 5, Selected
      selected: yes
      state: current
runner:
  active: yes
  fast rate: no

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 58:c2:32:0d:7d:b0 brd ff:ff:ff:ff:ff:ff
3: enp1s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 58:c2:32:0d:7d:b1 brd ff:ff:ff:ff:ff:ff
4: enp1s0f2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team1 state UP mode DEFAULT group default qlen 1000
    link/ether 58:c2:32:0d:7d:b2 brd ff:ff:ff:ff:ff:ff
5: enp1s0f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team1 state UP mode DEFAULT group default qlen 1000
    link/ether 58:c2:32:0d:7d:b2 brd ff:ff:ff:ff:ff:ff permaddr 58:c2:32:0d:7d:b3
6: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 50:65:f3:1c:3c:8b brd ff:ff:ff:ff:ff:ff
7: team1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 58:c2:32:0d:7d:b2 brd ff:ff:ff:ff:ff:ff
8: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:8a:3d:69 brd ff:ff:ff:ff:ff:ff
9: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:8a:3d:69 brd ff:ff:ff:ff:ff:ff

# nmcli connection show team1
# nmcli connection show team1-port1
# nmcli connection show team1-port2

チームインターフェースの起動確認

# nmcli connection down team1
接続 'team1' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/7)

# nmcli connection up team1
接続が正常にアクティベートされました (master waiting for slaves) (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/7)

チームインターフェースの自動起動

ネットワークインターフェースの自動起動
# nmcli connection modify team1 connection.autoconnect yes
# nmcli connection modify team1-port1 connection.autoconnect yes 
# nmcli connection modify team1-port2 connection.autoconnect yes 

自動起動の確認
# nmcli con show team1 | grep "connection.autoconnect:"
connection.autoconnect:                 はい
# nmcli con show team1-port1 | grep "connection.autoconnect:"
connection.autoconnect:                 はい
# nmcli con show team1-port2 | grep "connection.autoconnect:"
connection.autoconnect:                 はい

広告

vlanインターフェース(Teaming + Tag VLAN)

上記で作成したチームインターフェース(team1)に複数VLAN(Vlan100、 Vlan200)を通す設定をします。1本のLANケーブル接続に複数VLANを通す場合も手順は同様となり、 チームインターフェース を物理インターフェース(eno1など)に読み替えてください。

vlanインターフェース作成

作成/削除のため、最初に「team1」デバイスにvlan100、200のvlanインターフェースを作成し、削除、設計通りに「team0」へ作成します。

デバイスとインターフェース(CONNECTION)の現状確認
# nmcli dev
DEVICE      TYPE      STATE            CONNECTION
eno1        ethernet  接続済み         eno1
virbr0      bridge    接続済み (外部)  virbr0
enp1s0f0    ethernet  接続済み         team0-port1
enp1s0f1    ethernet  接続済み         team0-port2
enp1s0f2    ethernet  接続済み         team1-port1
enp1s0f3    ethernet  接続済み         team1-port2
team0       team      接続済み         team0
team1       team      接続済み         team1
lo          loopback  管理無し         --
virbr0-nic  tun       管理無し         --

vlanインターフェース作成(vlan100) 失敗
# nmcli connection add type vlan con-name vlan100 dev team1 id 100
接続 'vlan100' (e6ccd6c2-c7da-4a5d-9fe2-adb67dd76b62) が正常に追加されました。

vlanインターフェース作成(vlan200) 失敗
# nmcli connection add type vlan con-name vlan200 dev team1 id 200
接続 'vlan200' (bd5b3242-a487-46ba-9893-a987ed27402b) が正常に追加されました。

作成確認 失敗
# nmcli connection show
NAME         UUID                                  TYPE      DEVICE
team0        ca2dd95b-5f74-4ca4-bd7e-c6ca7d59bcaa  team      team0
eno1         5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0       ddb5a956-a7eb-453a-8417-bb67c8b779ce  bridge    virbr0
team0-port1  cd810242-32d5-4939-9723-cc4d4de4b71a  ethernet  enp1s0f0
team0-port2  ae998e51-3b07-44ea-b653-c0e42890eff0  ethernet  enp1s0f1
team1        b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
team1-port1  76c07977-5cba-4a7f-a571-73ca6629440c  ethernet  enp1s0f2
team1-port2  871c741c-8d9e-4d9d-8777-b096459e2da8  ethernet  enp1s0f3
vlan100      e6ccd6c2-c7da-4a5d-9fe2-adb67dd76b62  vlan      --  <-----(*) 
vlan200      bd5b3242-a487-46ba-9893-a987ed27402b  vlan      --  <-----(*) 

vlanインターフェースの削除
# nmcli connection delete vlan100
接続 'vlan100' (e6ccd6c2-c7da-4a5d-9fe2-adb67dd76b62) が正常に削除されました。
# nmcli connection delete vlan200
接続 'vlan200' (bd5b3242-a487-46ba-9893-a987ed27402b) が正常に削除されました。

削除確認
# nmcli connection show
NAME         UUID                                  TYPE      DEVICE
team0        ca2dd95b-5f74-4ca4-bd7e-c6ca7d59bcaa  team      team0
eno1         5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0       ddb5a956-a7eb-453a-8417-bb67c8b779ce  bridge    virbr0
team0-port1  cd810242-32d5-4939-9723-cc4d4de4b71a  ethernet  enp1s0f0
team0-port2  ae998e51-3b07-44ea-b653-c0e42890eff0  ethernet  enp1s0f1
team1        b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
team1-port1  76c07977-5cba-4a7f-a571-73ca6629440c  ethernet  enp1s0f2
team1-port2  871c741c-8d9e-4d9d-8777-b096459e2da8  ethernet  enp1s0f3

vlanインターフェース再作成(vlan100) 
# nmcli connection add type vlan con-name vlan100 dev team0 id 100
接続 'vlan100' (a2757730-2adb-4222-8455-a28f8d22e91f) が正常に追加されました。

vlanインターフェース再作成(vlan200) 
# nmcli connection add type vlan con-name vlan200 dev team0 id 200
接続 'vlan200' (cc92de51-54c0-4b9d-aa93-43a3945b3b6f) が正常に追加されました。

再作成確認
# nmcli connection show
NAME         UUID                                  TYPE      DEVICE
team0        ca2dd95b-5f74-4ca4-bd7e-c6ca7d59bcaa  team      team0
eno1         5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
virbr0       ddb5a956-a7eb-453a-8417-bb67c8b779ce  bridge    virbr0
team0-port1  cd810242-32d5-4939-9723-cc4d4de4b71a  ethernet  enp1s0f0
team0-port2  ae998e51-3b07-44ea-b653-c0e42890eff0  ethernet  enp1s0f1
team1        b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
team1-port1  76c07977-5cba-4a7f-a571-73ca6629440c  ethernet  enp1s0f2
team1-port2  871c741c-8d9e-4d9d-8777-b096459e2da8  ethernet  enp1s0f3
vlan100      a2757730-2adb-4222-8455-a28f8d22e91f  vlan      --
vlan200      cc92de51-54c0-4b9d-aa93-43a3945b3b6f  vlan      --

再読み込み
# nmcli connection reload

vlanインターフェース(デバイス)設定

vlanインターフェース作成(vlan100)
# nmcli connection modify vlan100 ipv4.addresses 10.77.255.100/16
# nmcli connection modify vlan100 ipv4.may-fail no
# nmcli connection modify vlan100 ipv4.method manual
# nmcli connection modify vlan100 ipv6.method disabled
# nmcli connection modify vlan100 connection.autoconnect yes
# nmcli connection up vlan100

vlanインターフェース作成(vlan200)
# nmcli connection modify vlan200 ipv4.addresses 10.78.255.100/16
# nmcli connection modify vlan200 ipv4.may-fail no
# nmcli connection modify vlan200 ipv4.method manual
# nmcli connection modify vlan200 ipv6.method disabled
# nmcli connection modify vlan200 connection.autoconnect yes
# nmcli connection up vlan200

確認
# nmcli connection show
NAME         UUID                                  TYPE      DEVICE
team1        b4500e44-02de-4766-a3bd-e1b6651ba2ca  team      team1
eno1         5f2adea6-ad7a-489a-9579-6c584f119bcc  ethernet  eno1
vlan100      e6ccd6c2-c7da-4a5d-9fe2-adb67dd76b62  vlan      team1.100 <-----(*)
vlan200      bd5b3242-a487-46ba-9893-a987ed27402b  vlan      team1.200 <-----(*)
virbr0       2b7ac30e-f764-467f-8e17-efa6675edaaa  bridge    virbr0
team1-port1  76c07977-5cba-4a7f-a571-73ca6629440c  ethernet  enp1s0f2
team1-port2  871c741c-8d9e-4d9d-8777-b096459e2da8  ethernet  enp1s0f3
enp1s0f0     1a12fce2-e269-4b9c-8167-e46bbdf51098  ethernet  --
enp1s0f1     646addfd-283e-407c-8811-9ffa8210ab4d  ethernet  --

反映
# nmcli connection reload

vlanインターフェースを削除する場合は、以下のコマンドとなります。

vlanインターフェース削除(vlan100)
# nmcli connection delete vlan100

vlanインターフェースの起動確認

# nmcli connection down vlan100
接続 'vlan100' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/5)

# nmcli connection up vlan100
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/9)

vlanインターフェースの自動起動

ネットワークインターフェースの自動起動
# nmcli connection modify vlan100 connection.autoconnect yes 
# nmcli connection modify vlan200 connection.autoconnect yes 

自動起動の確認
# nmcli con show vlan100 | grep "connection.autoconnect:"
connection.autoconnect:                 はい
# nmcli con show vlan200 | grep "connection.autoconnect:"
connection.autoconnect:                 はい

ネットワーク疎通確認/冗長化試験

コマンド「ping」による疎通試験結果と観点を以下に記載します。

既に対向サーバでサービス(httpsなど)が起動しているのであれば、サービス接続試験も実施します。

shellを用い、できる限り全パターンを網羅する試験を実施します。

大丈夫だと思っている箇所に構築バグおよび構築ミスは潜んでいます。

16進数"5A5A5A5A5A5A"(1010101010101)パターンによる単なる疎通確認
# ping -c 3 -p 5A5A5A5A5A5A 10.77.255.102
PATTERN: 0x5a5a5a5a5a5a
PING 10.77.255.102 (10.77.255.102) 56(84) bytes of data.
64 bytes from 10.77.255.102: icmp_seq=1 ttl=64 time=0.197 ms
64 bytes from 10.77.255.102: icmp_seq=2 ttl=64 time=0.225 ms
64 bytes from 10.77.255.102: icmp_seq=3 ttl=64 time=0.194 ms

--- 10.77.255.102 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2077ms
rtt min/avg/max/mdev = 0.194/0.205/0.225/0.018 ms

MTU 限界値
# ping -c 3 -s 1472 -M do 10.90.255.102
PING 10.90.255.102 (10.90.255.102) 1472(1500) bytes of data.
1480 bytes from 10.90.255.102: icmp_seq=1 ttl=64 time=0.788 ms
1480 bytes from 10.90.255.102: icmp_seq=2 ttl=64 time=0.732 ms
1480 bytes from 10.90.255.102: icmp_seq=1 ttl=64 time=0.788 ms

--- 10.90.255.102 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1038ms
rtt min/avg/max/mdev = 0.732/0.760/0.788/0.028 ms

MTU 限界値越え
# ping -c 3 -s 1473 -M do 10.90.255.102
PING 10.90.255.102 (10.90.255.102) 1473(1501) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500

--- 10.90.255.102 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2068ms

# ping -c 3 -s 50000 10.90.255.102
PING 10.90.255.102 (10.90.255.102) 50000(50028) bytes of data.
50008 bytes from 10.90.255.102: icmp_seq=1 ttl=64 time=9.02 ms
50008 bytes from 10.90.255.102: icmp_seq=2 ttl=64 time=9.04 ms
50008 bytes from 10.90.255.102: icmp_seq=3 ttl=64 time=9.07 ms

--- 10.90.255.102 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 9.024/9.046/9.074/0.111 ms

冗長化(チーミング)動作確認
# ping -s 50000 10.77.255.102
PING 10.77.255.102 (10.77.255.102) 50000(50028) bytes of data.
50008 bytes from 10.77.255.102: icmp_seq=1 ttl=64 time=1.16 ms
50008 bytes from 10.77.255.102: icmp_seq=11 ttl=64 time=1.20 ms
 :
(省略)
 :
50008 bytes from 10.77.255.102: icmp_seq=17 ttl=64 time=1.16 ms
50008 bytes from 10.77.255.102: icmp_seq=18 ttl=64 time=1.51 ms <-- LANケーブルA 抜線
50008 bytes from 10.77.255.102: icmp_seq=19 ttl=64 time=1.20 ms
50008 bytes from 10.77.255.102: icmp_seq=20 ttl=64 time=1.31 ms
From 10.77.255.100 icmp_seq=50 Destination Host Unreachable  <-- LANケーブルA、B 抜線
From 10.77.255.100 icmp_seq=51 Destination Host Unreachable
From 10.77.255.100 icmp_seq=53 Destination Host Unreachable
From 10.77.255.100 icmp_seq=54 Destination Host Unreachable
50008 bytes from 10.77.255.102: icmp_seq=56 ttl=64 time=1027 ms
50008 bytes from 10.77.255.102: icmp_seq=57 ttl=64 time=3.72 ms
50008 bytes from 10.77.255.102: icmp_seq=58 ttl=64 time=1.25 ms
50008 bytes from 10.77.255.102: icmp_seq=59 ttl=64 time=1.16 ms
50008 bytes from 10.77.255.102: icmp_seq=60 ttl=64 time=1.30 ms <-- LANケーブルB 抜線
 :
(省略)
 :
--- 10.77.255.102 ping statistics ---
60 packets transmitted, 25 received, +4 errors, 58.3333% packet loss, time 59883ms
rtt min/avg/max/mdev = 1.155/42.374/1027.319/201.051 ms, pipe 3

# traceroute www.google.com

帯域幅確認

以下の実施例は、サーバ「masao」から「hana」へ接続したときの帯域幅を確認しています。

両サーバへ「iperf3」をインストールし、必要なポートを開放します。

テスト後、ポートを閉塞します。

接続元サーバ、接続先サーバへ「iperf3」をインストール
# yum install iperf3

接続元サーバ、接続先サーバともに、ポート開放
# firewall-cmd --add-port=5201/tcp --permanent
success

変更を再読み込み
# firewall-cmd --reload
success

テスト後、ポート閉塞
# firewall-cmd --remove-port=5201/tcp --permanent
success

再読み込み
# firewall-cmd --reload
success

ポートの開放状況を確認
# firewall-cmd --list-all

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eno1 enp1s0f0 enp1s0f1 enp1s0f2 enp1s0f3 team0 team0.100 team0.200 team0.300 team0.400 team1 team1.500 team1.600 team1.900
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

2台のサーバ(masao、hana)間で計測します。

「ターミナル」画面をそれぞれのサーバで開き、同じコマンドを実行します。

対向サーバ(hana)側
# iperf3 -s

クライアント(masao)側
# iperf3 -c 10.90.255.102 ( hana / vlan 900 / 100MBbps×2 )

# iperf3 -c 10.77.255.102 ( hana / vlan 100 / 1GBbps×2 )

hana / vlan 900 / 100MBbps×2

LANケーブル2本のチーミングだからと言って、200Mbpsの速度が出ることはありません。

多重度の帯域試験では、合計で200Mbpsに近づきます。

# iperf3 -c 10.90.255.102
Connecting to host 10.90.255.102, port 5201
[  5] local 10.90.255.100 port 37710 connected to 10.90.255.102 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.8 MBytes  99.1 Mbits/sec    0    136 KBytes
[  5]   1.00-2.00   sec  11.2 MBytes  93.8 Mbits/sec    0    143 KBytes
[  5]   2.00-3.00   sec  11.2 MBytes  93.8 Mbits/sec    0    143 KBytes
[  5]   3.00-4.00   sec  11.2 MBytes  93.8 Mbits/sec    0    143 KBytes
[  5]   4.00-5.00   sec  11.2 MBytes  93.8 Mbits/sec    0    143 KBytes
[  5]   5.00-6.00   sec  11.2 MBytes  93.8 Mbits/sec    0    143 KBytes
[  5]   6.00-7.00   sec  11.2 MBytes  93.8 Mbits/sec    0    143 KBytes
[  5]   7.00-8.00   sec  11.2 MBytes  93.8 Mbits/sec    0    143 KBytes
[  5]   8.00-9.00   sec  11.5 MBytes  96.4 Mbits/sec    0    156 KBytes
[  5]   9.00-10.00  sec  11.2 MBytes  93.8 Mbits/sec    0    156 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   113 MBytes  94.6 Mbits/sec    0             sender
[  5]   0.00-10.05  sec   112 MBytes  93.5 Mbits/sec                  receiver

iperf Done.

hana / vlan 100 / 1GBbps×2

流石に100Mbpsの10倍の帯域が計測できました。

ちなみに、弊社の10GBpsネットワークでは、さらにこの10倍の帯域が出せます。(自慢)

# iperf3 -c 10.77.255.102
Connecting to host 10.77.255.102, port 5201
[  5] local 10.77.255.100 port 54270 connected to 10.77.255.102 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   114 MBytes   958 Mbits/sec    0    414 KBytes
[  5]   1.00-2.00   sec   112 MBytes   936 Mbits/sec    0    458 KBytes
[  5]   2.00-3.00   sec   113 MBytes   945 Mbits/sec    0    479 KBytes
[  5]   3.00-4.00   sec   111 MBytes   935 Mbits/sec    0    479 KBytes
[  5]   4.00-5.00   sec   112 MBytes   943 Mbits/sec    0    479 KBytes
[  5]   5.00-6.00   sec   112 MBytes   938 Mbits/sec    0    529 KBytes
[  5]   6.00-7.00   sec   112 MBytes   939 Mbits/sec    0    529 KBytes
[  5]   7.00-8.00   sec   112 MBytes   937 Mbits/sec    0    556 KBytes
[  5]   8.00-9.00   sec   112 MBytes   938 Mbits/sec    0    556 KBytes
[  5]   9.00-10.00  sec   112 MBytes   938 Mbits/sec    0    556 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec    0             sender
[  5]   0.00-10.04  sec  1.09 GBytes   935 Mbits/sec                  receiver

iperf Done.

広告

コンテナ( Podman )

ソフトウェアパッケージ( Podman )のインストール

# yum module install -y container-tools
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:13:53 時間前の 2021年11月27日 17時48分01秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ     Arch   バージョン        リポジトリー                     サイズ
================================================================================
group/moduleパッケージをインストール:
 crun           x86_64 1.0-1.module+el8.5.0+12582+56d94c81
                                         rhel-8-for-x86_64-appstream-rpms 193 k
 python3-podman noarch 3.2.0-2.module+el8.5.0+12582+56d94c81
                                         rhel-8-for-x86_64-appstream-rpms 148 k
 skopeo         x86_64 1:1.4.2-0.1.module+el8.5.0+12582+56d94c81
                                         rhel-8-for-x86_64-appstream-rpms 6.7 M
 toolbox        x86_64 0.0.99.3-0.4.module+el8.5.0+12682+a4eeb084
                                         rhel-8-for-x86_64-appstream-rpms 2.3 M
 udica          noarch 0.2.5-2.module+el8.5.0+12582+56d94c81
                                         rhel-8-for-x86_64-appstream-rpms  51 k
依存関係のインストール:
 python3-pytoml noarch 0.1.14-5.git7dea353.el8
                                         rhel-8-for-x86_64-appstream-rpms  25 k
モジュールプロファイルのインストール中:
 container-tools/common


トランザクションの概要
================================================================================
インストール  6 パッケージ

ダウンロードサイズの合計: 9.4 M
インストール後のサイズ: 34 M
パッケージのダウンロード:
(1/6): python3-pytoml-0.1.14-5.git7dea353.el8.n  58 kB/s |  25 kB     00:00
(2/6): toolbox-0.0.99.3-0.4.module+el8.5.0+1268 2.6 MB/s | 2.3 MB     00:00
(3/6): udica-0.2.5-2.module+el8.5.0+12582+56d94  88 kB/s |  51 kB     00:00
(4/6): crun-1.0-1.module+el8.5.0+12582+56d94c81 762 kB/s | 193 kB     00:00
(5/6): python3-podman-3.2.0-2.module+el8.5.0+12 492 kB/s | 148 kB     00:00
(6/6): skopeo-1.4.2-0.1.module+el8.5.0+12582+56 4.4 MB/s | 6.7 MB     00:01
--------------------------------------------------------------------------------
合計                                            6.2 MB/s | 9.4 MB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : python3-pytoml-0.1.14-5.git7dea353.el8.noarch          1/6
  インストール中   : python3-podman-3.2.0-2.module+el8.5.0+12582+56d94c81   2/6
  インストール中   : crun-1.0-1.module+el8.5.0+12582+56d94c81.x86_64        3/6
  インストール中   : udica-0.2.5-2.module+el8.5.0+12582+56d94c81.noarch     4/6
  インストール中   : toolbox-0.0.99.3-0.4.module+el8.5.0+12682+a4eeb084.x   5/6
  インストール中   : skopeo-1:1.4.2-0.1.module+el8.5.0+12582+56d94c81.x86   6/6
  scriptletの実行中: skopeo-1:1.4.2-0.1.module+el8.5.0+12582+56d94c81.x86   6/6
  検証             : python3-pytoml-0.1.14-5.git7dea353.el8.noarch          1/6
  検証             : skopeo-1:1.4.2-0.1.module+el8.5.0+12582+56d94c81.x86   2/6
  検証             : toolbox-0.0.99.3-0.4.module+el8.5.0+12682+a4eeb084.x   3/6
  検証             : udica-0.2.5-2.module+el8.5.0+12582+56d94c81.noarch     4/6
  検証             : crun-1.0-1.module+el8.5.0+12582+56d94c81.x86_64        5/6
  検証             : python3-podman-3.2.0-2.module+el8.5.0+12582+56d94c81   6/6
インストール済みの製品が更新されています。

インストール済み:
  crun-1.0-1.module+el8.5.0+12582+56d94c81.x86_64
  python3-podman-3.2.0-2.module+el8.5.0+12582+56d94c81.noarch
  python3-pytoml-0.1.14-5.git7dea353.el8.noarch
  skopeo-1:1.4.2-0.1.module+el8.5.0+12582+56d94c81.x86_64
  toolbox-0.0.99.3-0.4.module+el8.5.0+12682+a4eeb084.x86_64
  udica-0.2.5-2.module+el8.5.0+12582+56d94c81.noarch

完了しました!

# yum install -y podman-docker
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:15:17 時間前の 2021年11月27日 17時48分01秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ    Arch   バージョン         リポジトリー                     サイズ
================================================================================
インストール:
 podman-docker noarch 3.3.1-9.module+el8.5.0+12697+018f24d7
                                         rhel-8-for-x86_64-appstream-rpms  56 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 56 k
インストール後のサイズ: 230
パッケージのダウンロード:
podman-docker-3.3.1-9.module+el8.5.0+12697+018f 153 kB/s |  56 kB     00:00
--------------------------------------------------------------------------------
合計                                            152 kB/s |  56 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : podman-docker-3.3.1-9.module+el8.5.0+12697+018f24d7.   1/1
  scriptletの実行中: podman-docker-3.3.1-9.module+el8.5.0+12697+018f24d7.   1/1
  検証             : podman-docker-3.3.1-9.module+el8.5.0+12697+018f24d7.   1/1
インストール済みの製品が更新されています。

インストール済み:
  podman-docker-3.3.1-9.module+el8.5.0+12697+018f24d7.noarch

完了しました!

仮想ネットワーク( macvlan )の作成

現状確認
# podman network ls

NETWORK ID    NAME        VERSION     PLUGINS
2f259bab93aa  podman      0.4.0       bridge,portmap,firewall,tuning

ネットワークデバイスの事前確認
# nmcli dev

DEVICE      TYPE      STATE            CONNECTION
eno1        ethernet  接続済み         eno1
virbr0      bridge    接続済み (外部)  virbr0
team0.100   vlan      接続済み         vlan100
team0.200   vlan      接続済み         vlan200
team0.300   vlan      接続済み         vlan300
team0.400   vlan      接続済み         vlan400
team1.500   vlan      接続済み         vlan500
team1.600   vlan      接続済み         vlan600
team1.900   vlan      接続済み         vlan900
enp1s0f0    ethernet  接続済み         team0-port1
enp1s0f1    ethernet  接続済み         team0-port2
enp1s0f2    ethernet  接続済み         team1-port1
enp1s0f3    ethernet  接続済み         team1-port2
team0       team      接続済み         team0
team1       team      接続済み         team1
lo          loopback  管理無し         --
virbr0-nic  tun       管理無し         --

作成
# podman network create -d macvlan --subnet=10.77.0.0/16 --gateway=10.77.255.254 -o parent=team0.100 macvlan.100
/etc/cni/net.d/macvlan.100.conflist

# podman network create -d macvlan --subnet=10.78.0.0/16 --gateway=10.78.255.254 -o parent=team0.200 macvlan.200
/etc/cni/net.d/macvlan.200.conflist

# podman network create -d macvlan --subnet=10.79.0.0/16 --gateway=10.79.255.254 -o parent=team0.300 macvlan.300
/etc/cni/net.d/macvlan.300.conflist

# podman network create -d macvlan --subnet=10.80.0.0/16 --gateway=10.80.255.254 -o parent=team0.400 macvlan.400
/etc/cni/net.d/macvlan.400.conflist

# podman network create -d macvlan --subnet=10.81.0.0/16 --gateway=10.81.255.253 -o parent=team1.500 macvlan.500
/etc/cni/net.d/macvlan.500.conflist

# podman network create -d macvlan --subnet=10.82.0.0/16 --gateway=10.82.255.253 -o parent=team1.600 macvlan.600
/etc/cni/net.d/macvlan.600.conflist

# podman network create -d macvlan --subnet=10.90.0.0/16 --gateway=10.90.255.253 -o parent=team1.900 macvlan.900
/etc/cni/net.d/macvlan.900.conflist

作成確認
# podman network ls
NETWORK ID    NAME         VERSION     PLUGINS
2f259bab93aa  podman       0.4.0       bridge,portmap,firewall,tuning
12468afd8575  macvlan.100  0.4.0       macvlan
2503dccf3bf1  macvlan.200  0.4.0       macvlan
7673b51b18ca  macvlan.300  0.4.0       macvlan
12e374f1fa82  macvlan.400  0.4.0       macvlan
ec5006f37db3  macvlan.500  0.4.0       macvlan
5787b4137a85  macvlan.600  0.4.0       macvlan
d9ee26bba945  macvlan.900  0.4.0       macvlan

削除
# podman network rm macvlan.900
macvlan.900

削除確認
# podman network ls
NETWORK ID    NAME         VERSION     PLUGINS
2f259bab93aa  podman       0.4.0       bridge,portmap,firewall,tuning
12468afd8575  macvlan.100  0.4.0       macvlan
2503dccf3bf1  macvlan.200  0.4.0       macvlan
7673b51b18ca  macvlan.300  0.4.0       macvlan
12e374f1fa82  macvlan.400  0.4.0       macvlan
ec5006f37db3  macvlan.500  0.4.0       macvlan
5787b4137a85  macvlan.600  0.4.0       macvlan

再作成
# podman network create -d macvlan --subnet=10.90.0.0/16 --gateway=10.90.255.253 -o parent=team1.900 macvlan.900
/etc/cni/net.d/macvlan.900.conflist

再作成の確認
# podman network ls
NETWORK ID    NAME         VERSION     PLUGINS
2f259bab93aa  podman       0.4.0       bridge,portmap,firewall,tuning
12468afd8575  macvlan.100  0.4.0       macvlan
2503dccf3bf1  macvlan.200  0.4.0       macvlan
7673b51b18ca  macvlan.300  0.4.0       macvlan
12e374f1fa82  macvlan.400  0.4.0       macvlan
ec5006f37db3  macvlan.500  0.4.0       macvlan
5787b4137a85  macvlan.600  0.4.0       macvlan
d9ee26bba945  macvlan.900  0.4.0       macvlan

定義フ表示ァイル
# podman network inspect macvlan.100
[
    {
        "cniVersion": "0.4.0",
        "name": "macvlan.100",
        "plugins": [
            {
                "ipam": {
                    "ranges": [
                        [
                            {
                                "gateway": "10.77.255.254",
                                "subnet": "10.77.0.0/16"
                            }
                        ]
                    ],
                    "routes": [
                        {
                            "dst": "0.0.0.0/0"
                        }
                    ],
                    "type": "host-local"
                },
                "master": "team0.100",
                "type": "macvlan"
            }
        ]
    }
]

仮想ネットワークの存在確認
 存在している場合
# podman network exists macvlan.900
# echo $?
0

 未定義の場合
# podman network exists macvlan.999
# echo $?
1

コンテナ( UBI )イメージの プル(ダウンロード)

システム全体と核となるUBIイメージをダウンロードします。

「Docker Hub」などに公開されているイメージを使い、お手軽に目的のコンテナを作成できますが、セキュアなイメージであると判断するには、時間や工数がかかります。

PCI-DSS対応イメージでは、セキュリティ設定などの膨大なチューニングを必要とします。

したがって、「車輪の再開発」(既にあるのに1から”理解しながら”作り直すこと)を率先して実施しなければなりません。

コンテナーレジストリーの設定

$ sudo su -
# vi /etc/containers/registries.conf

unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "docker.io"]

イメージ検索

# podman search ubi

INDEX       NAME                                                  DESCRIPTION                                      STARS       OFFICIAL    AUTOMATED
redhat.com  registry.access.redhat.com/ubi7/ubi-minimal           The Universal Base Image Init is designed to...  0
redhat.com  registry.access.redhat.com/ubi7/ubi-init              The Universal Base Image Init is designed to...  0
redhat.com  registry.access.redhat.com/ubi8-minimal               The Universal Base Image Minimal is a stripp...  0
redhat.com  registry.access.redhat.com/ubi7                       The Universal Base Image is designed and eng...  0
redhat.com  registry.access.redhat.com/ubi7-minimal               The Universal Base Image Minimal is a stripp...  0
redhat.com  registry.access.redhat.com/ubi8/ubi-micro             Provides the latest release of Micro Univers...  0
redhat.com  registry.access.redhat.com/ubi9-beta/ubi              Provides the latest release of Red Hat Unive...  0
redhat.com  registry.access.redhat.com/ubi9-beta/ubi-minimal      Provides the latest release of the Minimal R...  0
redhat.com  registry.access.redhat.com/ubi7/ubi                   The Universal Base Image is designed and eng...  0
redhat.com  registry.access.redhat.com/ubi8/ubi                   Provides the latest release of the Red Hat U...  0
redhat.com  registry.access.redhat.com/ubi8/ubi-minimal           Provides the latest release of the Minimal R...  0
redhat.com  registry.access.redhat.com/ubi8/ubi-init              Provides the latest release of the Red Hat U...  0
redhat.com  registry.access.redhat.com/ubi8                       The Universal Base Image is designed and eng...  0
redhat.com  registry.access.redhat.com/ubi8-init                  The Universal Base Image Init is designed to...  0
redhat.com  registry.access.redhat.com/ubi7-init                  The Universal Base Image Init is designed to...  0
redhat.com  registry.access.redhat.com/ubi8-micro                 Provides the latest release of Micro Univers...  0
redhat.com  registry.access.redhat.com/ubi9-beta/ubi-init         Provides the latest release of the Red Hat U...  0
redhat.com  registry.access.redhat.com/ubi9-beta/ubi-micro        Provides the latest release of Micro Univers...  0
redhat.com  registry.access.redhat.com/ubi8/openjdk-8-runtime     OpenJDK 1.8 runtime-only image on Red Hat Un...  0
redhat.com  registry.access.redhat.com/ubi8/openjdk-11-runtime    OpenJDK 11 runtime-only image on Red Hat Uni...  0
redhat.com  registry.access.redhat.com/ubi8/openjdk-17-runtime    OpenJDK 17 runtime-only image on Red Hat Uni...  0
redhat.com  registry.access.redhat.com/ubi8/go-toolset            Platform for building and running Go 1.11.5 ...  0
redhat.com  registry.access.redhat.com/ubi7/s2i-core              Base image which allows using of source-to-i...  0
redhat.com  registry.access.redhat.com/ubi8/dotnet-21-runtime     Provides the latest release of Red Hat Enter...  0
redhat.com  registry.access.redhat.com/ubi8/perl-526              Platform for building and running Perl 5.26 ...  0
docker.io   docker.io/ubirch/ubirch-client                        Dockerized version of the ubirch-protocol cl...  0
docker.io   docker.io/ubirak/moco                                 Ubirak moco docker containers                    0
docker.io   docker.io/mblab/ubio                                  Creates container to run uBio app                0                       [OK]
docker.io   docker.io/ubirch/ubirch-avatar-service                                                                 1
docker.io   docker.io/ubirch/ubirch-certify-service               ubirch-certify-service                           0
docker.io   docker.io/ubirch/filter-service                       ubirch filter service                            0
docker.io   docker.io/ubidots/docker-ubifunction-python3.6action  Base Docker to execute UbiFunction python3.6...  0
docker.io   docker.io/ubidots/docker-ubifunction-python3action    Base Docker to execute UbiFunction python ac...  0
docker.io   docker.io/ubirch/ubirch-certifier-web                 ubirch-certifier-web                             0
docker.io   docker.io/ubidots/docker-ubifunction-node10action     Base container to run Ubifunctions based on ...  0
docker.io   docker.io/ubirch/ubirch-blockchain-service                                                             0
docker.io   docker.io/ubirch/ubirch-ethereum-service              Command line interface python service develo...  0
docker.io   docker.io/nodeshift/ubi8-s2i-web-app                  OpenShift S2I builder images for Modern Web ...  2
docker.io   docker.io/ubirch/ubirch-key-service                                                                    0
docker.io   docker.io/ubiviushub/ubivius-game                     Ubivius game server                              0
docker.io   docker.io/cyberark/ubi-ruby-fips                      Combines a UBI base image with ruby compiled...  0
docker.io   docker.io/ubirch/ubirch-id-service                    ubirch-id-service                                0
docker.io   docker.io/ubirch/ubirch-incident-service              Ubirch Incident Service                          0
docker.io   docker.io/ubirch/discovery-kafka-service                                                               0
docker.io   docker.io/hclcnlabs/ubi-stratos-bk-base                                                                0
docker.io   docker.io/opsmxdev/ubi8-autopilot                                                                      0
docker.io   docker.io/hclcnlabs/ubi-stratos-bk-build-base                                                          0
docker.io   docker.io/hclcnlabs/ubi-stratos-init-base                                                              0
docker.io   docker.io/hclcnlabs/ubi-stratos-db-base                                                                0
docker.io   docker.io/planesticud/ubicaciones_crud                                                                 0

イメージのプル(ダウンロード)

# podman images
REPOSITORY                           TAG         IMAGE ID      CREATED      SIZE

# podman pull registry.access.redhat.com/ubi8/ubi
Trying to pull registry.access.redhat.com/ubi8/ubi:latest...
Getting image source signatures
Checking if image destination supports signatures
Copying blob ce3c6836540f done
Copying blob 63f9f4c31162 done
Copying config cc06568478 done
Writing manifest to image destination
Storing signatures
cc0656847854310306093b3dc1a7d9e7fc06399da46853e0c921cd5ec1906bfd

# podman images
REPOSITORY                           TAG         IMAGE ID      CREATED      SIZE
registry.access.redhat.com/ubi8/ubi  latest      cc0656847854  3 weeks ago  235 MB

実装基準イメージのビルドファイル

# mkdir /home/podman/mst_main/build
# cd /home/podman/mst_main/build
# vi mst_main
# Base Image
FROM registry.access.redhat.com/ubi8/ubi:latest

# Add yum Repository
RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
RUN yum install -y http://rpms.famillecollet.com/enterprise/remi-release-8.rpm

# Install RPM
RUN yum update  -y --disableplugin=subscription-manager
RUN yum update  -y
RUN yum install -y bc
RUN yum install -y procps
RUN yum install -y net-tools
RUN yum install -y bind-utils
RUN yum install -y iputils
RUN yum install -y iproute
RUN yum install -y crontabs
RUN yum install -y traceroute
RUN yum install -y wget
RUN yum install -y tcpdump
RUN yum install -y python39
RUN yum install -y perl
RUN yum install -y hostname
RUN yum install -y sudo
RUN yum install -y openssh
RUN yum install -y openssh-server
RUN yum install -y openssh-clients
RUN yum install -y firewalld
RUN yum install -y httpd
RUN yum install -y mod_ssl
RUN yum install -y mod_fcgid
RUN yum install -y mod_wsgi
RUN yum module reset php -y
RUN yum module install php:7.4 -y
RUN yum remove php-zip php-pear -y
RUN yum install php-zip php-pear -y
RUN yum install php74 php74-php php74-php-mysqlnd -y
RUN yum clean all

#=======================
# systemctl setup
#=======================
RUN systemctl enable firewalld.service
RUN systemctl enable sshd.service
RUN systemctl enable crond
RUN systemctl enable httpd.service

#=======================
# ansible setup
#=======================
# user add
RUN groupadd -g 10001 autoplot
RUN useradd -u 10001 -g 10001 -d /ansible -s /bin/bash autoplot

#=======================
# Open Network port
#=======================
EXPOSE 80
EXPOSE 443
EXPOSE 23

実装基準イメージのビルド

# podman images
REPOSITORY                           TAG         IMAGE ID      CREATED         SIZE
registry.access.redhat.com/ubi8/ubi  latest      cc0656847854  3 weeks ago     235 MB

# cd /home/podman/mst_main/build

# podman build -f ./mst_main -t mark_demo/mst_main .

STEP 1/42: FROM registry.access.redhat.com/ubi8/ubi:latest
STEP 2/42: RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Updating Subscription Management repositories.
Unable to read consumer identity
Subscription Manager is operating in container mode.
Red Hat Enterprise Linux 8 for x86_64 - AppStre 8.4 MB/s |  37 MB     00:04
Red Hat Enterprise Linux 8 for x86_64 - BaseOS  8.6 MB/s |  41 MB     00:04
Red Hat Universal Base Image 8 (RPMs) - BaseOS  489 kB/s | 794 kB     00:01
 :
 :
(省略)
 :
 :
STEP 40/42: EXPOSE 80
--> 58126cad973
STEP 41/42: EXPOSE 443
--> 49c9aa10685
STEP 42/42: EXPOSE 23
COMMIT mark_demo/mst_main
--> 2199ea18921
Successfully tagged localhost/mark_demo/mst_main:latest
2199ea189219a18cdc3a659adddaed4eec8abc7608e3bfb8f64eae37502e99ed

# podman images

REPOSITORY                           TAG         IMAGE ID      CREATED         SIZE
localhost/mark_demo/mst_main         latest      2199ea189219  26 minutes ago  1.53 GB
registry.access.redhat.com/ubi8/ubi  latest      cc0656847854  3 weeks ago     235 MB

広告

Cisco Catalyst 備忘録

初回の儀( ローカル認証 + SSH 接続 )

consoleポートにシリアルケーブル接続して初期セットアップを行います。

最初からvlanインターフェース(vlan 700)を用い、ssh接続を設定します。

Switch> enable
Switch# terminal length 0
Switch# show run

Switch# configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)# no enable password
Switch(config)# enable password XXXXXXXX

Switch(config)# hostname C2960-01
C2960-01(config)#

C2960-01(config)# ip domain-name mark-system.com
C2960-01(config)# ip name-server 192.168.1.1
C2960-01(config)# username XXXXX password XXXXXXXX
C2960-01(config)# crypto key generate rsa
How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys, keys will be non-exportable...
*Mar  2 02:20:40.427: %SSH-5-ENABLED: SSH 1.99 has been enabled


C2960-01(config)# ip ssh version 2

C2960-01(config)# line con 0
C2960-01(config-line)#
C2960-01(config-line)# line vty 0 4
C2960-01(config-line)# exec-timeout 240 0
C2960-01(config-line)# password  (省略)
C2960-01(config-line)# login local
C2960-01(config-line)# transport input ssh
C2960-01(config-line)# line vty 5 15
C2960-01(config-line)# exec-timeout 240 0
C2960-01(config-line)# password  (省略)
C2960-01(config-line)# login
C2960-01(config-line)# exit
C2960-01(config)# no aaa new-model
C2960-01(config)# exit


C2960-01# show ip ssh
SSH Enabled - version 2.0
Authentication timeout: 120 secs; Authentication retries: 3

C2960-01# show ssh
%No SSHv1 server connections running.
%No SSHv2 server connections running.


C2960-01# show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Gi0/1, Gi0/2, Gi0/3, Gi0/4                                                Gi0/5, Gi0/6, Gi0/7, Gi0/8
                                                Gi0/9, Gi0/10
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

C2960-01# configure terminal
C2960-01(config)# ip access-list extended out-all-permit
C2960-01(config-ext-nacl)# permit ip any any
C2960-01(config-ext-nacl)# exit
C2960-01(config)# ip access-list extended in-all-permit
C2960-01(config-ext-nacl)# permit ip any any
C2960-01(config-ext-nacl)# exit
C2960-01(config)# ip access-list standard ntp-acl
C2960-01(config-ext-nacl)# permit any
C2960-01(config-ext-nacl)# exit

C2960-01(config)# interface Vlan1
C2960-01(config-if)# shutdown
C2960-01(config-if)# exit

C2960-01(config)# vlan 700
C2960-01(config-vlan)# name MARK
C2960-01(config-vlan)# exit

C2960-01(config)# interface vlan 700
C2960-01(config-if)# ip address 192.168.1.254 255.255.255.0
C2960-01(config-if)# ip access-group in-all-permit in
C2960-01(config-if)# ip access-group out-all-permit out
C2960-01(config-if)# no shutdown
C2960-01(config-if)# exit

C2960-01(config)# interface GigabitEthernet0/10
C2960-01(config-if)# switchport access vlan 700
C2960-01(config-if)# switchport mode access
C2960-01(config-if)# logging event link-status
C2960-01(config-if)# spanning-tree bpduguard enable
C2960-01(config-if)# spanning-tree guard root
C2960-01(config-if)# exit

C2960-01(config)# clock timezone JST 9
C2960-01(config)# ntp server 133.243.238.163 source Vlan 700
C2960-01(config)# ntp server 133.243.238.164 prefer source Vlan 700
C2960-01(config)# ntp access-group peer ntp-acl

C2960-01(config)# service timestamps debug datetime msec localtime show-timezone
C2960-01(config)# service timestamps log datetime msec localtime show-timezone
C2960-01(config)# logging buffered 512000 debugging
C2960-01(config)# logging console debugging
C2960-01(config)# logging trap debugging
C2960-01(config)# no logging console

C2960-01(config)#exit

C2960-01# terminal length 0
C2960-01# show run
C2960-01# show version

C2960-01# clock set 11:23:00 21 Nov 2021
C2960-01# show ntp associations

  address         ref clock       st   when   poll reach  delay  offset   disp
+~133.243.238.163 .NICT.           1     45     64   377  9.121  66.594  4.155
*~133.243.238.164 .NICT.           1     41     64   377  9.036  65.111  3.133
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured

C2960-01# copy running-config startup-config
C2960-01# show archive config differences
!
!Contextual Config Diffs:
!No changes were found

C2960-01# exit

「WS-C3560-8PC」などのL3SWの場合、以下も追記することでデフォルトゲートウェイ(default gateway)が有効になります。

また、「WS-C2960CG-8TC-L」などのL2SWの場合は、「IOSのバージョンアップ」、「SDMテンプレートの変更(lanbase-routing)」により、以下の実行が必要になります。

C3560-01(config)# ip routing
C3560-01(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1

IOSアップデート

ciscoのページからIOSイメージが入った「tarファイル」をダウンロードします。

下記の例で使ったアップデートファイル:c2960c405ex-universalk9-tar.152-2a.E1.tar

tftpサーバ「tftpd64」をPC(例: 192.168.1.14)にインストールします。

以下のコマンドを実行します。

C2960-01# archive download-sw /leave-old-sw tftp://192.168.1.14/c2960c405ex-universalk9-tar.152-2a.E1.tar

Loading c2960c405ex-universalk9-tar.152-2a.E1.tar from 192.168.1.14 (via Vlan700): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 21514240 bytes]

Loading c2960c405ex-universalk9-tar.152-2a.E1.tar from 192.168.1.14 (via Vlan700): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
examining image...
extracting info (115 bytes)
extracting c2960c405ex-universalk9-mz.152-2a.E1/info (370 bytes)
extracting info (115 bytes)

System Type:             0x00020000
  Ios Image File Size:   0x00FCD200
  Total Image File Size: 0x01482200
  Minimum Dram required: 0x08000000
  Image Suffix:          universalk9-152-2a.E1
  Image Directory:       c2960c405ex-universalk9-mz.152-2a.E1
  Image Name:            c2960c405ex-universalk9-mz.152-2a.E1.bin
  Image Feature:         IP|LAYER_2|SSH|3DES|MIN_DRAM_MEG=128

Old image for switch 1: unknown

Extracting images from archive into flash...
c2960c405ex-universalk9-mz.152-2a.E1/ (directory)
extracting c2960c405ex-universalk9-mz.152-2a.E1/info (370 bytes)
extracting c2960c405ex-universalk9-mz.152-2a.E1/dc_default_profiles.txt (171988 bytes)
c2960c405ex-universalk9-mz.152-2a.E1/html/ (directory)
extracting c2960c405ex-universalk9-mz.152-2a.E1/html/ip.js (3500 bytes)
 :
 :
(省略)
 :
 :
extracting c2960c405ex-universalk9-mz.152-2a.E1/html/empty.htm (313 bytes)
extracting c2960c405ex-universalk9-mz.152-2a.E1/c2960c405ex-universalk9-mz.152-2a.E1.bin (16563200 bytes)
extracting info (115 bytes)

Installing (renaming): `flash:update/c2960c405ex-universalk9-mz.152-2a.E1' ->
                                       `flash:/c2960c405ex-universalk9-mz.152-2a.E1'
New software image installed in flash:/c2960c405ex-universalk9-mz.152-2a.E1


All software images installed.

C2960-01# show flash
Directory of flash:/

    2  -rwx         616   Mar 2 1993 11:33:49 +09:00  vlan.dat
  599  -rwx        2072   Mar 2 1993 12:04:42 +09:00  multiple-fs
  600  -rwx        1206   Mar 2 1993 12:04:06 +09:00  config.text
  601  -rwx        3566   Mar 2 1993 12:04:06 +09:00  private-config.text
  603  drwx         512   Mar 3 1993 14:40:35 +09:00  c2960c405ex-universalk9-mz.152-2a.E1
    3  drwx         512   Mar 3 1993 14:40:36 +09:00  c2960c405ex-universalk9-mz.122-55.EX2

57931776 bytes total (20858368 bytes free)
C2960-01# reload

System configuration has been modified. Save? [yes/no]:
Building configuration...
[OK]
Proceed with reload? [confirm]

reload後はIOSのバージョンを確認します。

WS-C2960CG-8TC-L

C2960-01# show version
Cisco IOS Software, C2960C Software (C2960c405ex-UNIVERSALK9-M), Version 15.2(2a)E1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2014 by Cisco Systems, Inc.
Compiled Wed 10-Dec-14 11:02 by prod_rel_team

ROM: Bootstrap program is C2960C boot loader
BOOTLDR: C2960C Boot Loader (C2960C-HBOOT-M) Version 12.2(55r)EX11, RELEASE SOFTWARE (fc1)

C2960-01 uptime is 2 minutes
System returned to ROM by power-on
System restarted at 10:27:15 JST Wed Mar 30 2011
System image file is "flash:/c2960c405ex-universalk9-mz.152-2a.E1/c2960c405ex-universalk9-mz.152-2a.E1.bin"
Last reload reason: Unknown reason



This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.

C2960-01#

WS-C3560-8PC

C3560-01#show version
Cisco IOS Software, C3560 Software (C3560-IPBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2017 by Cisco Systems, Inc.
Compiled Sat 19-Aug-17 09:21 by prod_rel_team

ROM: Bootstrap program is C3560 boot loader
BOOTLDR: C3560 Boot Loader (C3560-HBOOT-M) Version 12.2(35r)SE2, RELEASE SOFTWARE (fc1)

C3560-01 uptime is 3 minutes
System returned to ROM by power-on
System image file is "flash:c3560-ipbasek9-mz.150-2.SE11/c3560-ipbasek9-mz.150-2.SE11.bin"


This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

cisco WS-C3560-8PC (PowerPC405) processor (revision F0) with 131072K bytes of memory.
Processor board ID FOC1427W3JW
Last reset from power-on
9 Virtual Ethernet interfaces
8 FastEthernet interfaces
1 Gigabit Ethernet interface
The password-recovery mechanism is enabled.

512K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address       : D0:57:4C:C0:AA:00
Motherboard assembly number     : 73-10612-09
Power supply part number        : 341-0207-01
Motherboard serial number       : FOC1427057W
Power supply serial number      : LIT14130LHM
Model revision number           : F0
Motherboard revision number     : A0
Model number                    : WS-C3560-8PC-S
System serial number            : FOC1427W3JW
Top Assembly Part Number        : 800-28131-04
Top Assembly Revision Number    : A0
Version ID                      : V04
CLEI Code Number                : COML900ARA
Hardware Board Revision Number  : 0x01


Switch Ports Model              SW Version            SW Image
------ ----- -----              ----------            ----------
*    1 9     WS-C3560-8PC       15.0(2)SE11           C3560-IPBASEK9-M


Configuration register is 0xF

SDMテンプレートの変更

テンプレートを「default」から「lanbase-routing」に変更し、L2SWに「ルーティング(routing)」機能を持たせます。

C2960-01#show sdm prefer
 The current template is "default" template.
 The selected template optimizes the resources in
 the switch to support this level of features for
 0 routed interfaces and 255 VLANs.

  number of unicast mac addresses:                  8K
  number of IPv4 IGMP groups + multicast routes:    0.25K
  number of IPv4 unicast routes:                    0.375k
    number of directly-connected IPv4 hosts:        0.375k
    number of indirect IPv4 routes:                 0
  number of IPv6 multicast groups:                  0.25K
  number of IPv6 unicast routes:                    0.25K
    number of directly-connected IPv6 addresses:    0.25K
    number of indirect IPv6 unicast routes:         0
  number of IPv4 policy based routing aces:         0
  number of IPv4/MAC qos aces:                      0.375k
  number of IPv4/MAC security aces:                 0.375k
  number of IPv6 policy based routing aces:         0
  number of IPv6 qos aces:                          60
  number of IPv6 security aces:                     0.125k

C2960-01# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
C2960-01(config)# sdm prefer lanbase-routing
Changes to the running SDM preferences have been stored, but cannot take effect
until the next reload.
Use 'show sdm prefer' to see what SDM preference is currently active.
C2960-01(config)# reload

System configuration has been modified. Save? [yes/no]: yes
Building configuration...
[OK]
Proceed with reload? [confirm]

reload後に変更を確認します。

C2960-01# show sdm prefer
 The current template is "lanbase-routing" template.
 The selected template optimizes the resources in
 the switch to support this level of features for
 0 routed interfaces and 255 VLANs.

  number of unicast mac addresses:                  4K
  number of IPv4 IGMP groups + multicast routes:    0.25K
  number of IPv4 unicast routes:                    0.875k
    number of directly-connected IPv4 hosts:        0.875k
    number of indirect IPv4 routes:                 16
  number of IPv6 multicast groups:                  0.25K
  number of IPv6 unicast routes:                    0.75K
    number of directly-connected IPv6 addresses:    0.75K
    number of indirect IPv6 unicast routes:         16
  number of IPv4 policy based routing aces:         0
  number of IPv4/MAC qos aces:                      0.375k
  number of IPv4/MAC security aces:                 0.375k
  number of IPv6 policy based routing aces:         0
  number of IPv6 qos aces:                          0.125k
  number of IPv6 security aces:                     0.25K

C2960-01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
C2960-01(config)#ip routing
C2960-01(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1
C2960-01(config)#exit
C2960-01#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is 192.168.1.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 192.168.1.1
      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, Vlan700
L        192.168.1.254/32 is directly connected, Vlan700

ログイン後の決まり文句

C3560-01> enable
Password:
C3560-01# terminal length 0
C3560-01# show version
C3560-01# show archive config differences
C3560-01# show run
C3560-01# configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
  :
  :
  設定
  :
  :
C3560-01(config)# exit
C3560-01# show archive config differences
C3560-01# copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
C3560-01# show archive config differences
C3560-01# exit

vlan

VTP 透過モード(VTP がディセーブル)の場合、拡張範囲 VLAN(1006 ~ 4094)を使用できるが、変更せず。

vlan id 100~900を作成しました。

一覧表示
C3560-01# show vlan brief

追加・変更
C3560-01(config)# vlan 100
C3560-01(config-vlan)# name DMZ
C3560-01(config-vlan)# exit

削除
C3560-01(config)# no vlan 1000

変更確認
C3560-01# show vlan brief


VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
100  DMZ                              active
200  FRONT                            active
300  APP                              active
400  DATA                             active
500  MNG                              active
600  BASTION                          active
700  MARK                             active
900  INTERNAL                         active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

C3560-01# show vlan id 100

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
100  DMZ                              active

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
100  enet  100100     1500  -      -      -        -    -        0      0

Remote SPAN VLAN
----------------
Disabled

Primary Secondary Type              Ports
------- --------- ----------------- ------------------------------------------

vlan interface

VTP 透過モード(VTP がディセーブル)の場合、拡張範囲 VLAN(1006 ~ 4094)を使用できるが、変更せず。

C3560-01# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
C3560-01(config)# ip routing
C3560-01(config)# interface vlan 100
C3560-01(config-if)# ip address 10.77.255.253 255.255.0.0
C3560-01(config-if)# no shutdown
C3560-01(config-if)# exit
C3560-01(config)# no spanning-tree vlan 1,100,200,300,400,500,600,700,900
C3560-01(config)# exit

C3560-01# show interfaces status

Port      Name               Status       Vlan       Duplex  Speed Type
Fa0/1     ### Server:sumiko  connected    trunk      a-full  a-100 10/100BaseTX
Fa0/2     ### Server:sumiko  connected    trunk      a-full  a-100 10/100BaseTX
Fa0/3     ### Server:masao e connected    trunk      a-full  a-100 10/100BaseTX
Fa0/4     ### Server:masao e connected    trunk      a-full  a-100 10/100BaseTX
Fa0/5     ### Server:hana en connected    trunk      a-full  a-100 10/100BaseTX
Fa0/6     ### Server:hana en connected    trunk      a-full  a-100 10/100BaseTX
Fa0/7                        disabled     1            auto   auto 10/100BaseTX
Fa0/8                        disabled     1            auto   auto 10/100BaseTX
Gi0/1                        connected    700        a-full a-1000 10/100/1000BaseTX
Po11                         notconnect   unassigned   auto   auto
Po12                         connected    trunk      a-full  a-100
Po13                         notconnect   unassigned   auto   auto

C3560-01#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  unassigned      YES NVRAM  administratively down down
Vlan100                10.77.255.253   YES manual up                    up
Vlan200                10.78.255.253   YES manual up                    up
Vlan300                10.79.255.253   YES manual up                    up
Vlan400                10.80.255.253   YES manual up                    up
Vlan500                10.81.255.253   YES manual up                    up
Vlan600                10.82.255.253   YES manual up                    up
Vlan700                192.168.1.253   YES NVRAM  up                    up
Vlan900                10.90.255.253   YES manual up                    up
FastEthernet0/1        unassigned      YES unset  up                    up
FastEthernet0/2        unassigned      YES unset  up                    up
FastEthernet0/3        unassigned      YES unset  up                    up
FastEthernet0/4        unassigned      YES unset  up                    up
FastEthernet0/5        unassigned      YES unset  up                    up
FastEthernet0/6        unassigned      YES unset  up                    up
FastEthernet0/7        unassigned      YES unset  administratively down down
FastEthernet0/8        unassigned      YES unset  administratively down down
GigabitEthernet0/1     unassigned      YES unset  up                    up
Port-channel11         unassigned      YES unset  down                  down
Port-channel12         unassigned      YES unset  up                    up
Port-channel13         unassigned      YES unset  down                  down


C3560-01#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, GigabitEthernet0/1
C3560-01#

Port Channel/Channel Group

対向機器は2台のRHELサーバです。

各サーバから2本のLANケーブルでチーミング(LACP)接続をしています。

C3560-01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

C3560-01(config-if)# interface FastEthernet0/1
C3560-01(config-if)# description ### Server:sumiko enp1s0f2 ###
C3560-01(config-if)# switchport trunk encapsulation dot1q
C3560-01(config-if)# switchport trunk allowed vlan 500,600,900
C3560-01(config-if)# switchport mode trunk
C3560-01(config-if)# spanning-tree bpduguard enable
C3560-01(config-if)# spanning-tree guard root
C3560-01(config-if)# no shutdown
C3560-01(config-if)# channel-group 11 mode active
Creating a port-channel interface Port-channel 11

C3560-01(config-if)# interface FastEthernet0/2
C3560-01(config-if)# description ### Server:sumiko enp1s0f3 ###
C3560-01(config-if)# switchport trunk encapsulation dot1q
C3560-01(config-if)# switchport trunk allowed vlan 500,600,900
C3560-01(config-if)# switchport mode trunk
C3560-01(config-if)# spanning-tree bpduguard enable
C3560-01(config-if)# spanning-tree guard root
C3560-01(config-if)# no shutdown
C3560-01(config-if)# channel-group 11 mode active

C3560-01(config-if)# interface FastEthernet0/3
C3560-01(config-if)# description ### Server:masao enp1s0f2 ###
C3560-01(config-if)# switchport trunk encapsulation dot1q
C3560-01(config-if)# switchport trunk allowed vlan 500,600,900
C3560-01(config-if)# switchport mode trunk
C3560-01(config-if)# spanning-tree bpduguard enable
C3560-01(config-if)# spanning-tree guard root
C3560-01(config-if)# no shutdown
C3560-01(config-if)# channel-group 12 mode active
Creating a port-channel interface Port-channel 12

C3560-01(config-if)# interface FastEthernet0/4
C3560-01(config-if)# description ### Server:masao enp1s0f3 ###
C3560-01(config-if)# switchport trunk encapsulation dot1q
C3560-01(config-if)# switchport trunk allowed vlan 500,600,900
C3560-01(config-if)# switchport mode trunk
C3560-01(config-if)# spanning-tree bpduguard enable
C3560-01(config-if)# spanning-tree guard root
C3560-01(config-if)# no shutdown
C3560-01(config-if)# channel-group 12 mode active
C3560-01(config-if)# exit
C3560-01(config)# exit

C3560-01# show interfaces status

Port      Name               Status       Vlan       Duplex  Speed Type
Fa0/1     ### Server:sumiko  connected    trunk      a-full  a-100 10/100BaseTX
Fa0/2     ### Server:sumiko  connected    trunk      a-full  a-100 10/100BaseTX
Fa0/3     ### Server:masao e connected    trunk      a-full  a-100 10/100BaseTX
Fa0/4     ### Server:masao e connected    trunk      a-full  a-100 10/100BaseTX
Fa0/5     ### Server:hana en connected    trunk      a-full  a-100 10/100BaseTX
Fa0/6     ### Server:hana en connected    trunk      a-full  a-100 10/100BaseTX
Fa0/7                        disabled     1            auto   auto 10/100BaseTX
Fa0/8                        disabled     1            auto   auto 10/100BaseTX
Gi0/1     ### Switch: C2960- connected    trunk      a-full a-1000 10/100/1000BaseTX
Po11      ### Server:sumiko  connected    trunk      a-full  a-100
Po12      ### Server:masao t connected    trunk      a-full  a-100
Po13      ### Server:hana te connected    trunk      a-full  a-100

C3560-01# show etherchannel summary

Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator

        M - not in use, minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 2
Number of aggregators:           2

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
11     Po11(SU)        LACP      Fa0/1(P)    Fa0/2(P)
12     Po12(SU)        LACP      Fa0/3(P)    Fa0/4(P)
13     Po13(SU)        LACP      Fa0/5(P)    Fa0/6(P)

C3560-01# show etherchannel 12 detail


Group state = L2
Ports: 2   Maxports = 16
Port-channels: 1 Max Port-channels = 16
Protocol:   LACP
Minimum Links: 0


                Ports in the group:
                -------------------
Port: Gi0/3
------------

Port state    = Up Mstr Assoc In-Bndl
Channel group = 12          Mode = Active          Gcchange = -
Port-channel  = Po12        GC   =   -             Pseudo port-channel = Po12
Port index    = 0           Load = 0x00            Protocol =   LACP

Flags:  S - Device is sending Slow LACPDUs   F - Device is sending fast LACPDUs.
        A - Device is in active mode.        P - Device is in passive mode.

Local information:
                            LACP port     Admin     Oper    Port        Port
Port      Flags   State     Priority      Key       Key     Number      State
Gi0/3     SA      bndl      32768         0xC       0xC     0x104       0x3D

Partner's information:

                  LACP port                        Admin  Oper   Port    Port
Port      Flags   Priority  Dev ID          Age    key    Key    Number  State
Gi0/3     SA      255       58c2.320d.7db0   3s    0x0    0x0    0x2     0x3D

Age of the port in the current state: 0d:00h:04m:59s

Port: Gi0/4
------------

Port state    = Up Cnt-bndl Suspend Not-in-Bndl
Channel group = 12          Mode = Active          Gcchange = -
Port-channel  = null        GC   =   -             Pseudo port-channel = Po12
Port index    = 0           Load = 0x00            Protocol =   LACP

Flags:  S - Device is sending Slow LACPDUs   F - Device is sending fast LACPDUs.
        A - Device is in active mode.        P - Device is in passive mode.

Local information:
                            LACP port     Admin     Oper    Port        Port
Port      Flags   State     Priority      Key       Key     Number      State
Gi0/4     SA      susp      32768         0xC       0x0     0x105       0x45

Age of the port in the current state: 0d:00h:04m:49s

Probable reason: speed of Gi0/4 is 100M, Gi0/3 is 1000M
                Port-channels in the group:
                ---------------------------

Port-channel: Po12    (Primary Aggregator)

------------

Age of the Port-channel   = 1d:01h:19m:44s
Logical slot/port   = 9/12          Number of ports = 1
HotStandBy port = null
Port state          = Port-channel Ag-Inuse
Protocol            =   LACP
Port security       = Disabled

Ports in the Port-channel:

Index   Load   Port     EC state        No of bits
------+------+------+------------------+-----------
  0     00     Gi0/3    Active             0

Time since last port bundled:    0d:00h:04m:59s    Gi0/3
Time since last port Un-bundled: 0d:00h:05m:10s    Gi0/3

show run-config

変更が発生した時点で書き換えます。

WS-C2960CG-8TC-L

C2960-01#show run
Building configuration...

Current configuration : 5265 bytes
!
! Last configuration change at 21:25:11 JST Wed Nov 24 2021 by root
!
version 15.2
no service pad
service timestamps debug datetime msec localtime show-timezone
service timestamps log datetime msec localtime show-timezone
no service password-encryption
!
hostname C2960-01
!
boot-start-marker
boot-end-marker
!
logging buffered 512000
no logging console
enable password  (省略)
!
username  (省略) password  (省略)
no aaa new-model
clock timezone JST 9 0
ip routing
!
!
ip domain-name mark-system.com
!
!
!
!
!
!
!
crypto pki trustpoint TP-self-signed-2808284800
 enrollment selfsigned
 subject-name cn=IOS-Self-Signed-Certificate-2808284800
 revocation-check none
 rsakeypair TP-self-signed-2808284800
!
!
crypto pki certificate chain TP-self-signed-2808284800
 (省略)

spanning-tree mode pvst
spanning-tree extend system-id
port-channel load-balance src-dst-ip
!
!
!
!
vlan internal allocation policy ascending
!
ip ssh version 2
ip scp server enable
!
!
!
!
!
!
!
!
!
!
interface Port-channel11
 description ### Server:sumiko team0 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
!
interface Port-channel12
 description ### Server:masao team0 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
!
interface Port-channel13
 description ### Server:hana team0 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
!
interface GigabitEthernet0/1
 description ### Server:sumiko enp1s0f0 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
 channel-group 11 mode active
!
interface GigabitEthernet0/2
 description ### Server:sumiko enp1s0f1 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
 channel-group 11 mode active
!
interface GigabitEthernet0/3
 description ### Server:masao enp1s0f0 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
 channel-group 12 mode active
!
interface GigabitEthernet0/4
 description ### Server:masao enp1s0f1 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
 channel-group 12 mode active
!
interface GigabitEthernet0/5
 description ### Server:hana enp3s0f0 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
 channel-group 13 mode active
!
interface GigabitEthernet0/6
 description ### Server:hana enp3s0f1 ###
 switchport trunk allowed vlan 100,200,300,400
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
 channel-group 13 mode active
!
interface GigabitEthernet0/7
 shutdown
!
interface GigabitEthernet0/8
 shutdown
!
interface GigabitEthernet0/9
 description ### Switch: C3560-01 G0/1 ###
 switchport trunk allowed vlan 100,200,300,400,500,600,700,900
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface GigabitEthernet0/10
 description ### Switch: 9400-02 G0/7 ###
 switchport access vlan 700
 switchport mode access
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface Vlan1
 ip address dhcp
 shutdown
!
interface Vlan100
 description ### DMZ ###
 ip address 10.77.255.254 255.255.0.0
!
interface Vlan200
 description ### FRONT ###
 ip address 10.78.255.254 255.255.0.0
!
interface Vlan300
 description ### APP ###
 ip address 10.79.255.254 255.255.0.0
!
interface Vlan400
 description ### DATA ###
 ip address 10.80.255.254 255.255.0.0
!
interface Vlan500
 description ### MNG ###
 ip address 10.81.255.254 255.255.0.0
!
interface Vlan600
 description ### BASTION ###
 ip address 10.82.255.254 255.255.0.0
!
interface Vlan700
 description ### MARK ###
 ip address 192.168.1.254 255.255.255.0
 ip access-group in-all-permit in
 ip access-group out-all-permit out
!
interface Vlan900
 description ### INTERNAL ###
 ip address 10.90.255.253 255.255.0.0
!
ip default-gateway 192.168.1.1
no ip http server
no ip http secure-server
!
ip route 0.0.0.0 0.0.0.0 192.168.1.1
!
ip access-list standard ntp-acl
 permit any
!
ip access-list extended in-all-permit
 permit ip any any
ip access-list extended out-all-permit
 permit ip any any
!
!
!
line con 0
line vty 0 4
 exec-timeout 240 0
 password  (省略)
 login local
 transport input ssh
line vty 5 15
 exec-timeout 240 0
 password  (省略)
 login
!
ntp access-group peer ntp-acl
ntp server 133.243.238.163 source Vlan700
ntp server 133.243.238.164 prefer source Vlan700
end

WS-C3560-8PC

C3560-01#show run
Building configuration...

Current configuration : 5860 bytes
!
! Last configuration change at 21:29:26 JST Wed Nov 24 2021 by root
!
version 15.0
no service pad
service timestamps debug datetime msec localtime show-timezone
service timestamps log datetime msec localtime show-timezone
no service password-encryption
!
hostname C3560-01
!
boot-start-marker
boot-end-marker
!
logging buffered 512000
no logging console
enable secret 5  (省略)
enable password  (省略)
!
username  (省略) password  (省略)
no aaa new-model
clock timezone JST 9 0
system mtu routing 1500
ip routing
ip domain-name mark-system.com
ip name-server 192.168.1.1
!
!
cluster enable C3560-CL 0
!
!
crypto pki trustpoint TP-self-signed-1287694848
 enrollment selfsigned
 subject-name cn=IOS-Self-Signed-Certificate-1287694848
 revocation-check none
 rsakeypair TP-self-signed-1287694848
!
!
crypto pki certificate chain TP-self-signed-1287694848
  (省略)
!
!
!
!
!
port-channel load-balance src-dst-ip
!
spanning-tree mode pvst
spanning-tree extend system-id
no spanning-tree vlan 1,100,200,300,400,500,600,700,900
!
vlan internal allocation policy ascending
!
ip ssh version 2
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Port-channel11
 description ### Server:sumiko team1 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
!
interface Port-channel12
 description ### Server:masao team1 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
!
interface Port-channel13
 description ### Server:hana team1 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
!
interface FastEthernet0/1
 description ### Server:sumiko enp1s0f2 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
 channel-group 11 mode active
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface FastEthernet0/2
 description ### Server:sumiko enp1s0f3 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
 channel-group 11 mode active
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface FastEthernet0/3
 description ### Server:masao enp1s0f2 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
 channel-group 12 mode active
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface FastEthernet0/4
 description ### Server:masao enp1s0f3 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
 channel-group 12 mode active
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface FastEthernet0/5
 description ### Server:hana enp4s0f0 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
 channel-group 13 mode active
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface FastEthernet0/6
 description ### Server:hana enp4s0f1 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 500,600,900
 switchport mode trunk
 channel-group 13 mode active
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface FastEthernet0/7
 shutdown
!
interface FastEthernet0/8
 shutdown
!
interface GigabitEthernet0/1
 description ### Switch: C2960-01 G0/9 ###
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 100,200,300,400,500,600,700,900
 switchport mode trunk
 spanning-tree bpduguard enable
 spanning-tree guard root
!
interface Vlan1
 no ip address
 shutdown
!
interface Vlan100
 description ### DMZ ###
 ip address 10.77.255.253 255.255.0.0
!
interface Vlan200
 description ### FRONT ###
 ip address 10.78.255.253 255.255.0.0
!
interface Vlan300
 description ### APP ###
 ip address 10.79.255.253 255.255.0.0
!
interface Vlan400
 description ### DATA ###
 ip address 10.80.255.253 255.255.0.0
!
interface Vlan500
 description ### MNG ###
 ip address 10.81.255.253 255.255.0.0
!
interface Vlan600
 description ### BASTION ###
 ip address 10.82.255.253 255.255.0.0
!
interface Vlan700
 description ### MARK ###
 ip address 192.168.1.253 255.255.255.0
 ip access-group in-all-permit in
 ip access-group out-all-permit out
!
interface Vlan900
 description ### INTERNAL ###
 ip address 10.90.255.253 255.255.0.0
!
ip default-gateway 192.168.1.1
no ip http server
no ip http secure-server
!
ip route 0.0.0.0 0.0.0.0 192.168.1.1
!
ip access-list standard ntp-acl
 permit any
!
ip access-list extended in-all-permit
 permit ip any any
ip access-list extended out-all-permit
 permit ip any any
!
!
vstack
!
line con 0
line vty 0 4
 exec-timeout 240 0
 password  (省略)
 login local
 transport input ssh
line vty 5 15
 exec-timeout 240 0
 password  (省略)
 login
!
ntp access-group peer ntp-acl
ntp server 133.243.238.163 source Vlan700
ntp server 133.243.238.164 prefer source Vlan700
end