Implementation of Network Automation Using Ansible to Con(cid:28)gure Routing Protocol in Cisco and Mikrotik Router with Raspberry PI

Network Engineering is never separated with con(cid:28)guration which is the main task must be com-mitted in the purpose to put it into function. As we know, to con(cid:28)gure some devices either server, switch, or router have some methods if we ob-serve by how we communicate to the system. We can use the console port to communicate, using telnet to communicate remotely, or even using SSH if we want to communicate remotely and also securely with all of the information is encrypted. Generally, the conventional method such as the methods has just explained before is always be used. The problem has not come yet since there are just 2 until 5 devices, but it will be exhausting when we log in to each network device. This paper is illustrating a new method in con(cid:28)guring network devices by using automation, reducing time for equipment con(cid:28)guration and easier to maintenance. It reduces human error in con(cid:28)guration syntaxes and how the way the device is con(cid:28)gured. The innovation is going to make it happen. There are tools to do these tasks such as : Ansible and Terraform. In this paper, Ansible is chosen because of its simplicity.

ning program in a control node. With this new method, a network engineer's task is eased in conguring many network devices just with a program which runs on control node. It helps many tasks to be done, it will not waste our time, and it reduces human errors because all of the congurations will be written and run in a script. Every tasks and functions are performed automatically. It will simplify the network congurations into a le. The le which is used will accomplish repeatable tasks and orchestrate the process sequentially.
Automating network is a more ecient method than traditional method to support the rapid growth of network trac generated by social media, video, and another data. Net-work automation has become more available to many businesses. There are many implementations of network automation which can be applied to virtualized environments, data centres, public and private clouds.
Many methods to do this kind of automation such as, utilizing network programmability which uses some libraries that exist in python programming language such as, Netmiko and Paramiko.
There are also some tools to do this such as, Ansible, Terraform, SaltStack, Chef, Puppet, and Napalm.

Method
Before automation joining into network engineering, we have to congure one by one devices either routers or switches. It is a wasting time if we want to congure some network devices with some similarities to other devices. Therefore, we need some methods to do it repetitively with-out missing any congurations as well. Here is Fig.1 that depicts how we congure network devices manually.
Based on the picture, it tells us that we have to do it manually step by step just for one device, it will be an annoying task if we face more than 10 devices to be congured. With automation we can congure many devices concurrently just within seconds. Repetitive is power of eciency in this case, it will not replace device's conguration that has been con-gured earlier except there are some changes on that congurations itself.
Since the Fourth Industrial Revolution has come, it has changed many aspects in technology into eciency and close on more simplicity approach. Network automation is one of the developments in this circumstance. Here is a owchart for network automation in general: Fig. 2 is a owchart how network automation works generally. As we can see that network automation is completely simpler than the conventional method. We just need to write the conguration of the devices in it then connect it via SSH, hence it can deploy conguration concurrently into devices just with a single click. Ansible is a provisioning tool, conguration management, and also an application deployment which is developed by RedHat. A System Administrator or even Network Engineer are able to automate and write the deployment or even conguration that is usually repetitively to some devices such as server or router. Certainly, as a person who has responsibility in network infrastructure management, either the installation of a service, conguration or keep the system running well.

YAML File
Network automation eases network engineer to make it simple as it just executes a single le to deploy many con-gurations that is written in certain format such as YAML. YAML is a le that is written in human-readable format with indentation as an alternate of curly bracket which normally exists in common programming language. It seems like python's rule but there is a dierence between them. That is the indentation in YAML le does not support tabulation to be used except spaces. It will be easier to read even a beginner can read it. YAML le has some rules that we do obediently, thereare: 1. Spaces are used to tag the writing structure 2. Tabulation is prohibited as permitted as The benet of using ansible as an automation tool in infrastructure is explained below:

Simple
Ansible uses simple syntax to be written in YAML for-mat which is called as playbook.

Agentless
Software as an agent is not necessary to be installed on the host target.

Powerful & Flexible
Ansible has many modules to manage network infrastructure and its service in operating system.

Ecient
It does not need any space in hard drive of host because ansible is agentless.

Terminology of Ansible
In ansible there are some terminologies which is important to understand because it will make ansible easier to use. Here are some terminologies with its explanation:

Controller Node
Node or also called as machine where ansible is installed and responsible to do provisioning on the managed infrastructure.

Inventory
Initialization le which contains information about de-vices on the managed infrastructure.

Playbook
The entrance node for ansible to do provisioning where automation is dened through tasks that is written in YAML format.

Module
Abstraction of the entire system, such as something related with package or in making and modifying le. Ansible has many built-in modules or some modules which has installed when the installation.

Role
This is how playbook is managed and another le to facilitate any other usage and use it back from provisioning step.

Play
Provisioning that is executed early until the end is called as play. In other word, the execution of playbook is called as play.

Facts
The global variable which contains information about system, such as the installed interfaces or system operation.

Handlers
Handlers is used to trigger some changes status from the service, such as restarting or stopping the service.

Updating Repository
Update repository using the command below: sudo apt update -y Wait until the repository is nished to fetch ansible from ubuntu repository.

Installing Ansible
Install ansible using the command below: sudo apt install ansible -y This is the nal step to install ansible and it will take less than 10 minutes to be installed successfully. It is necessary to download and manage certicate revocation. As what has just told before, the latest version Designing Topology      Daftar Pustaka