dhcp scope bindコマンドで、IPアドレスを固定せずにクライアントだけを指定することができる機能を追加した。
○DHCP予約アドレスの設定
SCOPE_NUM | ... | スコープ番号(1..65535) | |||||||||
IP_ADDRESS | ... | 予約するIP アドレス、または'*' | |||||||||
TYPE | ... | Client-Identifier オプションのtypeフィールドの値を決定するキーワード | |||||||||
|
|||||||||||
ID | ... | クライアントを識別する情報内容 | |||||||||
|
|||||||||||
MAC_ADDRESS | ... | xx:xx:xx:xx:xx:xx (xxは十六進数) 予約DHCP クライアントのMAC アドレス | |||||||||
ipcp | ... | IPCP でリモート側に与えることを示すキーワード |
帯域検出機能を実装した。
http://www.rtpro.yamaha.co.jp/RT/docs/bandwidth-measuring/index.html
負荷通知機能を実装した。
NAT、マスカレードの宛先IPアドレス、ポート番号を変更できる機能を実装した。
QoSの設定情報や各クラスの使用状況を表示するshow status qosコマンドを実装した。
○QoS状態の表示
INFO | ... | 表示する情報の種類 | |||||||||
|
|||||||||||
INTERFACE | ... | LANインタフェース名、省略時は全てのLANインタフェースについて表示する | |||||||||
CLASS | ... | クラス(1..16) |
他のPP経由のホスト経路が既に存在しているIPアドレスをPP接続時に相手側IPアド レスとして通知されたときに、そのIPアドレスを受け入れることが出来るようにし た。これまでは、そのようなIPアドレスを通知された場合には、PPP/IPCPネゴシエ ーションで拒否していた。
○ホスト経路が存在する相手側IPアドレスを受け入れるか否かの設定
SW | |||
on | ... | 通知された相手のPP側IPアドレスを拒否する | |
off | ... | 通知された相手のPP側IPアドレスを受け入れる |
telnet多重化機能を実装した。
SSHサーバ機能を実装した。
LOOPBACK、NULLインタフェース機能を追加した。
HTTPリビジョンアップ機能を実装した。HTTPを利用したファームウェアのチェックとリビジョンアップが可能となる。
○HTTPを利用したリビジョンアップの実行を許可するか否かの設定
SWITCH | |||
on | ... | 許可する | |
off | ... | 許可しない |
○HTTPを利用したリビジョンアップ用URLの設定
○HTTPを利用したリビジョンアップ用Proxyサーバの設定
PROXY-SERVER | ... | HTTPリビジョンアップ時に使用するProxyサーバ |
PORT | ... | Proxyサーバのポート番号 |
○HTTPを利用したリビジョンアップ処理のタイムアウトの設定
○HTTPを利用したリビジョンダウンを許可するか否かの設定
SWITCH | |||
on | ... | 現在のリビジョンより古いリビジョンへのリビジョンダウンを許可する | |
off | ... | 現在のリビジョンより古いリビジョンへのリビジョンダウンを許可しない |
○HTTPを利用したファームウェアのチェックおよびリビジョンアップの実行
no-confirm | ... | 書き換え可能なリビジョンのファームウェアが存在するときに、ファームウェアの更新を行うかどうかを確認しない |
prompt | ... | コマンド実行後、すぐにプロンプトを表示させ、他のコマンドを実行できるようにする |
DHCP端末認証機能を実装した。
IPsecに以下二つの機能を追加した。
ただし、IPv4のIPsecトンネルでIPv6とIPv4のパケットの両方を同時に転送する場合、ipsec sa policy コマンドでanti-reply-check=offのオプションを設定する必要がある。
PIMのJoin(*,G)を送信するときに、Periodic Pruneを送信していたが、これを送信しないようにできるコマンドを用意した。
○PIM JOIN/PRUNEメッセージの宛先の設定
CAST | |||
unicast | ... | 近隣ルータのユニキャストアドレス宛 | |
multicast | ... | 224.0.0.13のマルチキャストアドレス宛 |
○PIMのJoin(*,G)メッセージ送信時にPeriodic Pruneメッセージを含ませるかどうかの設定
SW | |||
on | ... | 送信する | |
off | ... | 送信しない |
ip hostコマンド、dns staticコマンドに、TTLを設定できるオプションを追加した。
○静的DNSレコードの登録
TYPE | ... | 名前のタイプ | |||||||||||||||||||||
|
|||||||||||||||||||||||
NAME, VALUE | ... | TYPEパラメータによって以下のように意味が異なる | |||||||||||||||||||||
TTL ... 秒数(1〜4294967295) |
RTX1100で、IPv6ファストパス機能を追加した。show status lanN でIPv4/IPv6パケットの送受信量を表示する。
system packet-buffer コマンドの各パラメータの最大値を、初期値の2倍にした。ただし、初期値が0のパラメータについては、最大値を2とした。
イーサネットフィルタリング機能でdhcp-bindキーワードでフィルタリングする時、下表の条件に一致するパケットをフィルタリングと一致したとみなすこととする。
イーサネットヘッダのパケットタイプ | 値 | フィルタリングとの一致条件 |
IPv4 | 0x0800 | MACアドレスとIPv4送信元アドレスの一致 |
ARP | 0x0806 | MACアドレスの一致 |
RARP | 0x8035 | MACアドレスの一致 |
PPPoE制御パケット | 0x8863 | MACアドレスの一致 |
PPPoEデータパケット | 0x8864 | IPv4パケットでありかつMACアドレスとIPv4送信元アドレスの一致 |
タグVLAN | 0x8100 | IPv4パケットでありかつMACアドレスとIPv4送信元アドレスの一致 |
MACレイヤ制御パケット | 0x8808 | MACアドレスの一致 |
他 | - | フィルタリングとは常に一致しない |
dhcp-bindキーワードの目的は、管理されているMACアドレスとIPアドレスの組み合わせのパケットだけを通過させることである。dhcp-bindキーワードでpassフィルタが設定されることを想定している。合致するものだけを通過させ、それ以外を全て破棄する。
しかし、DHCPのアドレス要求メッセージやARPパケットなど、IPアドレスとの組み合わせ条件に合致はしないが通信上必要となるパケットもある。
このため、上表のように必要最小限のパケットはMACアドレスの一致条件だけで通すものとする。それ以外は破棄するものとし、フィルタリングと一致させない。
snmp local addressコマンドが設定されている時には、SNMPトラップを運ぶUDPパケットの始点IPアドレスに使うだけだったのを、SNMPトラップデータのペイロード内のIPアドレスにも設定されたアドレスを使うように変更した。
PIMのPrune-Echoメッセージを扱えるようにした。
RAの受信によりインタフェースに付与される、IPv6アドレスの寿命について仕様を変更した。
正の寿命のIPv6プレフィックスを含むRAの受信により、インタフェースにIPv6アドレスが付与される時、そのIPv6アドレスの寿命は、従来受信したRAのプレフィックスの寿命に関係なく無限としていたが、これをRAのプレフィックスの寿命が反映されるように変更した。
SIP-NAT機能において外側から内側へのSIPのリクエストメッセージについて、Request-Lineに外側IPアドレスが記述されていれば内側IPアドレスに書き換えるようにした。
RTX1100で、ファストパスでパケットを転送する時に、IPヘッダのチェックサムフィールドに0xFFFFをセットすることがあったが、その場合は0x0000をセットするように変更した。
また、ファストパスでIPマスカレードの変換を行う時には、IPヘッダのチェックサムに加えて、TCPヘッダのチェックサムでも同様に0xFFFFをセットすることがあったので、TCPヘッダでも0x0000になるように変更した。
UDPヘッダのチェックサムでも0xFFFFをセットすることがあるが、UDPヘッダでは0x0000は「チェックサム無し」を表す特別な値なので、UDPについては0xFFFFのままとする。
dhcp scope コマンドで、exceptで除外IPアドレスの範囲指定が重複した場合にもエラーとならないバグを修正した。
queue INTERFACE class property コマンドで 制限帯域と保証帯域に同じ値を設定した場合、show config で、
# queue lan2 class property 1 bandwidth=10m,10m
のように、同じ値が","で区切られて2つ表示されていたのを、
# queue lan2 class property 1 bandwidth=10m
のように、1つだけ表示されるように変更した。
system packet-buffer コマンドで、min-freeパラメータに 大きな値(*)を設定したとき、ルータがハングアップ、リブートする不具合を修正した。
内部時計の日時を変更すると、 VRRP広告パケットが短時間に大量に送信される、または全く送信されなくなり、以下の現象となる場合があるバグを修正した。
lessコマンドを実行した場合に、メモリリークする不具合を修正した。
ethernet filterコマンドのヘルプ文を修正した。
PPPoE上でIPsecを使用している場合に、PPPoEサーバからのGeneric-ErrorTAG付きのPADTを受信してPPPoEの切断処理を行った時、再接続後にPPPoEのセッションIDが不正であるためにIPsecトンネル経由の通信ができないことがあるバグを修正した。
ip pp address/ip pp remote addressコマンドにより設定されたPPのローカルIPアドレス/リモーIPアドレスを、さらに同コマンドで上書き設定した場合、不当な経路が追加されたりリブートする可能性があったため、この可能性を排除した。いずれか一方のIPアドレスを上書きするだけでこの問題が発生する可能性があった。
Web AssistanceでIP over IPインタフェースの設定をする時、省略できる「自分のエンドポイント」が省略できず、逆に省略できない「相手のエンドポイント」を省略して設定でき、さらにこの場合に「自分のエンドポイント」に入力したアドレスが「相手のエンドポイント」として設定されてしまうバグを修正した。
snmp trap enable snmpコマンドで、コマンド文字列をすべて入力した後に更にTABキーを入力すると、表示が「snmp trap enable a」となってしまうバグを修正した。
ethernet filterコマンドで、始点MACアドレスとして'dhcp-bind'を指定する時にスコープ番号を付けずにコマンドを入力すると、リブートすることがあるバグを修正した。
show file list、less file listコマンドでパラメータを一つも付けずにコマンドを入力すると、本来であればパラメータ不足のエラーになるはずのところが別のエラーメッセージが表示されたり、機種によってはリブートすることがあるバグを修正した。
ipsec ike keepalive useコマンドのオンラインヘルプの誤記を修正した。
フレームリレーで圧縮を使用している場合、非常に負荷が高い時に、ルータから送信したPVC状態確認要求に対して受信したPVC状態確認を認識できなくなり、DLCIがダウンしたと誤認してしまうことがあるバグを修正した。
PVC状態確認要求を送信して、PVC状態確認を受信する前に圧縮された受信データパケット列でパケットロスを観測すると、圧縮リセット要求を送信することになるが、その後に受信したPVC状態確認を認識できなくなっていた。
ip tos supersede コマンドでパラメータが不足した形で入力されるとリブートすることがあるバグを修正した。リブートが確認されている機種はRTX1500のみである。
Web AssistanceのオンラインヘルプでIKEのフェーズ2のIDについて説明が不足していたバグを修正した。
Web AssistanceのIPsecの詳細設定でフェーズ2のIDとして、不正なネットマスクを設定してもエラーとして扱わないバグを修正した。
Web AssistanceのIPsecの詳細設定で秒単位の寿命として28800秒を指定したときに、バイト単位の寿命を設定できないバグを修正した。
syslog hostコマンドで、IPv6アドレスを指定する時にスコープIDを同時に指定すると、IPv6アドレスではなくFQDNとして扱われてしまうバグを修正した。
LANインタフェースにバックアップゲートウェイを設定しており、かつそのゲートウェイのMACアドレスが不明である場合に、そのLAN上のDHCPクライアントからの要求に答えられないバグを修正した。
BGP4で、bgp neighborコマンドでgatewayオプションにIPアドレスを指定し、かつlocal-addressオプションも使用している場合に、その隣接ルータと接続している時に関係の無いインタフェースのアップ・ダウンが発生すると、隣接ルータとの接続がいったん切断されてしまい、約30秒後に再接続されるバグを修正した。gatewayオプションがインタフェース名であったり、local-addressオプションを使用しない場合には問題は無い。
bgp neighborコマンドでlocal-addressオプションが使用できる、Rev.8.03.16以降のファームウェアにあるバグである。
他のRTからremote setupでログインして、telnetクライアントで他の機器にログインしようとすると、メモリリークするバグを修正した。
インタフェースのIPアドレス(ネットワークアドレス)を変更してもshow status ospf databaseで表示される内容に変更前の情報が残るバグを修正した。
ip routeコマンドで、hideと設定された経路について、以下の条件が重なると回線がアップして通信できる状態になっても利用できないバグを修正した。
このような場合に、動的経路制御プロトコルにより受け取っていた経路が消滅した時でも、静的経路はshow ip routeコマンドで「(hidden)」と表示されたままで利用できなくなっていた。
VLANの設定があると起動時にリブートなどの不安定な動作となることがあるバグを修正した。
OSPFで、経路のネクストホップは変わらないが、経路のコストやメトリックだけが変わったという場合に、show ip routeコマンドで表示される経路のコストやメトリックが更新されずに、変更前のままになってしまうバグを修正した。
show ip routeコマンドの表示だけの問題で、経路の選択ルールなどでの影響は無い。
show status bgp neighbor NEIGHBOR advertised-routesコマンドで集約経路を表示するとき、Next Hop欄に異常なIPアドレスが表示されたり、機種によってはリブートするバグを修正した。
PIMのJoinメッセージを受け取るより前に、そのマルチキャストストリームを受信していた場合に、このストリームを転送できない場合があるバグを修正した。
UPnPにより割り当てられたポートマッピングを通過するパケットについて、SIP-NAT機能のようなパケット内のIPアドレス等を書き換える機能を適用しないようにした。
NATディスクリプタ機能で、全ての外側アドレスを静的NATの対象として個数で設定している場合、外側アドレスの範囲外のアドレスの通信が発生するとリブートすることがあるバグを修正した。
DHCPサーバ機能で、DHCPパケットを処理している最中にアドレス予約の設定を変更するとその後の動作が停止することがあるバグを修正した。
ipsec ike remote addressコマンドにホスト名を設定した場合で、そのホスト名をDNSで名前解決した時にAAAAレコードによりIPv6アドレスが返されると、間違った相手にIKEのパケットを送信してしまうバグを修正した。
トリガによるメール通知機能で、MAIL FROM、RCPT TOコマンドで送信するパケットがRFC821に準拠していなかったバグを修正した。このバグにより、SMTPサーバにpostfixを使用して、以下の設定をした時にメールが通知されない不具合が発生していた。
strict_rfc821_envelopes=yes
dns server selectコマンドでセカンダリDNSサーバを指定しても、セカンダリDNSサーバへ問い合わせの要求を行わないバグを修正した。本修正後は、プライマリDNSサーバへの問い合わせの要求に対して応答を受信しなかった場合には、セカンダリDNSサーバへ問い合わせの要求を行う。
IKEで、ISAKMP SAが1つしか存在しない状態で、そのISAKMP SAの寿命が切れたり、そのISAKMP SAを強制的に削除するとき、本来は送信するはずのDelete Payloadを送信しないバグを修正した。
フラグメントされたパケットの最初のパケットより先に2番目以降のいずれかのパケットを受信すると、そのフラグメントされたパケットを再構築できずに廃棄する、機種によってはリブートするバグを修正した。
RTX1500でリブートが確認されている。
LAN分割機能を有効にした場合、lan1.2〜lan1.4インタフェースでイーサネットフィルターが動作しないバグを修正した。
ethernet INTERFACE filterコマンドにVLANインタフェースが設定できてしまうバグを修正した。イーサネットフィルタはタグVLANに対応していない。
mail notifyコマンドでイーサネットフィルターをトリガとして設定する場合、LAN分割したインタフェースを指定できないバグを修正した。
ipv6 interface address auto設定から自動構成したIPv6アドレスについて、その寿命が切れた後も、そのアドレスに対する経路が存在するバグを修正した。また同時に、寿命が切れたアドレスに対するICMPv6エコー要求を受信した場合に、応答を返さないように修正した。
RAプロキシにおいて、上流のルーターから配布するプレフィックスを削除せず変更すると、変更前のプレフィックスから構成されたアドレスが、プレフィックスの寿命が切れても削除されないバグを修正した。
RAプロキシ機能でRAプレフィックスから構成されたアドレスの寿命について、ipv6 interface address auto設定から自動構成されたアドレスと同様に、寿命をアドレス毎の寿命としてカウントするように変更した。
ルーターからルーターを起点とするIPv6のTCPセッションを多数張ると動作が不安 定になる場合があるバグを修正した。
IKEキープアライブでICMP Echoを使うときに、正常な状態にもかかわらず、「ICMP keepalive: recovery detected」というsyslogを出力することがあるバグを修正した。この問題が発生するときには、ipsec ike keepalive logコマンドでoffを設定していても、syslogに出力する可能性がある。ICMP Echoを送信してからICMP Echo-Replyを受信するまでの間隔が長いときに発生しやすい。
SIP-NAT機能において、書き換え対象でないIPアドレス文字列が書き換え対象のIPアドレス文字列と一部が一致する場合に書き換えてしまうバグを修正した。例えば、機器の外側アドレスが192.168.0.1で、経由するSIPサーバのIPアドレスが192.168.0.100であった場合に、Record-Routeヘッダを書き換えてしまうためVoIP端末で通話が出来ない問題があった。
IPv6リンクローカルアドレスに対するTCPにおいて、特に妥当な要因もないのにパケットの送信に失敗しセッションが切断されてしまうことがあるバグを修正した。
nat descriptor staticコマンドでIPアドレスの指定で"-"や"="を不正に入力してもエラーとならないバグを修正した。
schedule atコマンドで、ppの相手先としてanonymousを入力する時に、そのanonymousキーワードに対してTAB補間が効かないバグを修正した。
"ipv6 lan1 prefix ra-prefix@lan1::/64"のように、RA proxyの親インタフェースと設定先インタフェースを一致させると、IPv6のNSおよびRSを受信したのと同じインタフェースに転送し、2台以上のRT間で互いに転送しあった場合にCPU使用率100%の状態が続くバグを修正した。
ethernet filterコマンドでMACアドレスを不正な形式で入力してもエラーとならないことがあるバグを修正した。
show config pp、show config listコマンドで、それぞれpp、listがTAB補間されないバグを修正した。
ike, 名前解決などルーター発のIPv6パケットを送信する設定で、RAを受け取るインタフェースがリンクダウンしていてデフォルトゲートウェイが無いなど、そのパケットの経路の無い状態がしばらく継続すると、その他の経路に対するパケットも含め、パケットの送受信性能が落ちるまたは送受信不能になってしまう場合があるバグを修正した。
OSPFで、仮想リンクの設定がある状態でOSPFが動作中の時に、ospf configure refreshコマンドを実行すると、OSPFかつFRに対応した機種ではリブートすることがあるバグを修正した。
ルーターにログインする際、パスワードを入力後、Enterキーを押すと、入力した文字数分だけ、カーソルが一瞬右に移動する不具合を修正した。
送受信負荷の高いとき、外部からICMPv6 Echo Requestを受けると、リブートする場合があるバグを修正した。
RTX1500で、IPsecを利用したPPPoE接続からISDNへのppバックアップが正しく動作しないバグを修正した。
RTX1500で、queue INTERFACE length コマンドについて以下の修正を行った。
RTX1500で、ファストパスでNATや動的フィルタを利用している時に、トラフィックがTCPキープアライブだけなどのように正確な周期で定期的に送信されるようなものの場合、トラフィックがNATや動的フィルタに認識されず、トラフィックがあるのにNATのエントリが消えたり動的フィルタが閉じられてしまうことがあるバグを修正した。
RTX1500で、トンネルインタフェースでPIM-SMが動作しない場合があるバグを修正した。
RTX1500で、転送中にQoSの設定を変更すると任意のクラスからの送信ができなくなることがあるバグを修正した。
RTX1500で、IGMPプロキシ機能で下流のインタフェースでIGMPのreportを受け取るより先に、上流のインタフェースで対象のマルチキャストストリームを受信が始まってしまうと、このストリームを転送できない場合のあるバグを修正した。
ストリームの再生時にIGMPのTO_EXCLUDEレポートを利用するアプリケーションソフトを利用する場合に上記不具合が発生していた。
RTX1500で、ログにLANのlink upが連続で記録される事がある不具合を修正した。
RTX1500で、IPsecトンネル上に多くのフローを流して高負荷をかけるとLANがハングアップしたりリブートしたりすることがあるバグを修正した。
RTX1500で、system packet-bufferコマンドでlargeグループに対して、buffer-in-chunkとinit-chunkの積が3329以下になる設定をしようとするとエラーになるように変更した。
RTX1500では、ファストパス処理のために起動中にlargeグループから3329個のパケットを確保している。そのため、buffer-in-chunkとinit-chunkの積が3329以下の設定で起動すると、ハングアップしてしまう。
RTX1100で、show environmentコマンドを実行した場合、以下の現象となることがあるバグを修正した。
RTX1100で、IPv4 over IPv4トンネルを通るパケットがファストパスで処理される時、トンネルの宛先がVLANの先であってもパケットにVLANタグが付加されないバグを修正した。
RTX1100で、IPv4 over IPv4(IPIP)トンネルでIPIPトンネルの相手側のゲートウェイへの経路がフィルタ型経路の2番目以降で指定されている時に、正しくそこへパケットを送信することができず、1番目の経路を使用してしまうバグを修正した。
RTX1100で、優先制御/帯域制御においてノーマルパス経由のパケットとファストパス経由のパケットを同一のLANインタフェースから同時に送信しているとき、speedコマンドで設定されたインタフェース速度や、queue class propertyコマンドで設定されたクラスの帯域以上の速度が出てしまうバグを修正した。
RTX1100で、tunnel endpoint nameコマンドにおいて、自分側端点の名前を省略し、相手側端点の名前だけを指定して実行すると、コマンドを正常に受け付けないことがあるバグを修正した。
RTX1100で、帯域制御において使用するクラスの帯域を、queue INTERFACE class propertyコマンドのBANDWIDTHパラメータで'%'単位を指定することによって設定している時、帯域制御が正しく動作しないバグを修正した。
ノーマルパスにおけるQoS制御のバグであるが、QoSがファストパスで動作する機種においても、ノーマルパス経由となるパケットを送信する場合や、ip routing process normalと設定して明示的にノーマルパスを利用する場合はこの問題が発生する。
RTX1100で、OSPFやBGP、RIPなどのリンク制御パケットの転送が稀に失敗する可能性があったため、この可能性を排除した。以下に示す条件を全て満たす場合に発生する可能性があった。
RTX1100で、LAN分割機能使用時に分割LAN経由のIPsecの通信ができなくなるバグを修正した。
RTX1100で、lan shutdownコマンドでポート番号1を指定した時、他のポートのリンクアップを検出できないバグを修正した。
RTX1100で、speed コマンドで1kを設定した場合にノーマルパス経由では帯域制限がなされないバグを修正した。
RTX1100で、メモリ使用率が高い状態でshow ip routeコマンドを実行するとリブートすることがあるバグを修正した。大量の経路を扱う場合に発生することが確認されている。
RTX1100で、PPPoE上でIPv4 over IPv4トンネルを使用しているときに、PPPoEセッションが切断すると、その後、PPPoEセッションが再接続してもIPv4 over IPv4トンネル経由の通信ができないことがあるバグを修正した。