使用“screen”命令直接串列連接到路由器
問題:
我正在嘗試通過串列埠與路由器(在本例中為 MikroTik)建立直接串列連接。我嘗試了在Google搜尋的眾多連結中找到的格式:
sudo screen /dev/serialDevice baudRate
但是,這種形式的命令永遠不會成功。
當這些文章指示進入登錄提示時,我在命令後多次點擊“返回”,但無論我按多少次“Enter”,都不會顯示登錄提示。
簡短的回答:
我使用的命令形式
screen
是:sudo screen /dev/(serialDevice) (baudRate) (TransmissionRate) (flowControl)
對於我的 MikroTik RB4011 路由器,我的成功
screen
命令如下所示:sudo screen /dev/ttyUSB0 115200 cs8 ixoff
cs8
路由器的比特率和ixoff
“無流量控制”在哪裡。路由器的串列連接詳細資訊(包括 115200 波特率)來自製造商使用者指南 PDF。Linux 中串列電纜的設備名稱源自
udevadm monitor
我將電纜插入 Linux 主機時的輸出。長答案:
雖然這個例子使用了 MikroTik 路由器,但它應該可以適應其他提供串列埠訪問的網路設備,只需稍作修改。
範例中使用的串列控制台電纜可在亞馬遜上找到,經證明可與 Linux 和 MikroTik 一起使用,無需任何特殊驅動程序。
第一步:獲取設備的串口參數。
僅在您的筆記型電腦和路由器之間連接一條串列電纜是不夠的:您的筆記型電腦需要使用與其相同的設置與路由器通信。
在串列設備隨附的使用者指南中,製造商將發布串列連接參數。MikroTik 告訴我,對於此範例中的 RB4011:
“RJ45控制台埠,用於串列控制台訪問,預設設置為115200 bit/s,8個數據位,1個停止位,無奇偶校驗”
此資訊將提供給第 3 步
screen
中的命令。第 2 步:在 Linux 中找到串列電纜的邏輯端
使用串列電纜在路由器和筆記型電腦之間建立物理連接後,我們必須找到電纜的邏輯
screen
端,因為 Linux 認為它作為目標提供給命令。在將串列電纜插入 Linux 主機的 USB 埠之前執行以下命令:
udevadm monitor
實時回饋(為便於閱讀而在下方截斷)將滾動到您的螢幕上:
KERNEL[19223.032240] add /devices/(SNIP)/1-1.3 (usb) KERNEL[19223.037774] add /devices/(SNIP)/1-1.3:1.0 (usb) KERNEL[19223.037937] add /devices/(SNIP)1-1.3:1.0/ttyUSB0 (usb-serial) KERNEL[19223.041748] add /devices/(SNIP)/1-1.3:1.0/ttyUSB0/tty/ttyUSB0 (tty) UDEV [19223.063696] add /devices/(SNIP)/1-1.3 (usb) UDEV [19223.072384] add /devices/(SNIP)/1-1.3:1.0 (usb) UDEV [19223.078189] add /devices/(SNIP)/1-1.3:1.0/ttyUSB0 (usb-serial) UDEV [19223.101385] add /devices/(SNIP/1-1.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
退出命令
ctrl c
Linux 將我們的串列電纜視為:“ ttyUSB0 ”。我們將其作為第 3 步
screen
中的目標提供。第三步:執行
screen
命令現在我們已經確定了我們的串列設備旅館步驟 1的連接參數並在****步驟 2中辨識了串列電纜的邏輯設備,我們擁有了形成和執行
screen
命令以(最終)連接到路由器。命令的形式為:
sudo screen /dev/(來自 udevadm 的設備名稱)(baudRate)(TransmissionRate)(flowControl)
使用製造商的串列連接設置,我們將指定“8 位”
cs8
,因為 MikroTik 不使用流控制,我們將其設置為ixoff
. 我們的命令現在如下所示:sudo screen /dev/ttyUSB0 115200 cs8 ixoff
請注意,上述命令已知可與 MikroTik RB4011 一起使用,但您可能需要針對您的特定設備對其進行調整。
man screen
查看我範例中的替代設置。代替 using
screen
,您可以使用minicom -s
,但我覺得screen
更直接,因為您可以只附加連接參數而無需通過單獨的設置菜單。