• Skip to main content
  • Skip to footer

Packet6

San Francisco Bay Area Wi-Fi Professional Services

  • About Us
  • Blog
  • Services
  • Case Studies
  • Contact Us

Lab

Configuring Your Raspberry Pi As A Console Server

November 11, 2013 by Rowell Dionicio 5 Comments

You get very excited once you get your own physical lab of routers and switches going. You just can’t wait to start managing and configuring switchport security, spanning-tree, etc. And then you get tired of having to move the console cable from one switch to the other. And you don’t have the ability to play with your lab remotely. Ugh.

Initially, I was going to buy into some sort of console server. Either utilize an old 2500 router or look at OpenGear. But why not use an RPi which would cost less than $100! That just made me happy. And from there I could access my lab anywhere!

My tutorial is very similar and I’ve included my experience below.

What you will need:

  • Raspberry Pi
  • USB to 4 Port Serial Cable

I purchased my USB to serial cable on Amazon. Wasn’t cheap but it works.

USB to Serial

To get started, I installed Raspbian. Download the latest Raspbian image and extract the zip file. You can use win32diskimager-v0.9-binary to load the image to your SD card.

Go through the initial setup of Raspbian and be sure to enable SSH. Before accessing the RPi server remotely, I had to configure the Ethernet interface:

sudo nano /etc/network/interfaces

This is my following static configuration:

iface eth0 inet static
address 10.1.10.250
gateway 10.1.10.1
netmask 255.255.255.0
network 10.1.10.0
broadcast 10.1.10.255

Save that sucker and reboot for good measure

sudo reboot

I’d like to change the hostname from raspberrypi to CONSOLE:

sudo nano /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 CONSOLE

Then modify the hostname file:

sudo nano /etc/hostname
CONSOLE

Now moving on to the actual console portion of this project. We’ll use Ser2net which allows you access the serial ports via telnetting into the RPi.

wget http://downloads.sourceforge.net/project/ser2net/ser2net/ser2net-2.9.1.tar.gz
 tar -xzvf ser2net-2.9.1.tar.gz
 cd ser2net-2.9.1/
 ./configure
 make
 sudo make install
 make clean

Now lets find out where our USB to Serial is connected:

pi@CONSOLE ~ $ dmesg | grep tty
 [ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xe bcm2708.serial=0x43e1602e smsc95xx.macaddr=B8:27:EB:E1:60:2E sdhci-bcm2708.emmc_clock_freq=100000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
 [ 0.000000] console [tty1] enabled
 [ 0.585230] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83) is a PL011 rev3
 [ 0.916712] console [ttyAMA0] enabled
 [ 6.574040] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0
 [ 7.049168] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB1
 [ 7.232239] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB2
 [ 7.392448] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB3

My RPi recognized all the connectors but the actual device is connected to ttyUSB0.

Let’s edit the ser2net configuration to get things going. The following is my configuration for each serial connection:

sudo nano /etc/ser2net.conf

BANNER:banner:CONSOLE LAB Terminal Server TCP port p device d serial parms srn

TRACEFILE:tr1:/var/log/ser2net/p-Y-M-D-H:i:s.U
4001:telnet:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner tr=tr1 timestamp

TRACEFILE:tr2:/var/log/ser2net/p-Y-M-D-H:i:s.U
4002:telnet:0:/dev/ttyUSB1:9600 8DATABITS NONE 1STOPBIT banner tr=tr2 timestamp

TRACEFILE:tr3:/var/log/ser2net/p-Y-M-D-H:i:s.U
4003:telnet:0:/dev/ttyUSB2:9600 8DATABITS NONE 1STOPBIT banner tr=tr3 timestamp

TRACEFILE:tr4:/var/log/ser2net/p-Y-M-D-H:i:s.U
4004:telnet:0:/dev/ttyUSB3:9600 8DATABITS NONE 1STOPBIT banner tr=tr4 timestamp

ser2net-config
Save that file and lets make sure Ser2Net starts up automatically:

sudo nano /etc/rc.local

[Read more…] about Configuring Your Raspberry Pi As A Console Server

Footer

LET’S TALK

Are you ready to improve your wireless network?

WE'RE LISTENING

© Copyright 2019 Packet6 · All Rights Reserved · Privacy Policy · Terms of Use