
背景
我们公司通过使用 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 端口
使用以下命令确认 USB 端口。例如,显示为 Serial Device 的 ttyUSB0 即为对应的端口。
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/en/us/td/docs/routers/access/1800/1811/hardware/quick/guide/1811qsg.html
- 9600 baud
- 8 data bits
- No parity bits
- 1 stop bit
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。
接下来,我们将使用这台电脑对 1812J 进行配置,以便与 AWS 建立 VPN 连接。
目前,这台设备尚未能够访问互联网,看起来还有很长的路要走,但这就是目前的进展。
希望这篇文章对某些人有所帮助。