Quickstart

Fortistacks is a collection of examples, scripts and documentation to use Fortinet products in Clouds/fully automated environments.

Initial focus is on OpenStack, more to come.

THis doc is for those who wants direct hands on, follow me instruction. More explanation in the Fortistacks section.

Pre requisite

  • Openstack and API access to openstack. You are supposed to have the .rc file corresponding to your environement.

    • We extensively use private OpenStack, Citycloud (public) and OVH

    • Previous Fortistacks came with an all in one openstack installation. We recommend OSA if you prefer that.

  • Docker installed on your host or a jumphost

  • git cli
  • an ssh key generated in you home environement (can be done later in Docker)

Docker on your host

Start

To correctly get the referenced submodules please use the --recursive option of git clone like this:

git clone https://github.com/fortinet-solutions-cse/fortistacks.git --recursive

Copy your .rc file with the openstack credentials in fortistacks folder. Add the following line:

export OS_FLAVOR=1C-1GB
export EXT_NET=ext-net

Adapt to your environment those variables are for a Citycloud deployment. If not set the values will be "m1.small" and "ext_net" We recommend to had them to your .rc file.

From fortistacks folder:

cd fortistacks
docker run -v $PWD:/fortistacks/ -v $HOME/.ssh:/home/ubuntu/.ssh/ --rm -i  --name fortistacks-cli  -h fortistacks-cli -t fortinetsolutioncse/fortistacks-cli

source you .rc file

. myopenstackcreds.rc
openstack image list

The list command must return the list of available image. If this is the case your fortistacks cli is ready. If not review/debug all the previous points.

create the default openstack objects.

cd openstack/
 ./configure-openstack

This will create the mgmt network, upload default ssh key and configure security group. The examples in this project relies on this to be available.

Updating

To get the latest enhancements:

git pull --recurse-submodule
docker pull fortinetsolutioncse/fortistacks-cli

Jumphost

Start

You must have an Ubuntu 18.04 minimum jumphost that will connect between your access to the mgmt network.

Can do manually or check: ovh-jumphost.sh as an automated example.

Once created

To correctly get the referenced submodules please use the --recursive option of git clone like this:

git clone https://github.com/fortinet-solutions-cse/fortistacks.git --recursive

Then install the right setup/packages

cd fortistacks
./fortistacks install

It will create a local ssh key pair.

You have 2 more options to fortistacks script: sudoers to setup sudo without password for the user (default on cloud-images) desktop to setup a full ubuntu desktop environement and VNC accessible screen sharing (working with Mac/Windows client)

Copy your .rc file with the openstack credentials in fortistacks folder. Add the following line:

export OS_FLAVOR=1C-1GB
export EXT_NET=ext-net

Adapt to your environment those variables are for a Citycloud deployment. If not set the values will be "m1.small" and "ext_net" We recommend to had them to your .rc file.

source you .rc file

. myopenstackcreds.rc
openstack image list

The list command must return the list of available image. If this is the case your fortistacks cli is ready. If not review/debug all the previous points.

create the default openstack objects.

cd openstack/
 ./configure-openstack

This will create the mgmt network, upload default ssh key and configure security group. The examples in this project relies on this to be available.

Updating

To get the latest enhancements:

git pull --recurse-submodule

What now ?

You have setup the basic interaction with your Openstack, you can now experiment with Fortigate product and automation (MANO) environment. The different working demos are in self explanatory directory. The examples are build to be easily adaptable to your environment (fortistacks-cli in docker is an helper not mandatory)