ヤマハルータ(RTX1200)の設定について



●Yamahaルータシリーズコマンドリファレンス

 Yamaha ルータシリーズコマンドリファレンス

●初期化

 参考URL:[2018年版]RTX1200の初期設定 - IPv4/IPv6

 初期化は microSD + USB + DOWNLOAD の3つのボタンを同時に押しながら電源を入れます。

rtx1200_front_file_syokika.jpg

●初期設定

 参考URL:Yamaha RTX ルータの初期設定 (telnet接続ができるようになるまで)
 参考URL:NTT光ネクストにRTX1200経由で接続
 参考URL:2018年にもなってRTX1200を買ってみた - コンソールの設定とIPv4/IPv6

rtx1200_style.jpg

 初期化後のRTX1200へのアクセスはGUI、CUI共にパスワードは空となっています。
 設定はGUIの方が簡単ですので、最初はそちらを推奨します。
 コマンドラインではGUIで設定できない詳細な設定が可能です。
 初期状態のRTX1200のIPアドレスは192.168.100.1です。
 LAN1にLANケーブルを接続し、任意のブラウザでアドレスバーに192.168.100.1と入力します。
 接続するとユーザー名パスワードを求められますが、初期設定ではどちらも設定されていませんのでどちらも空欄のままOKをクリックします。
 まず、GUI、CUIのパスワードへ設定しておきましょう。
 あとは、各自の環境に合わせて設定してください。

 ログインパスワードを変更します。
# login password
 管理者のパスワードを変更します。
# administrator password
 RTX1200にSSH接続できるように設定します。
# login user [user]
# sshd host key generate
# sshd service
 SSH接続確認後、TELNET接続を無効にします。
# telnet service off
 デフォルトのログアウト時間は300秒です。ログアウト時間を変更するには下記のようにします。
# login timer 1800
 戻すには下記のようにします。
# no login timer
 コンソール表示でスクロールを止めないようにします。
# console lines infinity
 プロンプトの表示を変えるには下記のようにします。
# console prompt ' '
 DNSサーバを設定します。
# dns server 192.168.100.254
 タイムゾーンを設定します。
# timezone JST
 時刻同期を設定します。
# schedule at 1 */* 22:10:00 * ntpdate ntp.nict.jp syslog
 NTP(SNTP)サーバを起動する。
# sntpd service on
# sntpd host lan
 設定を保存します。
# save


 自宅インターネット環境の変更に伴うRTX1200の導入

 参考URL:RTX1200でSoftbank光のIPv6高速ハイブリッドを利用

 自宅の2021年4月回線契約をNTT東日本からソフトバンク光に変更しました。
 これにより新たなNW機器(光BBユニット)が届きました。
 このため手元にあるNTTのホームゲートウェイ(ONU/ルータ)を残したまま、光BBユニットを接続する必要があります。

c3-oa-ewmta.png

 ホームゲートウェイのLANポートは機種が古いため4つとも最大100Mbpsでの接続となります。
 このLANポートに光BBユニットを接続するため、光BBユニット経由でも回線速度が100Mbpsまでしが出ないのではないかと心配していました。
 ホームゲートウェイのIPv6パケットフィルタ設定を変更([IPv6ファイアウォール機能]の項目を[無効])したところ上記の接続状態で300~400Mbps程度の回線速度となりました。
 原則、PCやスマートフォンは光BBユニット(のWifiまたはLAN)経由で接続するようにします。
