こんにちは、ネットワーク事業部の渡邉です。
YAMAHAルータのログを長期間分保存するには
- ルータに外部メモリを接続して保存
- 外部のログサーバにログを出力する
という上記2つの手段があります。
今回はYAMAHAルータのログを外部のログサーバに出力する設定をご紹介します。
機器の構成について
ネットワーク図
今回は2台のRTX830から、AlmaLinuxで構築したログサーバにログを出力します。
図の通り、ルータ2台とログサーバは同一のLAN内に配置されています。
※ルータにはそれぞれプロバイダの接続設定、VPNの設定などがされていますが、今回の内容には直接的には関わりませんので省略します。
また、ログサーバのOSにはAlmalinux9.0を使用します。
なお、ログの受信にはrsyslogを使用します。
それぞれの機器の基本的な設定は下記の通りです。
RTX830(1台目)
ファームウェア:15.02.25
IPアドレス:192.168.100.1
RTX830(2台目)
ファームウェア:15.02.25
IPアドレス:192.168.100.100
ログサーバ
OS:AlmaLinux9.0
IPアドレス:192.168.100.250
rsyslogのバージョン:8.2102.0-101.el9_0.1
ルータ側の設定
ルータ側では、ログサーバへログを出力する設定を行います。
必要な設定は次の通りです。
RTX830(1台目)
1 2 3 |
syslog host 192.168.100.250 syslog local address 192.168.100.1 syslog facility local0 |
RTX830(2台目)
1 2 3 |
syslog host 192.168.100.250 syslog local address 192.168.100.100 syslog facility local1 |
設定の内容については次の通りです。
- syslog host・・・ログの出力先サーバのIPアドレスを指定します。
- syslog local address・・・ルータ自身のIPアドレスを指定します。
- syslog facility・・・SYSLOG のファシリティを指定します。今回はlocal0、local1を使用します。
ちなみに、syslogコマンドでは出力されるログレベルの設定を変更することもできます。
ログレベルの種類については次の通りです。
- info・・・通常の情報をログします。
- notice・・・パケットフィルタリングで、落としたパケットの情報などをログします。
- debug・・・障害解析などの為に、ISDNやPPPのデバッグ情報をログします。
変更する場合は下記のコマンドで設定します。
なお、デフォルトではinfoレベルのログのみ有効になっています。
1 2 3 |
syslog info [on/off] syslog notice [on/off] syslog debug [on/off] |
サーバ側の設定
ログサーバ側では、RTX830から送られてくるログを受け入れるための設定を行います。
まずは外部からのログを受信するため、firewalldでTCP/UDP514番ポートを許可します。
1 2 3 |
# firewall-cmd --add-port=514/tcp --permanent # firewall-cmd --add-port=514/udp --permanent # firewall-cmd --reload |
ここからrsyslogの設定です。
rsyslogの設定は/etc直下にあるrsyslog.confの編集で行います。
まずはrsyslogで外部からのログの受信を有効にするため、rsyslog.confの下記のコメントアウトを外します。
1 2 3 4 5 |
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") |
この時点でRTX830からのログは受信できるようになりますが、このままだとログの出力先が/var/log/messagesになります。
ルータのログを/var/log/messagesに出力してしまうと、ルータのログとサーバのログが混ざってしまって不便なので、ログの出力先を変更します。
rsyslog.confの/var/log/messagesの設定にlocal0.noneとlocal1.noneを追加して、ルータのログがこちらに出ないようにします。
1 |
*.info;mail.none;authpriv.none;cron.none;local0.none;local1.none /var/log/messages |
次に、ルータ2台のログをそれぞれ別のファイルに出力するように設定します。
rsyslog.confに下記を追加します。
1 2 3 4 |
# RTX830-1 local0.* /var/log/router1.log # RTX830-2 local1.* /var/log/router2.log |
rsyslogを再起動して設定を反映させます。
1 |
# systemctl restart rsyslog |
これでそれぞれのルータからのログが/var/log/router1.logと/var/log/router2.logに分けて出力されるようになります。
infoレベルであればそれほど大量のログは出力されませんが、debugレベルのログを有効にしていると大量のログが出力されるため、必要に応じてログローテーションの設定なども行うべきでしょう。
まとめ
YAMAHAルータのログは、デフォルトの本体メモリだけでは10000行までしか保存できないため、それ以上の期間のログを取るためには外部メモリか、外部ログサーバを使うことになります。
外部メモリをルータに挿してしまうのが最も簡単ではありますが、今回のようにログサーバを用意することで、複数のルータのログを一か所で管理することができます。
負荷の分散や冗長化などで、複数のルータをネットワーク内に置くことは珍しくないので、そういった場合はログサーバが有用と言えます。
また、今回のログ関連以外にもさまざまなYAMANAルータの設定を弊社は行うことができますので、ネットワークに関してお困りのことがある方はぜひ弊社へご依頼ください。