Network appliances

From VyOS Wiki
Jump to: navigation, search

This page is for sharing info about hardware appliances and build a Hardware Compatibility List.

I had hard time finding hardware to build a VYOS network appliance so I started this page. Please add your own hardware reference.

Hardware Compatibility List

Appliance Form factor CPU Ethernet Wifi Expansion VGA VyOS Version Status Install out of the box? Install date Details
Acrosser AND-J190N1 MiniBox Celeron J1900 6xIntel GB Option 2xMiniPCIe Internal header 1.1.7 OK No/easy 11/20/2016 Details
Protectli FW10408 5.2 x 4.9 x 1.5 inches Celeron J1900 4xIntel Option Yes 1.1.9.1 OK May 15, 2017 Details
PC Engines APU2C4 6 x 6 inches (152.4 x 152.4 mm) AMD GX-412TC 3 x Intel i210AT GB Option 2 x miniPCIe No 1.1.7 OK No 06/23/2017 Details

Acrosser AND-J190N1

11/22/2016. This microbox network appliance was build to create OpenVPN bridges. It can saturate a 100Mbps link.

It is a small (serial console only) PC with 6 Gb LAN http://www.acrosser.com/upload/AND-J190_J180N1-2.pdf

You may have to add your own RAM and HDD/SSD. There is no VGA connector. But Acrosser provides a DB25 adapter for the VGA header on the motherboard (not used).

BIOS settings

First thing you want to do is getting a more user friendly console to configure BIOS. Default VT100 brings a lot of issues. Configure VT100+ instead.

For practical issues change speed from 115200 to 9600. 9600 is the default speed at which both linux kernel and VyOS will reconfigure the serial port when loading.

Connect to serial (115200bps). Power on the appliance and press Del in the console when requested to enter BIOS settings.

Advanced > Serial Port Console Redirection > Console Redirection Settings:

  • Terminal Type : VT100+
  • Bits per second : 9600

Then save, reboot and change serial speed to 9600 on your client.


Some options have to be changed for VyOS to boot correctly. With XHCI enabled the installer can’t access the USB key. Enable EHCI instead.

Reboot inside the BIOS,

Chipset > South Bridge > USB Configuration:

  • Disable XHCI
  • Enable USB 2.0 (EHCI) Support

Install VyOS

Create a VyOS bootable USB key. I Used the 64bits iso (VyOS 1.1.7) and live usb installer (http://www.linuxliveusb.com/)

I'm not sure if it helps the process but I changed default option to live-serial (line “default xxxx”) on the USB key under syslinux/syslinux.cfg.

I connected the key to one black USB port on the back and powered on. The first VyOS screen has some readability issues. Press enter to continue.

Then VyOS should boot and you can perform the "install image"

Protectli

May 15, 2017. I purchased the "Protectli Firewall micro appliance with 4x Gigabit Intel LAN Ports with 4GB RAM / 8GB mSATA" as a turnkey pfSense firewall appliance. After playing with pfSense some, I replaced pfSense with Vyos 1.9.1.1. It was a completely straightforward install. I prepared a Vyos live boot USB image, plugged it into one of the two USB ports on the device, plugged a USB keyboard into the other and a VGA monitor to the VGA connector, and booted right up into Vyos.

PC Engines APU2C4

For more detail about hardware spec, check here.

Installation

Before being able to install on apu2, you need to modify the official iso image because VyOS by default use 9600 baud rate for serial console, but apu2 bios is fixed to 115200. Without modification, you can not see booting messages. The following is steps on how to modify iso image.

  • Download & mount iso image to a folder
$ mount -o loop vyos-1.1.7-amd64.iso /tmp/iso
  • Copy all contents to another folder for modification
$ cp -a /tmp/iso/* /tmp/iso2
  • Modify isolinux/isolinux.cfg to the following
serial 0 115200                                                                                              
console 0
timeout 50
display boot.txt
prompt 1
...
label live
       linux /live/vmlinuz
       append console=ttyS0,115200n8 console=tty0 quiet initrd=/live/initrd.img boot=live nopersistent noautologin nonetworking nouser hostname=vyos

label live-console
       linux /live/vmlinuz
       append quiet initrd=/live/initrd.img boot=live nopersistent noautologin nonetworking nouser hostname=vyos

label live-serial
       linux /live/vmlinuz
       append console=ttyS0,115200n8 quiet initrd=/live/initrd.img boot=live nopersistent noautologin nonetworking nouser hostname=vyos

label live-debug
       linux /live/vmlinuz
       append console=ttyS0,115200n8 console=tty0 debug verbose initrd=/live/initrd.img boot=live nopersistent noautologin nonetworking nouser hostname=vyos

Note the console needs to be set to 0 since apu2 bios seems to forward console messages to serial console, which will mess up the screen.

  • Mount the root filesystem to another folder
$ sudo mount -o loop /tmp/iso/live/filesystem.squashfs /tmp/root
  • Copy all files & folders under /tmp/root to another folder for modification
$ sudo cp -a /tmp/root/* /tmp/root2
  • Modify /tmp/root2/opt/vyatta/sbin/vyatta-grub-setup and /tmp/root2/opt/vyatta/etc/config.boot.default, replace all matchings of string 9600 with 115200.
  • Regenerate filesystem image
$ sudo mksquashfs /tmp/root2 /tmp/iso2/live/filesystem.squashfs -noappend
  • Regenerate iso image
$ cd /tmp
$ sudo mkisofs -o vyos-out.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \
  -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 3 -J \
  /tmp/iso2
$ sudo isohybrid vyos-out.iso

Now you can use modified iso image to boot apu2 board.

Because I found VyOS can not detect my Transcend USB stick, I use SD card to boot the machine. I've not tried other USB sticks, maybe it's a special case.