【解決方法】Juniper SRXでrethがUpしない

当ブログは広告リンクを含みます。
  • URLをコピーしました!
目次

【解決方法】Juniper SRXでrethがUpしない

SRXでLACPを設定しましたが、対向のL3SW(Cisco)と通信できていませんでした。確認するとrethがdownしていました。

トラブル時の構成図は以下の通りです。

Juniper-構成図
Juniper-構成図

状況

LACPが組めない

ざっと洗い出すとトラブル時の状況は以下の通りでした。

  • SRXとCiscoのSwitchを接続
  • 検証時はそれぞれ1GポートでrethとLACPを設定
  • 本番に転用し、それぞれ10GポートでrethとLACPを設定
  • 事象は冗長化インターフェース(reth)がUpしない

ログでは、LACP ネゴシエーションでspeedのミスマッチが起きていると表示されていました。

kernel did not add link reth0, link speeds differ 1000000000 10000000000
bundle reth0.XX: link ge-0/0/XX not added due to speed mismatch

原因

元凶はバグ

結論としては、検証時の1Gでrethを組んでいた設定が残っていたことが原因でした。10Gに設定変更してcommitしたにもかかわらず、検証時の設定(1Gの設定)がSRX内部で残っていました。

↓にも同じ事象が指摘されており、機器の不具合だと思われました。

SRX redundant Ethernet interface does not come up.

対策

対策としては、rethを再度作り直すことで改善できました。

既存のrethを削除するコマンド

configure
delete security zones security-zone ゾーン名 interfaces reth0

#Primary側
delete interfaces ge-0/0/0 gigether-options redundant-parent reth0
delete interfaces ge-0/0/1 gigether-options redundant-parent reth0

#Secondary側
delete interfaces ge-7/0/0 gigether-options redundant-parent reth0
delete interfaces ge-7/0/1 gigether-options redundant-parent reth0

delete interfaces reth0

新規にrethを作成するコマンド

#Primary側
set interfaces ge-0/0/0 gigether-options redundant-parent reth1
set interfaces ge-0/0/1 gigether-options redundant-parent reth1

#Secondary側
set interfaces ge-7/0/0 gigether-options redundant-parent reth1
set interfaces ge-7/0/1 gigether-options redundant-parent reth1


set interfaces reth1 redundant-ether-options redundancy-group 1
set interfaces reth1 vlan-tagging
set interfaces reth1 unit 0 vlan-id 100
set interfaces reth1 unit 0 family inet address 10.0.0.1/24
set security zones security-zone ゾーン名 interfaces reth1.0


rollbackによるrethの再作成

rollback 1では、一世代前のActive Configuration(今回の場合、reth0を設定して稼働していたコンフィグ)で復元します。その後、commitします。

ロールバックされたコンフィグは、Candidate Configurationとして編集中の状態に反映されます。そのため、コミットを実行してActive Configurationに反映する必要があります。

configure
rollback 1

show | compare

commit check
commit and-quit

まとめ

検証時の1Gでrethを組んでいた設定がメモリ内で残っていたことで、rethがUPしない事象を取り上げました。

  • LACPが組めなかった(問題)
  • LACPのネゴシエーションがうまくいかず、rethがダウンしたままだった(状況)
  • バグでrethに検証時の設定が残っていた(原因)
  • rethを削除、再作成することでrethがUPし、LACPが組めるようになった(結果)

以上!

AWSエンジニアへの転職を目指すなら!

実務ベースのCI/CDパイプライン作成まで学べるAWSスクールでAWSエンジニアを目指そう!

目次