インターネット(光BBユニットのWifi利用とLANケーブル接続はIPv6またはIPv4接続、ホームゲートウェイとはPPPoEでのIPv4接続)
|
ホームゲートウェイ(ONU/ルータ)  172.17.0.254 ---------- LAN_A 172.17.0.0/24
|  No IP                                                     |
|                                                            |
|  No IP                                                     |
光BBユニット(ルーティング機能無し)                         |
|  192.168.100.254                                           |
|---------- LAN_C 192.168.100.0/24                           |
|  192.168.100.253                                           |
RTX1200                                                      |
|                                                            |
|------------------------------------------------------------+
|
|---------- LAN_B 192.168.0.0/24
 ただし、光BBユニットと直接接続(WifiまたはLANケーブル接続)するPC等(192.168.100.0/24)は光BBユニットで静的ルーティング設定ができないため、元々設定されていたホームゲートウェイのLAN_Aとは接続できません(ONU/ルータ ←→ 光BBユニットの経路は設定できない)。
 そのため、サーバ等を接続する場合、光BBユニットとRTX1200をLANケーブルで接続し、RTX1200のLANポート(RTX1200でLAN分割し、LAN_A及びLAN_Bを作成)にサーバ等を接続するようにします。
 また、元々設定されていたLAN_Aに接続できるようにRTX1200を設定します。
 さらに、RTX1200で必要なルーティング等の設定を追加します。
 RTX1200でLAN等の設定作業は下記のとおりとなります。
  • LAN2に192.168.100.253を割当
  • 光BBユニットと接続するLAN2にIPアドレスの割当(192.168.100.253)
  • デフォルトルートを192.168.100.254に設定
  • LAN2にNATを設定(グローバルIPに届いたサービスをVALN1上のサーバに転送するため)
  • LAN1をLAN分割しVLANを作成(LAN_A用、LAN_B用に各4ポートずつ)
  • VLAN1(LAN_B用)に192.168.0.254/24を割当
  • VLAN2(LAN_A用)に172.17.0.253/24を割当
  • VALN2向けの静的ルートを設定
  • 必要に応じて、RIPを有効化
  • 必要に応じて、DHCPサービス及びDCHPオプションを有効化
  • その他、必要な設定等
 なお、LAN_A(172.17.0.0/24)側のデフォルトゲートウェイの設定はしません。

 それではRTX1200を設定します。
$ ssh <ルータのIPアドレス> -l admin
admin@<ルータのIPアドレス>'s password: ← パスワードを入力
[ルータのホスト名] > administrator
password: ← パスワードを入力
[ルータのホスト名] #

LAN2にIPアドレスの割り当て
# ip lan2 address 192.168.100.253/24

LAN2にNATディスクリプタを設定する。NAPTをかます必要があるのは、BBユニットが静的ルーティングに対応していないため。
# nat descriptor type 10 masquerade
# nat descriptor address outer 10 primary
# nat descriptor address inner 10 auto
# グローバルIPに届いたhttp、https、smtp、sshアクセスを転送先IPアドレス 192.168.0.99に転送
# nat descriptor masquerade static 10 1 192.168.0.99 tcp 22,smtp,www,https
# ip lan2 nat descriptor 10
 RTX1200のLAN2ポートとBBユニットのLANポートを接続します。
 設定がうまくいっていれば、RTX1200からBBユニット(192.168.200.254)にpingが通ります。
# ping -sa 192.168.100.253 192.168.100.254

RTX1200のデフォルトゲートウェイの設定
# ip route default gateway 192.168.100.254

LAN分割機能(ポートベースVLAN)
# lan type lan1 port-based-option=divide-network
# vlan port mapping lan1.1 vlan1
# vlan port mapping lan1.2 vlan1
# vlan port mapping lan1.3 vlan1
# vlan port mapping lan1.4 vlan1
# vlan port mapping lan1.5 vlan2
# vlan port mapping lan1.6 vlan2
# vlan port mapping lan1.7 vlan2
# vlan port mapping lan1.8 vlan2

VLANにIPアドレスの割り当て
# ip vlan1 address 192.168.0.254/24
# ip vlan2 address 172.17.0.253/24

VLAN1用のDHCPサーバ設定
# dhcp service server
# dhcp server rfc2131 compliant except remain-silent
# dhcp scope 1 192.168.0.101-192.168.0.99/24
# dhcp scope option 1 dns=192.168.0.99


●DNSの設定

 NICTの公開NTPサーバ利用時に、下記のようなエラーがログに記録されていました。
20xx/xx/xx 16:00:20: [SCHEDULE] Error(No such domain name): ntpdate ntp.nict.jp
 DNSはGUIで設定したのですが、その設定だけでは正常に動作しないようです。
 RTX自身が名前解決するためには明示的に指定が必要らしいです。
# dns server pp 1
 設定変更後、saveし忘れないように。 
 これで問題は解決しました。

●SNMPの設定

 参考URL:RTX12x0をZabbixで監視する

 CactiやZabbixから監視できるようにSNMP機能を有効化します。
