2026年4月にCisco IOS-XE 26.1.1がリリースされ、先日そのInsecure Feature Restrictionsについて記事を書きました。
今回は、このIOS XE 26.1.1のデフォルト設定で表示されているip telnet comport enableという設定について調べた結果を共有します。
調査の背景
IOS XE 26.1.1を導入した機器を起動すると、起動時に下記のログが出ている事が確認できます。
%SYS-4-INSECURE_DYNAMIC_WARNING: Module: TELNET - Command: ip telnet comport enable - Reason: IP traffic is not encrypted - Remediation: Migrate to secure SSH-based remote access - Submode: configure - Parent CLI: Not Applicable
ip telnet comport enableはデフォルトで入っている設定なのですが、これがINSECUREだという事で警告しているようです。
それであれば無効化してしまおう、、と安易に設定変更する前に、そもそもこの設定は何なのか、無効化しても機器の利用に影響は無いのか、調べてみる事にしました。
ip telnet comport enableとは?
まずはCommand Referenceを確認したところ、コマンド自体はかなり古くからあるようで、IOSの下記ドキュメントで解説されていました。
https://www.cisco.com/c/en/us/td/docs/ios/dial/command/reference/dia-cr-book/dia_i1.html#pgfId-1013109
このコマンドは『RFC 2217 Com Port extensions』を有効化するためのもので、デフォルトで有効になっていると書かれています。
IOS XE 17.18.01aでも確認してみたところ、show running-configには表示されていないものの、show running-config allには表示されるので、確かに従来からデフォルトで有効な設定のようです。
Router#show version | include IOS XE
Cisco IOS XE Software, Version 17.18.01a
Router#
Router#show running-config all | include comport enable
ip telnet comport enable
Router#
Router#show running-config | include comport enable
Router#
IOS XE 26.1.1からデフォルトの設定値が変わったわけではなく、これまで非表示だったものが表示されるようになっただけのようです。
では『RFC 2217 Com Port extensions』とは何でしょうか?
RFC 2217は『Telnet Com Port Control Option』というタイトルで下記の場所に公開されています。
https://www.rfc-editor.org/rfc/rfc2217.html
上記ドキュメントを読んでみると、要はtelnetプロトコルを通じてCOMポートの動作を変えるもので、パリティの有無やフローコントロールの方式などを動的に変更するためのもののようです。
これでドキュメント上は設定の意味が確認できましたが、念のため実機でも動作を確認してみます。
実機で動作確認
今回は検証環境としてC1100TG-1N32AにIOS XE 26.1.1を導入してみました。
C1100TG#show version | include IOS XE
Cisco IOS XE Software, Version 26.01.01
C1100TG#show platform | include Chassis
Chassis type: C1100TG-1N32A
C1100TG#
line 0/1/0に接続されている機器(TCP:2002番ポート)へのリバースtelnetで動作を確認するため、Wiresharkを起動して『分析』>『...としてデコード』の設定でTCP:2002をTELNETとして扱うよう設定をしておきます。

まずはデフォルトのままip telnet comport enableが有効な状態で、RFCに記載されたIAC WILL COM-PORT-OPTION(0xFFFB2C)のメッセージを送って応答を見てみます。

Doが返ってきたので、確かに利用可能になっているようです。
次にIAC SB COM-PORT-OPTION SET-PARITY 0 IAC SE(0xFFFA2C0300FFF0)の応答で現在パリティの動作がどうなっているか確認してみます。

現在はNoneである事が確認できました。
IAC SB COM-PORT-OPTION SET-PARITY 1 IAC SE(0xFFFA2C0302FFF0)でODDに変更し、応答を見てみます。

想定通り変更出来ています。
では、no ip telnet comport enableで本設定を無効にします。
C1100TG#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
C1100TG(config)#no ip telnet comport enable
C1100TG(config)#end
C1100TG#
IAC WILL COM-PORT-OPTION(0xFFFB2C)に対して Don't が返ってきたので、無効化された事が確認できました。
これで実機の動作としてもドキュメントで確認した通りであった事が確認できました。
ip telnet comport enableの設定は確かにRFC 2217への対応を有効にするものであり、本設定を無効化する事でRFC 2217への対応も無効になります。
設定無効化の判断
本設定を無効化しても機器の利用に影響は無いのでしょうか?
Cisco社のルーターはターミナルサーバーとして利用されている事もしばしばあり、今回の検証環境で使ったC1100TGはまさにそのための製品です。
しかしながら、ターミナルサーバーとして使う際にCOMポートの動作を動的に変えたいという状況はほぼ無く、通常は接続相手に応じた設定をしてから使います。
よって、RFC 2217への対応が必要という要件が明示的に存在するようなケース以外では本設定を無効化しても機器の利用に影響は無いと考えられます。
また、ターミナルサーバーとして使うのでなければ、本設定を無効化しても全く影響はありません。
しかし、改めてエラーメッセージを見てみると、telnetは通信が暗号化されないためSSHに移行すべき、というのが警告理由のようです。
%SYS-4-INSECURE_DYNAMIC_WARNING: Module: TELNET - Command: ip telnet comport enable - Reason: IP traffic is not encrypted - Remediation: Migrate to secure SSH-based remote access - Submode: configure - Parent CLI: Not Applicable
上記メッセージから考えると、本オプションの有効/無効が問題なのではなく、そもそもtelnetを使うべきではないという事なので、本オプションの無効化は警告に対する本質的な解決にはなりません。
どのような設定にすべきか?
telnetによる接続を受け入れないようにするには下記2つの設定方法があります。
- 各lineの設定でtransportにsshだけを明示的に指定する
-
ip telnet disableの設定を入れる
しかし後者の設定(ip telnet disableの設定)には下記のような難点があります。
- サーバー機能を止めるのみで、telnetクライアントとしての利用は止められない
- 一度設定すると、無効化するにはstartup-configの初期化および再起動が必要
※詳細は下記コマンドリファレンスに記載されています
https://www.cisco.com/c/en/us/td/docs/routers/sdwan/command/iosxe/qualified-cli-command-reference-guide/m-line-commands.html#r-ip-telnet-disable
よって、警告メッセージの出力を止め、かつ警告に対して本質的な解決を適用するのであれば、下記のように設定するのが良いでしょう。
-
no ip telnet comport enableを設定する <- 警告メッセージの出力が止まる - 各lineの設定でtransportにsshだけを明示的に指定する <- telnetで通信させないようにする
おわりに
今回の共有内容は以上です。
本件に限らずデフォルトの設定に対して警告メッセージが出るものは幾つかありますが、警告メッセージが出たからその設定を無効化すると安易に考えず、その設定は何なのか、メッセージは何を意味するのか、それぞれ確認の上で対応を決める事が重要です。
