
背景
弊社では、AWS を用いてリモートワークを推進しています。
ただ、社内サーバーへのアクセスが必要となる部署もあり、全社員リモートワークは難しい状況でした。
一時的な方法として、AWS Client VPN を使用して、VPC から社内サーバーへの接続を実現していました。
こちらは以下の記事で紹介していますので、興味があればご参照ください。
ただ、なかなか社内サーバーの設定などが大変なこともあり、最終的には AWS Site-to-Site VPN に移行すべく、VPN ルーターを申請していました。
課題
今回、やっと申請していた VPN ルーター(Cisco 1812J)が届きました。
ただ、別部署で眠っていたものを掘り出したもののようで説明書やマニュアルなどはありませんでした。
また、調べてみると、想像していた Wi-Fi ルーターとかとはかなり異なり、設定なども本体とパソコンをつなげる必要があるようです。
そのため、パソコンも申請しましたが、リモートワーク推進の一環で多くのパソコンはすでに処分されていました。
残っていたのはかなり前の機種に Ubuntu がインストールされた今回のものだけでした。
方法
まず初めに、パソコンと VPN ルーターをコンソールケーブルで接続します。
機器や構成としては以下のような感じです。
- ノートパソコン(富士通 LIFEBOOK S560/B)
- VPN ルーター(Cisco 1812J)
- USB RJ45 コンソールケーブル

ノートパソコンには既に Ubuntu 22.04 がインストールされている状況です。
接続手順
Ubuntu のターミナルを開き、コマンドを打つことで接続を進めていきます。
- コンソールケーブルの使用している USB ポートを確認します。
以下の場合だと、Serial Device と表示されている ttyUSB0 が対応する USB ポートになります。
guest@ubuntu:∼$ sudo dmesg | grep ttyUSB
[ 34.739950] usb 1-1.3.4: FTDI USB Serial Device converter now attached to ttyUSB0
[ 34.996889] usb 1-1.3.1: pl2303 converter now attached to ttyUSB1
- cu コマンドを使用してシリアル通信で Cisco 1812J に接続します。
cu コマンドでは、sudo を付けても一般ユーザーとして実行されるため、事前にポート自体に権限を付与します。
guest@ubuntu:∼$ cu --speed 9600 --parity=none --line /dev/ttyUSB0
cu: open (/dev/ttyUSB0): Permission denied
guest@ubuntu:∼$ ls -l /dev | grep USB
crw-rw---- 1 root dialout 188, 0 3月 26 14:46 ttyUSB0
crw-rw---- 1 root dialout 188, 1 3月 26 14:46 ttyUSB1
guest@ubuntu:∼$ sudo chmod 666 /dev/ttyUSB0
guest@ubuntu:∼$ ls -l /dev | grep USB
crw-rw-rw- 1 root dialout 188, 0 3月 26 14:46 ttyUSB0
crw-rw---- 1 root dialout 188, 1 3月 26 14:46 ttyUSB1
- cu コマンドで接続します。
なお、cu コマンドの設定値は以下の URL に記載されていています。
https://www.cisco.com/c/ja_jp/td/docs/rt/branchrt/1800isr/qig/001/16833-02-body.html
- 9600 ボー
- 8 データ ビット
- パリティ ビットなし
- 1 ストップ ビット
guest@ubuntu:∼$ cu --speed 9600 --parity=none --line /dev/ttyUSB0
Connected.
Router1>
切断手順
「~.」を入力するとシリアル通信を終了できます。
Router1> ~.
Disconnected.
guest@ubuntu:∼$
認識手順
シリアル通信を前回正常に終了しなかった場合、以下のように接続の際に失敗する場合があります。
これは前回のシリアル通信が終了しておらず、そのまま現在も使われ続けていることを意味しています。
guest@ubuntu:∼$ cu --speed 9600 --parity=none --line /dev/ttyUSB0
cu: /dev/ttyUSB0: Line in use
この場合には、コンソールケーブルを USB ポートから取り外し再度接続します。
もしくは以下の手順でコンソールケーブルを再認識させます。
- USB ポート名からデバイス番号を確認します。
以下の 赤文字 の部分が番号になります。
guest@ubuntu:∼$ sudo udevadm info --query=path --name=/dev/ttyUSB0
/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0/ttyUSB0/tty/ttyUSB0
- デバイス番号を指定して該当のデバイスを切断します。
guest@ubuntu:∼$ sudo echo -n "1-1.3.1" | sudo tee /sys/bus/usb/drivers/usb/unbind
1-1.3.1
- デバイスが切断されたことを確認します。
guest@ubuntu:∼$ sudo udevadm info --query=path --name=/dev/ttyUSB0
Unknown device "/dev/ttyUSB0": No such file or directory0
- デバイスを再度認識させます。
guest@ubuntu:∼$ sudo echo -n "1-1.3.1" | sudo tee /sys/bus/usb/drivers/usb/bind
1-1.3.1
- 管理者権限を再度追加することで、cu コマンドにシリアル通信による接続ができるようになります。
guest@ubuntu:∼$ sudo chmod 666 /dev/ttyUSB0
guest@ubuntu:∼$ cu --speed 9600 --parity=none --line /dev/ttyUSB0
Connected.
Router1>
これで Ubuntu から Cisco 1812J に接続できるようになりました。
ここから、AWS と VPN 接続をしていくために、このパソコンで 1812J の設定をしていきます。
まだまだ、インターネットにも出れていないので先は長そうですが、ひとまず、ここまでとします。
どなたかの参考となれば幸いです。