※Zabbix ServerのIPアドレスが192.168.0.44の場合
# snmp host 192.168.0.44 public
# snmp trap host 192.168.0.44 public
 192.168.0.44に対してpublicコミュニティの読み取りを許可、トラップの送信先も同じく192.168.0.44に設定しています。
 SNMPの設定に問題が無いか確認します。
※RTX1200 の IPアドレスが 192.168.0.254 の場合
$ snmpwalk -v 1 -c public 192.168.0.254
 OID を絞り込んで、メモリ使用率のみを取得してみます。
$ snmpwalk -v 1 -c public 192.168.0.254 .1.3.6.1.4.1.1182.2.1.4
SNMPv2-SMI::enterprises.1182.2.1.4.0 = Gauge32: 25
 正常に取得できました。

●SNMPトラップの設定

 参考URL:ZabbixでSNMP監視の基本的なやり方

 ルータのリンクダウンや電源断等の情報をSNMPトラップで受信できるように設定します。
 IPアドレスはZabbixサーバを指定します。
# snmpv2c host 192.168.0.44
# snmpv2c community read-only public
# snmpv2c trap host 192.168.0.44 trap
# snmpv2c trap community <コミュニティ名>
# snmp sysname rtx1200
# snmp trap enable snmp all

※下記は、LANインタフェースの各ポートのリンクがup/down時にトラップを送信するか否かの設定
 ただし、トラップではどのポートがup/downしたのかは不明
# snmp trap link-updown separate-l2switch-port lan1 on
 任意のサーバから下記コマンドを実行します。
# snmpwalk -v 2c -c public <RTX1200のIPアドレス> 1.3.6.1.2.1.1.5.0
RFC1213-MIB::sysName.0 = STRING: "rtx1200"
 設定したsysnameが取得できました。

●Zabbix用の設定

 参考URL:RTX12x0をZabbixで監視する
 参考URL:Zabbixのテンプレート集(RTX1200用とか)
 参考URL:Zabbix 3.x & RTX1200/1210 PP/TUNNEL対応 Template

 Zabbix ServerでRTX1200を監視できるようにPrivate MIBファイルを配置します。
 RTXのMIBファイルはYAMAHAのサイトで配布されています。
# wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
# tar xvzf yamaha-private-mib.tar.gz -C /usr/share/snmp/mibs
 ダウンロードしたファイルを読み込むように設定します。
# vi /etc/snmp/snmp.conf
mibdirs /usr/share/snmp/mibs:/usr/share/snmp/mibs/yamaha
mibs all

# systemctl restart snmpd
 MIBファイルを配置したら、Zabbix Serverを再起動します。
# systemctl restart zabbix-server
# systemctl status zabbix-serve
 Private MIBで値(上記の筐体温度)を取得できるか確認します。
# snmptranslate -On YAMAHA-RT-HARDWARE::yrhMemoryUtil
.1.3.6.1.4.1.1182.2.1.4

# snmpwalk -v 1 -c public <RTX12x0のIP> yrIfPpInUtil
yrIfPpInUtil: Unknown Object Identifier (Sub-id not found: (top) -> yrIfPpInUtil)
このような場合、RTX1200のPrivate MIBファイルを読み込めていません。
上記を参考に読み込むように設定するか、下記のように実行します。

# snmpwalk -v 1 -c public <RTX12x0のIP> YAMAHA-RT-HARDWARE::yrhMemoryUtil
YAMAHA-RT-HARDWARE::yrhMemoryUtil.0 = Gauge32: 24
 Zabbix用テンプレートをZabbixのテンプレート集(RTX1200用とか)からダウンロードし、Zabbixにインポートします。
 あとは該当ホストにインポートしたテンプレートをリンクさせればグラフが表示されます。

●Cacti用の設定

 参考URL:CactiによるYAMAHAルータ(RTX1200)の監視

 CacticでYAMAHA RTX1200のCPU使用率、メモリ使用率、メモリサイズ、機器内部温度を監視しグラフ化します。

 Data Templatesの作成

 例:5分毎のCPU使用率を監視を作成

 Data Templates、データソース、Data Source Itemを作成します。

