Skip to content

Tech Notes

YAMAHA RTX830 導入・初期設定とSSH化ログ

概要

自宅のメインルーターとしてYAMAHA RTX830を導入しました。今後のVLAN導入など、柔軟なネットワーク拡張の要として期待しています。本記事では、初期設定からセキュリティ検証、より安全なSSHアクセスの確立までを行った際のログをまとめました。


1. CUI環境の基本セットアップ

RTX830の真価を発揮するため、CUIアクセスと初期設定の基本を確認しました。

文字化けの解消

PC側のターミナルに合わせて、ルーターの出力文字コードをUTF-8に変更しました。

console character ja.utf8

よく使う確認コマンド

YAMAHAのRTOSはLinuxではないため、ls は使えません。以下のような専用コマンドで状態を確認しました。

show config list # 設定ファイルの一覧を見る
show config # 現在動いている設定(全量)を見る
show status lan2 # インターフェース(LAN2など)のIPアドレスやリンク状態を確認する
show log reverse # ログを新しい順に表示する(スペースでページ送り、qで終了)

2. WindowsからのSSH接続設定とTelnet廃止

初期設定用のTelnetを廃止し、セキュアなSSHアクセスへ移行しました。最新のWindows SSHクライアントは古い暗号化規格をデフォルトで拒否するため、Windows側の config ファイルで明示的に規格を許可する必要がありました。

① Windows側のSSHクライアント設定

コマンドプロンプトで %USERPROFILE%\.ssh ディレクトリを作成し、config ファイルを作成して以下の内容を記述しました。

Host 192.168.10.1
    KexAlgorithms +diffie-hellman-group14-sha1
    HostKeyAlgorithms +ssh-rsa
    MACs +hmac-sha1

② RTX830側のSSH有効化

Telnetでログインし、管理者モード(#)で以下のコマンドを実行してSSHサーバーを有効化しました。

# ログインユーザーの作成(未作成の場合)
login user admin [パスワード]

# SSHサーバーの有効化とLAN1のみへのアクセス制限
sshd service on
sshd host lan1

# ホスト鍵の生成(※必須。数秒〜数十秒かかる)
sshd host key generate

# 設定の保存
save

③ 接続テストとTelnetの無効化

Windowsのコマンドプロンプトから ssh [email protected] で無事に接続できることを確認した後、不要になったTelnetを完全に無効化しました。

# Telnetサーバーの無効化
telnetd service off
save

※最後にWindows側の「Windows の機能の有効化または無効化」から「Telnet クライアント」をオフに戻しました。


3. フェイルセーフとUndo(取り消し)の原則

設定を間違えて通信が遮断されたり、自分自身が締め出されたりした場合に備え、確実な復旧方法を原則として確認しました。

  • 原則: コマンドを打った瞬間、RAM(揮発性メモリ)上で即座に実行・反映されますが、saveコマンドを打つまではROM(不揮発性メモリ)には書き込まれません。動作確認が完全に終わるまでは、絶対に save を打たないことを鉄則としました。
  • 最強のUndo(再起動): 設定を誤ったがまだ save をしていない場合は、ルーターを再起動(または物理的な電源の抜き差し)すれば最後に save した安全な状態(ROMのデータ)に戻ります。
  • コマンドでのUndo: 特定のフィルターや設定を削除する場合は、コマンドの先頭に no をつけます(例: no ip filter 1000)。

4. WAN側からの不審なアクセスを観測する実験

インターネットに直接つながっているWANポート(lan2 など)に届く、ボット等のスキャンパケットをログに記録する罠を仕掛ける実験を行いました。

① ロギング用フィルターの作成

TCPの22(SSH)、23(Telnet)、3389(RDP)番ポートへのアクセスを破棄しつつ、ログに書き込む論理式(ラベル番号: 1000)をメモリ上に作成しました。

ip filter 1000 reject-log * * tcp * 22,23,3389

② 既存フィルターへの「割り込み」適用

作成した1000番ルールを、既存の防御ルール(GUIが生成した100000番台など)より先に評価させるため、一番左に挿入して上書き適用しました。

# 現状の適用状態を確認
show config | grep "secure filter in"

# 先頭に1000を割り込ませて上書き適用(既存の数字列は絶対に消さず、後ろにすべて繋げる)
ip lan2 secure filter in 1000 101003 101004 ...

5. VPN構築に向けた準備:ネットボランチDNSの取得

WAN側がグローバルIP(DHCP)の場合、IPアドレスが動的に変動してしまうため、外出先からVPNで接続するための不変のホスト名を取得しました。

① ダイナミックDNSの取得

YAMAHA無料提供の「ネットボランチDNS」を利用し、lan2 に割り当てられたグローバルIPにホスト名を紐づけました。

netvolante-dns go lan2

② 取得結果の確認

以下のコマンドで割り当てられたホスト名(例:xxxxxxxx.aa0.netvolante.jp)を確認し、これを今後のVPN接続時の宛先アドレスとしました。

show netvolante-dns lan2