diff --git a/README.md b/README.md index 44bed5b..0f6a79c 100644 --- a/README.md +++ b/README.md @@ -25,11 +25,12 @@ * Δημιουργούμε ένα σμήνος x κόμβων, δηλώνοντας τον αριθμό αυτό στο size. -**sudo ../swarmlab-sec/install/usr/share/swarmlab.io/sec/swarmlab-sec up size=5** + + **sudo ../swarmlab-sec/install/usr/share/swarmlab.io/sec/swarmlab-sec up size=5** * Συνδεόμαστε στον master του σμήνους μας. -**sudo ../swarmlab-sec/install/usr/share/swarmlab.io/sec/swarmlab-sec login** + **sudo ../swarmlab-sec/install/usr/share/swarmlab.io/sec/swarmlab-sec login**   ____________________________________________________________________________________ Για τις ανάγκες της εργασίας, εγκαθιστούμε την Ansible με το script **installAnsible.sh** που περιέχει τις εξής εντολές: @@ -37,18 +38,18 @@ ________________________________________________________________________________ * Ελέγχουμε για updates και εγκαθιστούμε την ansible -**apt update ; apt install ansible -y** + **apt update ; apt install ansible -y** * Περνάμε την εντολή στο ansible.cfg -**sed -i '13i host_key_checking = False' /etc/ansible/ansible.cfg v** + **sed -i '13i host_key_checking = False' /etc/ansible/ansible.cfg v** * Eγκαθιστούμε το sshpass -**apt-get install sshpass** + **apt-get install sshpass** To script τρέχει με τις εντολές -**sudo su (Password:docker)** και **./installAnsible.sh** + **sudo su (Password:docker)** και **./installAnsible.sh** _______________________________________________________________________________________ Με την εντολή login όπως αναφέρθηκε και πιο πάνω, συνδεόμαστε με τον master. @@ -59,18 +60,28 @@ ________________________________________________________________________________ Μεταξύ άλλων, αυτό επιλύεται στο script **run.sh** : * Το αρχείο inventory.yml, περιέχει τις ip διευθύνσεις του σμήνους. Επομένως, το ανοίγουμε για να τις καταγράψουμε. -**echo "[service]" > inventory.yml ** + **echo "[service]" > inventory.yml ** + +* Κάνουμε ifconfig και μέσω παραμέτρων εμφωλεύουμε στην μεταβλητή my_ip την ip του κόμβου στον οποίο βρισκόμαστε. + + **my_ip=$(ifconfig eth0 | grep 'inet' | cut -d: -f2 | awk '{print $2}')** + +* Στη μεταβλητή my_ip1 περνάμε τροποποιημένο το περιεχόμενο της my_ip, αφού έχουμε αλλάξει το τελευταίο ψηφίο της διεύθυνσης σε * . + + **my_ip1=$(echo $my_ip | sed 's/.[0-9]$/.*/')** +* Τώρα που έχουμε την ip στην επιθυμητή μορφή, μπορούμε να κάνουμε nmap με την εντολή my_ip1 και να λάβουμε όλες τις ip του σμήνους -**my_ip=$(ifconfig eth0 | grep 'inet' | cut -d: -f2 | awk '{print $2}')** + **nmap -sP -oG - $my_ip1 | grep Up | cut -d ' ' -f2 | tail -n +2 >> ** -**my_ip1=$(echo $my_ip | sed 's/.[0-9]$/.*/')** +* Με αυτό το script, ενημερωνομαστε για τις ip, άρα μπορούμε να συνδεθούμε σε όποιο κόμβο θέλουμε. -**nmap -sP -oG - $my_ip1 | grep Up | cut -d ' ' -f2 | tail -n +2 >> ** +Εκτελούνται όμως και άλλες διεργασίες. (a) Tο αποτέλεσμα του nmap, καταγράφεται στο inventory. + **inventory.yml** -**inventory.yml** +(b) Εκτελούμε το αρχείο test.yml - Όλες οι ip που αναφέρονται στο inventory (ip του σμήνους) εκτελούν τις εντολές του test.yml (το οποίο περιέχει μέσα δοκιμαστικές εντολές). -**ansible-playbook -u docker -i inventory.yml test.yml -f 5 --ask-pass --ask-become-pass** + **ansible-playbook -u docker -i inventory.yml test.yml -f 5 --ask-pass --ask-become-pass**