cacti-rtx1200-cpu5minute01.png

 ・Data Templates
  名前:YAMAHA RTX1200 - 5 Minute CPU Utilization
 ・データソース
  名前:|host_description| - 5 Minute CPU
  データの入力方法:Get SNMP Data
  Data Source Profile:System Default
  Data Source Active:on
 ・Data Source Item
  Internal Data Source Name:5minute_cpu
  Minimum Value ("U" for No Minimum):0
  Maximum Value ("U" for No Maximum):100
  データソースの種類:GAUGE
   作成するとCustom Dataを入力できるようになります。

cacti-rtx1200-cpu5minute02.png

 ・Custom Data
  OID:.1.3.6.1.4.1.1182.2.1.7.0
  他の値は設定しない。
 テンプレート - データソースにYAMAHA RTX1200 - 5 Minute CPU Utilizationが作成されていることが分かります。

cacti-rtx1200-cpu5minute02.png

●ログの転送設定

 参考URL:【作業備忘録】YAMAHA RTX-1210 から Linux サーバに syslog 転送したいとき
 参考URL:ヤマハルータでログを取得する(syslog機能)公開

 RTX1200のSyslogを転送するための設定します。
 コマンドリファレンスによると、転送先のホストは最大4ヶ所まで設定可能とのことです。
syslog host <RTX1200のIPアドレス>
syslog facility local6
 ログを受け入れるCentOS側を設定(/etc/rsyslog.conf)します。
# cp -p /etc/rsyslog.conf /etc/rsyslog.conf_yyyymmdd

# vi /etc/rsyslog.conf

#module(load="imudp") # needs to be done just once
#input(type="imudp" port="514")
24,25c24,25
 ↓ コメントアウト(行頭の#を削除)する
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")

#module(load="imtcp") # needs to be done just once
#input(type="imtcp" port="514")
80,83d79
 ↓ コメントアウト(行頭の#を削除)する
module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")

下記3行を追記
# Add Allow IP Address
$AllowedSender UDP, 127.0.0.1, 192.168.100.253, 192.168.100.254 # UDP
$AllowedSender TCP, 127.0.0.1, 192.168.100.253, 192.168.100.254 # TCP

下記2行を追記
# YAMAHA RTX1200 LOG
local6.*                                                /var/log/rtx.log

/var/log/messagesにも同じログが記録されてしまうため、下記のように修正
*.info;mail.none;authpriv.none;cron.none;local6.none    /var/log/messages

# systemctl restart rsyslog
 新たに作成したRTX1200用のログをZabbixで解析できるようにアクセス権を変更します。
# chmod 640 /var/log/rtx.log
# chgrp zabbix /var/log/rtx.log
 必要なポートを開放します。
# firewall-cmd --add-service=syslog --permanent
# firewall-cmd --add-port=514/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
 設定したRTX1200用のログをローテーションするようにetc/logrotate.d/syslogを編集します。
# vi /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/rtx.log
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
    endscript
}
 Zabbixでアイテム・トリガー等の動作試験をする際、設定したログ(/var/log/rtx.log:facility local6で設定)に記録させるには、Zabbixサーバ上で下記のように実行します。
# logger -p local6.info LAN1: PORT3 link down ***TEST***
 /var/log/rtx.logに下記のように記録されます。
Aug 19 09:47:32 <ホスト名> root[4050291]: LAN1: PORT3 link down ***TEST***


●SSHログインできない

 参考URL:最近の ssh では YAMAHA RTX1200 に接続できない

 CentOS Stream 8では問題なくSSHログインできていたのですが、Rocky 9から接続できなくなりました。
Unable to negotiate with 192.168.0.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
 最近のsshがデフォルトサポートをやめた形式の影響であり、~/.ssh/configに設定を追加することにより接続できるようになります。
Host 192.168.0.1
KexAlgorithms +diffie-hellman-group14-sha1
HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedAlgorithms=+ssh-rsa
RequiredRSASize 1024
 そう簡単ではないようです・・・。

 (下記により解決)

解決方法その1
ssh -o RSAMinSize=1024 admin@switch

解決方法その2

 Rocky 9で暗号化ポリシーの変更を実行しました。
# update-crypto-policies --set DEFAULT:SHA1

確認
# update-crypto-policies --show
DEFAULT:SHA1

デフォルトに戻すには
# update-crypto-policies --set DEFAULT

 以上となります。