GNU/Linux >> Belajar Linux >  >> Linux

Cara mengonfigurasi pengaturan jaringan dengan peran sistem yang memungkinkan

Ini adalah artikel kedua dalam seri menggunakan peran sistem Ansible. Pada artikel sebelumnya, saya memperkenalkan Anda pada Ansible dan peran sistem dan memberikan beberapa contoh. Peran sistem membantu Anda mengelola tugas tingkat OS seperti SELinux, mengelola pengaturan jaringan, NTP, dll. Dalam artikel itu, Anda melihat contoh di mana Anda mengubah mode SELinux menggunakan system.role-selinux peran. Dalam artikel ini, saya melihat peran jaringan secara mendetail sehingga Anda dapat mengubah koneksi jaringan mesin jarak jauh dengan satu buku pedoman.

NetworkManager mengelola pengaturan jaringan seperti mengkonfigurasi antarmuka jaringan serta koneksi. Pada dasarnya, ini adalah daemon yang memantau dan mengelola pengaturan jaringan. Ini menggunakan file di /etc/sysconfig/network-scripts untuk menyimpannya. nmcli adalah utilitas yang digunakan untuk membuat dan mengedit file koneksi dari perintah shell. Untuk membuat daftar koneksi dari mesin lokal Anda, gunakan:

$ nmcli dev status

DEVICE		TYPE		STATE			CONNECTION
eno0		ethernet	connected		eno0
eno1		ethernet	disconnected		---
virbr0		bridge		connected		virbr0

Pada output di atas, Anda dapat melihat berbagai kolom. Kolom pertama, PERANGKAT , menunjukkan antarmuka jaringan. JENIS kolom menunjukkan jenis koneksi apa ini. NEGARA kolom menunjukkan status koneksi, dan yang terakhir, CONNECTION , adalah kumpulan setelan yang dapat dikonfigurasi untuk perangkat. Setiap koneksi memiliki nama atau ID yang mengidentifikasinya.

Untuk menampilkan daftar semua koneksi, Anda dapat menggunakan:

$ nmcli con show

Menggunakan nmcli utilitas, Anda dapat menambahkan koneksi jaringan dan menetapkan alamat IPv4 atau IPv6 untuk membuat koneksi jaringan. Namun, seperti yang Anda ketahui, Anda ingin mengotomatiskan tugas manual yang biasanya Anda lakukan dengan nmcli . Anda ingin mengelola node jaringan dengan menggunakan buku pedoman Ansible.

Di Ansible, Anda memiliki tiga modul penting yang membantu Anda mengelola node:Layanan, daemon, dan pengaturan sistem. Anda juga dapat menggunakan modul ini untuk mengelola jaringan. Pada artikel sebelumnya, saya membahas peran sistem Ansible. Dalam peran sistem, Anda memiliki rhel-system-roles.network role, yang merupakan cara termudah untuk mengonfigurasi dan mengelola setelan jaringan pada node terkelola.

Mulailah dengan menggunakan sistem jaringan ini peran untuk mengonfigurasi pengaturan jaringan pada node yang dikelola.

Di sini Anda memiliki server1.example.com mesin yang dikelola. Saya sudah membuat entri dari node terkelola di file inventaris.

Catatan :Pastikan node terkelola Anda memiliki dua koneksi ethernet karena menambahkan koneksi baru. Antarmuka jaringan kedua itu harus tersedia.

Sebelum melakukan operasi apa pun, konfirmasikan bahwa layanan NetworkManager dimulai dan diaktifkan pada node terkelola Anda. Lakukan ini dengan menggunakan buku pedoman. Untuk tugas ini, gunakan modul layanan di service.yml berkas.

---
- name: playbook for starting and enabling the NetworkManager
  hosts: server1.example.com
  tasks:
  -    Name: start the service
       service:
         name: NetworkManager
         state: started
         enabled: true

Jalankan buku pedoman ini:

$ ansible-playbook service.yml

Jika playbook berhasil berjalan tanpa kesalahan, layanan dimulai dan diaktifkan pada mesin node terkelola.

