http://www.rtpro.yamaha.co.jp/RT/docs/relnote/Rev.08.02/relnote_08_02_28.html Revision : 08.02.28 Release : Dec. 2004, ヤマハ株式会社 RTX1500 Rev.8.02.28 リリースノート ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Rev.8.02.19からの変更点 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■機能追加 1. RTX1500でIEEE802.1Qタグ付きパケットを扱うことができる機能を実装した。詳細な 仕様は下記URLを参照のこと。 http://www.rtpro.yamaha.co.jp/RT/docs/vlan/index.html 2. インタフェースの説明を設定しておく、descriptionコマンドを新設した。 [書式] description INTERFACE DESCRIPTION no description INTERFACE [DESCRIPTION] [設定値] INTERFACE ... LANインタフェース名、'pp'、'tunnel' DESCRIPTION ... 説明の文字列 [説明] インタフェースの説明を設定しておく。'pp'、'tunnel'を指示した時にはそれ ぞれ、pp selectあるいはtunnel selectで選択したインタフェースの説明とな る。設定内容は、インタフェースに対するshow statusコマンドで表示される。 [初期値] 無し 3. dhcp scopeコマンドにおいて"except IPアドレス-IPアドレス"と指定する事で除外 IPアドレスを範囲指定出来るように機能拡張した。"except IPアドレス"の場合は、 従来通りそのIPアドレスだけを除外する。 [書式] dhcp scope スコープ番号範囲/マスク [except IPアドレス[-IPアドレス]...] [gateway ゲートウェイ] [expire 時間] [maxexpire 時間] no dhcp scope スコープ番号 [範囲/マスク [except IPアドレス[-IPアドレ ス]...] [gateway ゲートウェイ] [expire 時間] [maxexpire 時間]] [パラメータ] スコープ番号 = 1-65535 範囲 = IPアドレス範囲 時間 = 1-21474836 or 'infinity' [説明] DHCPサーバとして動作する時のDHCPスコープを定義する。 除外IPアドレスはスペースで区切って複数指定できる。除外IPアドレスは範囲 指定できるが、スコープの範囲を超えたり、重複して指定する事はできない。 [ノート] exceptで除外IPアドレスの範囲指定は、Rev7.01以降のファームウェアで有効に なる。 4. ARPが解決されるまでの間に送信を保留しておくパケットの数を制御するコマンドを 新設した。 [書式] ip INTERFACE arp queue length LEN no ip INTERFACE arp queue length [LEN] [設定値] INTERFACE ... LANインタフェース名 LEN ... キュー長、0〜10000 [説明] ARPが解決していないホストに対してパケットを送信しようとした時に、ARPが 解決するか、タイムアウトによりARPが解決できないことが確定するまで、イン タフェース毎に送信を保留しておくことのできるパケットの最大数を設定する 。0を設定するとパケットを保留しなくなるため、例えばARPが解決していない 相手にpingを実行すると必ず最初の1パケットは失敗するようになる。 [ノート] このコマンドが新設される以前のバージョンでは、送信を保留する数の上限は 設定されておらず、いくらでも保留することができた。 5. LANインタフェースを利用できなくすることができるコマンドを新設した。 [書式] lan shutdown LAN-IF [PORT...] no lan shutdown LAN-IF [PORT...] [設定値] LAN-IF LANインタフェース名 ... PORT ... ポート番号、スイッチングハブを搭載するLANインタフェースでのみ 有効 [説明] LANインタフェースを利用できないようにする。このコマンドを設定したLANイ ンタフェース、あるいはスイッチングハブのポートでは、LANケーブルを接続し てもリンクアップしなくなる。 [ノート] LANインタフェースが1つしかない機種ではこのコマンドは利用できない。 6. IPv6のDAD(Duplicate Address Detection)の送信回数を設定できる機能を追加し、 以下のコマンドを新設した。 [書式] ipv6 INTERFACE dad retry count COUNT no ipv6 INTERFACE dad retry count [設定値] COUNT ... 選択したインタフェースでのDADの送信回数 [説明] IPv6アドレスが設定(ダイナミックに割り当てられる場合も含む)されたときに 、アドレスの重複を検出するために送信するDADの送信回数を設定する。ただし 、0を設定した場合は、DADを送信せずにアドレスを有効なものとして扱う。 [初期値] 1 7. IKEで、同時に始動できるフェーズ1の最大数を設定できるようにした。この機能を 実現するために、ipsec ike retryコマンドの仕様を次のように変更する。 [書式] ipsec ike retry COUNT INTERVAL [MAX_SESSION] no ipsec ike retry [COUNT INTERVAL [MAX_SESSION]] [設定値] COUNT ... 再送回数(1..50) INTERVAL ... 再送間隔の秒数(1..100) MAX_SESSION ... 同時に動作するフェーズ1の最大数(1-5) [説明] 鍵交換のパケットが相手に届かないときに実施する再送の回数と間隔を設定す る。また、オプションのパラメータとして、同時に動作するフェーズ1の最大数 を指定できる。ルータは、フェーズ1が確立せずに再送を継続する状態にあると き、鍵の生成を急ぐ目的で、新しいフェーズ1を始動することがある。このパラ メータは、このような状況で、同時に動作するフェーズ1の数を制限するもので ある。なお、このパラメータは、始動側のフェーズ1のみを制限するものであり 、応答側のフェーズ1に対しては効力を持たない。 [初期値] COUNT = 10 INTERVAL = 5 MAX_SESSION = 3 8. TCPのコネクションレベルのsyslogを出力する機能を追加した。 [書式] tcp log SWITCH [SRC_ADDR[/MASK] [DST_ADDR[/MASK]] [TCPFLAG [SRC_PORT_LIST [DST_PORT_LIST]]]] no tcp log [...] [設定値] SWITCH ... on TCPコネクションのsyslogを出力する off TCPコネクションのsyslogを出力しない SRC_ADDR ... 始点IPアドレス ・ xxx.xxx.xxx.xxxは □ 10進数 □ *(ネットマスクの対応するビットが8ビットとも0と同 じ) ・ 間に-を挟んだ2つの上項目、-を前につけた上項目、-を後 ろにつけた上項目、これらは範囲を指定 ・ *(すべてのIPアドレス) DST_ADDR ... 終点IPアドレス(SRC_ADDRと同じ形式)、省略時は1個の*と同じ MASK ... IPアドレスのビットマスク、省略時は0xffffffffと同じ SRC_ADDR及びDST_ADDRがネットワークアドレスの場合にのみ指 定可能 TCPFLAG ... フィルタリングするTCPパケットの種類 ・ プロトコルを表す10進数(6のみ) ・ プロトコルを表すニーモニック ┌──────┬───┬─────────────┐ │ニーモニック│10進数│ 説明 │ ├──────┼───┼─────────────┤ │tcp │6 │全てのTCPパケット │ ├──────┼───┼─────────────┤ │tcpsyn │- │SYNフラグの立っているパケ │ │ │ │ット │ ├──────┼───┼─────────────┤ │tcpfin │- │FINフラグの立っているパケ │ │ │ │ット │ ├──────┼───┼─────────────┤ │tcprst │- │RSTフラグの立っているパケ │ │ │ │ット │ ├──────┼───┼─────────────┤ │established │- │ACKフラグの立っているパケ │ │ │ │ット │ └──────┴───┴─────────────┘ ・ tcpflag=フラグ値/マスク、またはtcpflag!=フラグ値/マス ク ┌──────┐ │参考フラグ値│ ├───┬──┤ │0x0001│FIN │ ├───┼──┤ │0x0002│SYN │ ├───┼──┤ │0x0004│RST │ ├───┼──┤ │0x0008│PSH │ ├───┼──┤ │0x0010│ACK │ ├───┼──┤ │0x0020│URG │ └───┴──┘ ・ *(全てのTCPパケット。ニーモニックにtcpを指定したとき と同じ) ・ 省略時は*と同じ SRC_PORT_LIST TCPのソースポート番号 ... ・ ポート番号を表す10進数 ・ ポート番号を表すニーモニック ┌──────┬─────┐ │ニーモニック│ポート番号│ ├──────┼─────┤ │ftp │20,21 │ ├──────┼─────┤ │ftpdata │20 │ ├──────┼─────┤ │telnet │23 │ ├──────┼─────┤ │smtp │25 │ ├──────┼─────┤ │domain │53 │ ├──────┼─────┤ │gopher │70 │ ├──────┼─────┤ │finger │73 │ ├──────┼─────┤ │www │80 │ ├──────┼─────┤ │pop3 │110 │ ├──────┼─────┤ │sunrpc │111 │ ├──────┼─────┤ │ident │113 │ ├──────┼─────┤ │ntp │123 │ ├──────┼─────┤ │nntp │119 │ ├──────┼─────┤ │snmp │161 │ ├──────┼─────┤ │syslog │514 │ ├──────┼─────┤ │printer │515 │ ├──────┼─────┤ │talk │517 │ ├──────┼─────┤ │route │520 │ ├──────┼─────┤ │uucp │540 │ └──────┴─────┘ ・ 間に-を挟んだ2つの上項目、-を前につけた上項目、-を後 ろにつけた上項目、これらは範囲を指定 ・ 上項目をカンマで区切った並び(10個以内) ・ *(すべてのポート) ・ 省略時は*と同じ DST_PORT_LIST TCPのデスティネーションポート番号 ... SRC_PORT_LISTと同じ形式 [説明] TCPのsyslogを出力する。syslog debug onも設定されている必要がある。IPv4 のみに対応している。システムに負荷がかかるため、トラブルシュート等の一 時的な使用にしか推奨されない。 [初期値] off [設定例] tcp log on * * tcpsyn * 1723 (PPTPのポートにSYNが来ているか) tcp log on * * tcpflag!=0x0000/0x0007 (FIN,RST,SYNの立ったTCPパケット) tcp log on (全てのTCPパケット。tcp log on * * * * *と同じ) [ノート] 表示例 [TCP] RECV (SYN) in LISTEN 133.176.178.241:63541 > 133.176.178.240:1723 [TCP] SEND (SYN,ACK) in LISTEN 133.176.178.240:60001 > 133.176.178.241:1723 [TCP?] RECV (SYN) 192.168.100.50:1062 > 192.168.100.1:21 [TCP?] SEND (RST,ACK) 192.168.100.1:21 > 192.168.100.50:1062 ■仕様変更 1. ip routeコマンドでIPアドレスをゲートウェイとする静的経路の設定を行なう時に 、経路の出力インタフェースはコマンド投入時点での経路テーブルから検索する仕 様になっており、一度インタフェースが確定すると、その後変更しないようになっ ていた。しかし、この動作では、ip routeコマンドが、ゲートウェイが接続されて いるインタフェースに対するアドレスの設定よりも先に行なわれた場合に、本来の インタフェースとは別のインタフェースに向いてしまうことがある。そのため、イ ンタフェースのIPアドレスが設定され、implicit経路が追加された時には、インタ フェースが確定している経路についても再度経路の検索をやり直し、正しいインタ フェースに向かうように修正した。 修正以前でも、設定を保存し、再起動すれば経路は正しいインタフェースに向くよ うになっている。 問題となる動作の例: 以下のような順序で設定を行なった時に、192.168.100.0/24の経路は本来はLAN2イ ンタフェースに向いて欲しいが、LAN1インタフェースへ向いてしまう。 ip lan1 address 192.168.0.1/24 ip route default gateway 192.168.0.2 ip route 192.168.100.0/24 192.168.1.2 ip lan2 address 192.168.1.1/24 2. SYN/FIN/RSTのいずれかがセットされているTCPパケットが通過した時、該当するフ ローをノーマルパスに回してフローテーブルのTTLを30秒に変更するようにした。 3. ノーマルパスにおけるIPsecの暗号化処理で、付加するパディングのサイズとして DES/3DESの場合に8、AESの場合に16バイトを付加していたケースを、それぞれ0バイ トになるように変更した。変更前でもRFC上問題にはならないが、暗号化後のパケッ トのサイズが大きくなるため、通信速度やフラグメントされやすくなるといった点 で不利ではあった。ファストパス処理では、従来から0バイトになるように処理され ている。 ■バグ修正 1. MMI関連で以下のバグを修正した。 □ ipv6 routeコマンドのオンラインヘルプ □ clear nat descriptor inteface dynamicコマンドのオンラインヘルプ □ pp auth requestコマンドのオンラインヘルプ □ no nat desciptor masquerade unconvertible portコマンドで、プロトコルと して何を指定しても、すべてのプロトコルの設定が消されてしまう □ dns staticコマンドで、全く同じ内容を複数回入力すると、2回目以降の設定が エラーとして扱われる □ show ip intrusion detectionコマンドで、インタフェースとしてLAN3以上の LANインタフェースを指定できない □ ログインパスワード、管理パスワードとして32文字のパスワードを設定しよう とすると、最後の文字が無視され31文字のパスワードとして登録される □ 管理パスワードとして32文字のパスワードを設定した時に、TFTPでconfigのput /getができない □ lan port-mirroring lan1コマンドで、仕様外の'off'というパラメータが入力 できる □ コマンドで、最大の入力可能文字長である4095バイトで入力されたコマンドが 、show configで正しく表示できない □ queue pp typeコマンドのパラメータ補完 □ show ipv6 rip tableコマンドで、不要なパラメータを付けてコマンドを実行し てもエラーにならない □ dhcp scopeコマンドで、except句に同じIPアドレスが重複して指定されてもエ ラーにならない □ ipsec ike remote/local name コマンドで「"」や「#」、「(空白)」などのよ うな特殊な文字を含んだ文字列を設定して再起動をすると、設定が正しく保存 されず、show configコマンドを実行しても正しく表示されない □ clear switching-hub macaddressコマンドで、パラメータが入力できない □ restartコマンド実行時に設定の保存を行った場合、デフォルト設定ファイルが 最新の設定ファイルに書き換わらないことがある □ quitコマンド、exitコマンド実行時、あるいはnetvolante-dns goコマンドによ るDNSレコードの新規登録時に設定の保存を行った場合、設定ファイルのバック アップがなされなかったり、退避用のファイルに動作中の設定内容を保存して しまうことがある □ コマンドヘルプ文の句読点の扱いが一部のコマンドで異なっていた □ no account thersholdコマンドで、パラメータを何もつけない時にリブートす ることがある □ ip vrrp shutdown triggerコマンドをパラメータが不足した形で入力するとリ ブートすることがある □ 同じフィルタ番号でipv6 filterコマンドを何度も実行するとその後の動作が不 安定となる □ 同じフィルタ番号でip filter dynamicコマンドを実行するとメモリリークする □ nat descriptor logを設定後、TFTPでclear configurationを実行してもnat descriptor logコマンドがshow configで表示される □ cold startコマンドの実行中にWEB設定やTFTPによるファイル転送を行うと、 cold start後に設定ファイルが残ってしまうことがある 2. configのput/get時に利用される管理パスワードが、現在動作している設定内容では なく、FlashROMに保存されている内容になっているバグを修正した。動作中に管理 パスワードを変更した場合に、それをsaveコマンドで保存するまでは古いパスワー ドでないとconfigのput/getができなかった。 3. ip fragment remove df-bitコマンドの機能が、フローの先頭のパケットにはDFが立 っておらず、その後のパケットにはDFが立っているという場合にファストパスでDF ビットを削除できないバグを修正した。 4. pp always-onコマンドによりISDN経由で発呼した時に、ケーブル抜けを検出した場 合は次回の発呼を10秒待ってから行うように変更した。従来はただちに行っていた ため、短時間に多数の発呼を繰り返していた。これによりCPU使用率が100%となるこ とがあった。 RTX1500では副次的に、リブートやcold start時にconfigが消えない症状が発生する ことがあった。 5. ファストパスを利用する設定になっている時に、LAN分割したインタフェースのうち lan1.2〜1.4のいずれかでPPPoEを利用する設定で、lan1.1のリンクがダウンしてい る時には、PPPoEセッションを張ることはできるが、実際の通信ができないというバ グを修正した。 6. 新しいセッションが次々と発生する環境において、処理能力以下の負荷であるにも 関わらずファストパスでの通信がパケットロスすることがあるバグを修正した。 7. 通信中にQoSの帯域の設定を変更すると遅延が発生するようになるバグを修正した。 8. LANインタフェースの帯域制御で、クラス毎のキュー長を257以上に設定した場合に そのクラスの保証帯域をわずかに保てないことがあるバグを修正した。 9. IPマスカレードを使用しかつ同じインタフェースにqueue type shapingの設定があ る場合に発生する以下のバグを修正した。 □ ルータからTCP RSTパケットを送出する必要性が発生してもそれを送出できず、 またそれが繰り返し発生するとその後通信できなくなる。このバグによる現象 の発生は以下のコマンドの設定で回避できる。 nat descriptor masquerade incoming N discard □ 外部からpingを受けるとそれに応答できず、またそれが繰り返し発生するとそ の後通信できなくなる。 10. ARP解決ができない宛先に対するパケットに対して ICMP UNRECHABLEエラーを送信し ようとするときにリブートするバグを修正した。 11. TELNETでルータにログインし、show logコマンドで大量のログを表示しようとする などの、大量の出力を発生させるとリブートすることがあるバグを修正した。 12. LANインタフェースで、受信処理性能より高い負荷を受信した場合に、show status LANインタフェースコマンドで、実際には発生していないCRCエラーがカウントされ ることがあるバグを修正した。 13. ospf export fromコマンドで経路をフィルタして受け入れない設定の場合に、受け 入れるべき経路までフィルタされてしまうことがあるバグを修正した。 具体的には、別のOSPFルータを間に挟む形になっていて隣接関係にはなっていない2 台のOSPFルータで、一方のOSPFルータのフィルタの設定が、他方のOSPFルータへ到 達するための経路Aは受け入れないが、そのルータが広告している経路Bは受け入れ るという設定の場合に、本来なら経路Bは受け入れなくてはいけないのに受け入れる ことができていなかった。 14. MIB変数でLANインタフェースのifInOctets/ifOutOctetsが正しく与えられないバグ を修正した。 15. プライベートMIBのMIB変数、yrhCpuTypeで適切な値が返せないバグを修正した。 16. IPv6のIKEで、aggressive modeやbase modeで送信するIDの型がID_IPV6_ADDR(5)で はなく、ID_IPV4_ADDR(1)になるバグを修正した。このとき、IDの内容は不正なIPv4 アドレスとなる。ヤマハルータだけを使う場合には問題にならないが、他社製品と 接続するときには、接続できない可能性がある。 17. ipsec ike local/remote idコマンドでIPv6ネットワークを設定したときに、送信す るIDの型がID_IPV6_ADDR_SUBNET(6)ではなくID_IPV6_ADDR(5)になるバグを修正した 。結果として、quick modeが確立しなくなる。 18. IPv6 over IPv6のIPsec ESPトンネルで、プロトコル識別子として4(IP)を利用して いたのを、41(IPv6)に修正した。 この修正が反映される前後のファームウェアでは、IPv6 over IPv6 ESPトンネルで は相互に通信できなくなるので注意が必要である。 19. IPv6のRSを受信し、その返答としてのRAを送信するまでの間に、新たなRSを受信し てしまうと、送信するはずのRAの送信時刻が遅れてしまうバグを修正した。数多く の端末が接続され一度に大量のRSを受信する環境では、この不具合により端末がRA を受信できず、プレフィックス取得に失敗する場合があった。 20. ipv6 dad retry countコマンドで0を設定しているとき、インタフェースにIPv6アド レスを設定しても、そのIPv6アドレスに対応するimplicit経路を設定しないバグを 修正した。 21. 終点IPアドレスがマルチキャストあるいはブロードキャストアドレスになっている UDPパケットを受信したがそれを処理できない時には、従来はアドレスの種類に関わ らずデバッグログに "can't receive UDP multicast packet" と表示していたが、これをブロードキャストアドレスの場合には "can't receive UDP broadcast packet" と表示するよう変更した。 22. PPPoEの同時接続がセッション制限数を超えて可能であるバグを修正した。 23. WWWブラウザ設定支援機能の設定検証機能で、PPインタフェースに対してフィルタの 設定が必要と判定したときに、間違ったコマンドを提案するバグを修正した。 24. 状態メール通知機能の警告メールでModel名が誤って表示されるバグを修正した。 25. 内蔵時計LSIのバックアップ電池の電圧が低下した場合に、起動時に行う内蔵時計 LSIの初期化が行われていないバグを修正した。 初期化が行われていない場合内蔵時計LSIの動作は保証されないが、dateかtimeコマ ンドの実行で初期化の代用となる。つまり、一度でも日付か時刻の設定を行ってい れば問題ない。