Install Ansible on MacOS
——————————
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ python get-pip.py --user
$ python -m pip install --user ansible $ python -m pip install --user paramiko
--- python 2.7 --- $ sudo python get-pip.py $ sudo python -m pip install ansible
--- python 3.x --- $ sudo python3 get-pip.py $ sudo python3 -m pip install ansible
Installing Ansible on Ubuntu
———————————
$ sudo apt update $ sudo apt install software-properties-common $ sudo add-apt-repository --yes --update ppa:ansible/ansible $ sudo apt install ansible $ sudo apt-get install sshpass
Installing Ansible on CentOS
———————————
$ sudo yum install epel-release $ sudo yum install ansible
Configuration
—————-
$ vi ~/.ansible/hosts
[mikrotik] R21 ansible_host=192.168.21.21 [mikrotik:vars] ansible_user = agink ansible_password = isikanPasswordAnda ansible_port = 2121 ansible_connection = network_cli ansible_network_os = routeros
$ vi ~/.ansible.cfg
[defaults] inventory = $HOME/.ansible/hosts remote_tmp = $HOME/.ansible/tmp/ansible-${USER}/tmp local_tmp = $HOME/.ansible/tmp/ansible-${USER}/tmp host_key_checking = False timeout = 15 log_path = $HOME/.ansible/ansible.log
Testing
———
$ ansible mikrotik -m ping
R21 | SUCCESS => { "changed": false, "ping": "pong" }
Ansible Playbook
——————–
$ vi mikrotik.yml
--- - name: AGINK - MikroTik Automation hosts: mikrotik vars: tasks: - name: Disable Service Jarang Terpakai routeros_command: commands: /ip service disable {{item}} with_items: - api - api-ssl - ftp - telnet - www - www-ssl
$ ansible-playbook mikrotik.yml --syntax-check
playbook: mikrotik.yml
$ ansible-playbook mikrotik.yml
PLAY [AGINK - MikroTik Automation] ************************************************************************************************************ TASK [Gathering Facts] ************************************************************************************************************************ ok: [R21] TASK [Disable Service Jarang Terpakai] ******************************************************************************************************** ok: [R21] => (item=api) ok: [R21] => (item=api-ssl) ok: [R21] => (item=ftp) ok: [R21] => (item=telnet) ok: [R21] => (item=www) ok: [R21] => (item=www-ssl) PLAY RECAP ************************************************************************************************************************************ R21 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0