Nama antarmuka sekunder adalah eno1 sehingga Anda dapat menemukan alamat MAC antarmuka ini. Karena Anda menggunakan alamat MAC ini, buku pedoman Anda akan menemukan antarmuka sekunder. Tampilkan alamat MAC eno1 menggunakan:

$ ip a

Alamat MAC server1.example.com adalah 52:54:00:fe:2f:b8 . Gunakan ini di buku pedoman.

Sekarang, setelah tugas layanan, instal system-roles pada pengontrol:

$ yum install rhel-system-roles

Perintah ini akan menginstal semua peran sistem di direktori default peran tersebut.

Sekarang tulis buku pedoman untuk menambahkan koneksi baru pada node terkelola:

---
- name: playbook for configuring second interface
  hosts: server1.example.com
  vars:
     target_mac: “52:54:00:fe:2f:b8”
     network_connection:
          -  name: static-network
             type: ethernet
             mac: “{{ target_mac }}”
             state: up
             ip :
               dhcp: no
               address:
                    -  192.168.0.5/24
  roles:
   -    rhel-system-roles.network

Ini adalah buku pedoman yang lengkap. Saya akan menjelaskan setiap parameter langkah demi langkah untuk Anda:

target_mac - Ini adalah alamat MAC dari antarmuka ethernet kedua. Ini akan membantu menemukan antarmuka yang benar pada node terkelola.

koneksi_jaringan - Variabel ini berisi informasi untuk koneksi baru:

  • nama:nama koneksi baru
  • jenis:jenis sambungan baru
  • mac:variabel target_mac
  • status:aktifkan koneksi dengan menggunakan up pilihan
  • ip:nonaktifkan opsi DHCP dan tetapkan alamat IP menggunakan parameter ini

Saya menggunakan variabel yang diperlukan untuk menjalankan peran sistem jaringan. Sekarang jalankan buku pedoman ini:

$ ansible-playbook networkconfiguration.yml

Playbook ini akan mengonfigurasi koneksi jaringan statis dengan alamat IP statis.

Untuk memeriksa pengaturan, masuk ke server1.example.com dan konfirmasikan koneksi yang baru ditambahkan:

$ nmcli connection show

NAME		UUID		TYPE		DEVICE
eno0		adc52c70-…	ethernet	eno0   
static-network	1be30687-…	ethernet	eno1   
virbr0		0a9de672-…	bridge		virbr0

Coba ping alamat IP jaringan-statis koneksi, dan jika berhasil, maka Anda berhasil menambahkan koneksi jaringan baru.

Periksa apakah koneksi baru berhasil ditambahkan atau tidak menggunakan perintah ad hoc dari mesin pengontrol:

$ ansible server1.example.com  -m shell -a 'nmcli con show'

Perintah ini akan menampilkan output yang sama seperti yang ditunjukkan pada langkah sebelumnya.

Menutup

Artikel ini menunjukkan bahwa Anda dapat mengonfigurasi koneksi jaringan menggunakan peran sistem yang memungkinkan. Playbook kecil ini mengurangi tugas manual dan mengonfigurasi koneksi jaringan dari banyak mesin sekaligus hanya dengan membuat grup host. Peran jaringan sistem ini memeriksa banyak parameter saat menjalankan playbook, mengonfirmasi bahwa NetworkManager sedang berjalan, dan menguji konektivitas di playbook itu sendiri. Ini adalah contoh yang bagus tentang bagaimana Anda dapat menggunakan peran sistem untuk mengotomatiskan konfigurasi pada sistem Anda.


Linux
  1. Cara menggunakan Ansible untuk mengatur pemantauan sistem dengan Prometheus

  2. Cara mengkonfigurasi Virtualisasi di Redhat Linux

  3. Bagaimana Mengkonfigurasi Systemd Untuk Menghidupkan Script Sederhana Dengan Standardio Dalam Layanan Jaringan?

  1. Cara Mencadangkan dan Mengembalikan Pengaturan Sistem Linux Dengan Timeshift

  2. Cara:Memulai dengan Ansible

  3. Cara mendapatkan statistik sistem dengan node.js

  1. Cara Mengonfigurasi Pengaturan Jaringan CentOS

  2. Cara menggunakan Ansible untuk mengonfigurasi Vim

  3. Konfigurasikan Pengaturan Mouse pada Sistem Debian