LoginSignup
0
1

RPiで簡易コンソールサーバー構築

Posted at

0.はじめに

どうやってもルーターの管理ポートの設定が上手くいかない。そんな時、コンソールサーバーが欲しくなります。ですが、コンソールサーバーの予算なんてもちろんない。
ということで手元にあったRPi3Bを使って、簡易コンソールサーバーを構築していく。

※今回の構築はあくまで簡易的なものなので、常時稼働するものを作る場合はconserver等の使用を推奨する。

1. 構築環境

使用機材

  • Raspberry Pi 3 Model B Rev 1.2
  • USB-RJ45シリアルケーブル ×2
  • RPi電源ケーブル
  • microSDカード 16gb
    あったほうがいいもの
  • LANケーブル延長コネクタ
  • USBハブ

シリアルで操作するネットワーク機器: Juniper SRX 1500 ×2

2. 設計

             eth  ttyUSB*      con
PC ------------ PiCS ============ Juniper
  -----Telnet----->    ---Console--->

簡易コンソールサーバーなので、SSHという上質な物は使わない。

3. 構築

SDにubuntuを書き込んでおく。
server版でもdesktop版でも構わない。

RPi を更新して、SSH、telnet、ser2netをインストールする

sudo apt update
sudo apt upgrade -y
sudo apt install openssh-server
sudo apt install telnetd
sudo apt install vim 
sudo apt install ser2net 

シリアルポートの把握

sudo dmesg | grep tty

スクリーンショット 2023-12-19 9.46.59.png
ttyUSB0とttyUSB1の二つが接続されていることがわかる。

/etc/ser2net.yamlを編集

スクリーンショット 2023-12-19 9.53.26.png

ser2net.yaml
connection: &con<任意>
    accepter: telnet,<RPiのIPアドレス>,<TCPのポート>
    enable: on
    options:
      banner: *banner
      kickolduser: true
      telnet-brk-on-sync: true
    connector: serialdev,
              /dev/ttyUSB<確認したUSB番号>,
              転送速度n81,local

TCPのポートは使用されているポートに当たらなければ、任意で設定可能。
転送速度は今回は9600 bpsに設定。
リスタートする。

sudo systemctl restart ser2net

TCPのポートがリッスンしているか確認

$ ss -atn
State           Recv-Q             Send-Q                        Local Address:Port                             Peer Address:Port                         Process
LISTEN           0                      5                                10.254.0.180:3005                                     0.0.0.0:*
LISTEN           0                      4096                          127.0.0.53%lo:53                                        0.0.0.0:*
LISTEN           0                      128                            0.0.0.0:22                                                    0.0.0.0:*
LISTEN           0                      128                            127.0.0.1:631                                              0.0.0.0:*
LISTEN           0                      128                             0.0.0.0:23                                                   0.0.0.0:*
LISTEN           0                       5                               10.254.0.180:3004                                      0.0.0.0:*
ESTAB            0                       0                               10.254.0.180:22                                     10.254.254.28:60882
ESTAB            0                       0                               10.254.0.180:3004                                  10.254.254.28:63465
ESTAB            0                       52                              10.254.0.180:22                                     10.254.254.28:62805
LISTEN           0                       5                                    *:2000                                                             *:*
LISTEN           0                       5                                     *:2001                                                             *:*
LISTEN           0                       128                                  [::]:22                                                            [::]:*
LISTEN           0                       128                                  [::1]:631                                                           [::]:*
LISTEN           0                        5                                    *:3000                                                             *:*
LISTEN           0                        5                                    *:3001                                                             *:*

4. 動作確認

PCから、telnetでポートを指定して、接続する。

$telnet 10.254.0.180 3005
Trying 10.254.0.180...
Connected to 10.254.0.180.
Escape character is '^]'.

ser2net port telnet,10.254.0.180,3005 device serialdev, /dev/ttyUSB0, 9600n81,local [] (Debian GNU/Linux)


FreeBSD/amd64 (Amnesiac) (ttyu0)

login:

5.問題点

  • セキュリティ
    telnet接続のため、SSHと違い暗号化されていない点。
    また、本来Console serverへのログインの際、パスワード等を求められるが、要求されない点。

  • ログ取り
    変更履歴を残す確認できるようにlogを取るべきだが、調べた限り、自動でログ取りする機構をser2netは備えていない

→→ser2netでのコンソールサーバー構築はあくまで簡易的なものなので、常時稼働するものを作るならconserverの使用を推奨する。

参考URL

  • 機器の構成を参考

  • ser2netの導入方法

  • ser2netの設定方法

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1