Packer scripts for building cloud-automatation-friendly vSRX (aka Firefly Perimeter) images
Please see the Packer documentation if you plan on building these images yourself!
- Grab the latest packer 0.7.5 or newer.
- Clone this repo, e.g.
git clone https://github.com/JNPRAutomate/firefly-packer
- Procure Firefly images, and place in
images/firefly/download
in thefirefly-packer
git directory - Run the
image-prep.sh
script to prepare the images. - Modify the templates for your environment, if desired
packer validate <templatename>
will validate the JSON templates provided. If any of the source VMs, files, scripts, or automation inputs are missing,validate
will tell you which ones (in addition to JSON syntax)packer build <templatename>
will build the VMs for VMware and VirtualBox. You need both installed, or you need to specify-only virtualbox-ovf
or-only vmware-vmx
- The finished VM boxes will be placed in
builds/<provider>
PROTIP:
Or... you can make use of the VMs at Atlas
These vSRX boxes are experimental, but should work fine for all of your lab and testing needs. They also serve as a preview of how OpenStack or VMware vSphere deployment tools could work (same Vagrant commands).
Since these boxes are designed to use NAT networks with port forwarding for access, their administrative plane will not be exposed, unless you choose to expose it. It is recommended that you change these defaults in exposed lab environments, or build your own VMs using the firefly-packer project and packer.
root
password is set toJuniper
vagrant
account uses the Vagrant project's insecure public key, but will automatically change this to a unique key for your install. You can also specify your own key, but since the key is auto-generated, we recommend using that- a single interface is enabled, which maps to the default VMware or VirtualBox NAT network
- this interface is a member of the
functional-zone management
, withhost-inbound-traffic system services all
andhost-inbound-traffic protocols all
for ge-0/0/0.0
vagrant plugin add vagrant-junos
will install a guest plugin for Junosvagrant plugin add vagrant-host-shell
is a requirement for the- The most common issues are centered around host and hypervisor issues:
- disable or limit host firewall function to accommodate virtual networks and port forwarding
- disconnect from VPNs, and have a good understanding of split tunneling and host routing, and how it affects VMs in your environment
VBoxManage list vms
will show running VMs and orphans. If you're using VirtualBox, it's recommended that you understand as much as possible about VBoxManage, since it will allow for further image + network configuration- If you're using VMware,
vmrun list
will list all running VMs, and it's recommended that you understand whatvmrun
commands are at your disposal
##Additional Documentation
##Issues
Please open any issues on the firefly-packer github issue tracker. Please make sure you've checked out the common issues before opening a ticket.
##TODO Look into performance tuning options
Setting kern.hz in /boot/loader.conf. Currently set to 200, reducing latency it should be set to 1000. https://www.freebsd.org/doc/handbook/virtualization-guest.html
On VTY to Flowd: set i386 ft_sleep disable