Consoleserver
Integrating a Telnet-based console server
As of late May 2012, capture can be configured to talk to a network attached console server via telnet. We have only tested it with a Linux Networx Icebox, but presumably, it should work for any telnet-based box.
Capture is not configured for telnet support by default, so you will need to modify capture/GNUmakefile.in and enable it:
WITH_TELNET = 1
Next, copy install/ports/libtelnet to /usr/ports/misc/libtelnet and do "make install" from there. It is best to use this port rather than the raw software distribution as a patch is needed to get the software to build on FreeBSD. This patch is applied by the port.
Now you should be able to build and install capture:
cd <emulab-builddir>/capture gmake tipserv-install
As with serial MUX ports, you will run one capture instance per remote console line. In your script where you run capture, you should have lines of the form:
/usr/testbed/sbin/capture -T 15 -r -s 115200 <nodename> <device> >/dev/null 2>&1 &
With serial MUXes, <device> is a special file like "/dev/cuaR1". For a remote console box, you add the "-m" flag and <device> will instead look like "<host>:<port>,<proto>", where <proto> right now will be "telnet" (you can also specify "raw" if the remote device just presents a TCP connection).
Thus to run capture on "pc1" which is attached to the first port on an Icebox called "icebox1", you would have:
/usr/testbed/sbin/capture -m -T 15 -r -s 115200 pc1 icebox1:2001,telnet >/dev/null 2>&1 &
That is it!