Cara Melakukan Penapisan Packet, Terjemahan Alamat Rangkaian dan Tetapkan Parameter Runtime Kernel - Bahagian 2

Cara Melakukan Penapisan Packet, Terjemahan Alamat Rangkaian dan Tetapkan Parameter Runtime Kernel - Bahagian 2

Seperti yang dijanjikan dalam Bahagian 1 ("Routing Rangkaian Statik Persediaan"), dalam artikel ini (Bahagian 2 dari RHCE siri) kita akan bermula dengan memperkenalkan prinsip penapisan paket dan terjemahan alamat rangkaian (NAT) di Red Hat Enterprise Linux 7, Sebelum menyelam ke dalam menetapkan parameter kernel runtime untuk mengubah suai tingkah laku kernel berjalan jika keadaan tertentu berubah atau keperluan timbul.

RHCE: Penapisan Pakej Rangkaian - Bahagian 2

Penapisan paket rangkaian di RHEL 7

Apabila kita bercakap mengenai penapisan paket, kita merujuk kepada proses yang dilakukan oleh firewall di mana ia membaca tajuk setiap paket data yang cuba melaluinya. Kemudian, ia menapis paket dengan mengambil tindakan yang diperlukan berdasarkan peraturan yang telah ditakrifkan sebelumnya oleh pentadbir sistem.

Seperti yang anda tahu, bermula dengan RHEL 7, Perkhidmatan lalai yang menguruskan peraturan firewall adalah firewalld. Seperti iptables, ia bercakap dengan modul Netfilter dalam kernel Linux untuk memeriksa dan memanipulasi paket rangkaian. Tidak seperti iptables, kemas kini boleh berkuatkuasa dengan segera tanpa mengganggu sambungan aktif - anda tidak perlu memulakan semula perkhidmatan tersebut.

Satu lagi kelebihan Firewalld adalah bahawa ia membolehkan kita menentukan peraturan berdasarkan nama perkhidmatan pra-konfigurasi (lebih banyak lagi dalam satu minit).

Dalam Bahagian 1, Kami menggunakan senario berikut:

Rajah Rangkaian Routing Statik

Walau bagaimanapun, anda akan ingat bahawa kami melumpuhkan firewall Router #2 Untuk memudahkan contoh kerana kami belum menutupi penapisan paket. Mari kita lihat sekarang bagaimana kita dapat mengaktifkan paket masuk yang ditakdirkan untuk perkhidmatan atau pelabuhan tertentu di destinasi.

Pertama, mari kita tambahkan peraturan tetap untuk membenarkan lalu lintas masuk ENP0S3 (192.168.0.19) hingga ENP0S8 (10.0.0.18):

# firewall -cmd --permanent --Direct --add -rule IPv4 Filter Forward 0 -I ENP0S3 -O ENP0S8 -J Terima 

Perintah di atas akan menyelamatkan peraturan untuk /etc/firewalld/langsung.XML:

# kucing/etc/firewalld/langsung.XML 
Periksa peraturan yang disimpan oleh Firewalld

Kemudian aktifkan peraturan untuk melaksanakannya dengan segera:

# firewall -cmd --Direct --add -rule IPv4 penapis ke hadapan 0 -I ENP0S3 -O ENP0S8 -J Terima 

Sekarang anda boleh telnet ke pelayan web dari RHEL 7 kotak dan jalankan TCPDump sekali lagi untuk memantau lalu lintas TCP antara kedua -dua mesin, kali ini dengan firewall di Router #2 didayakan.

# Telnet 10.0.0.20 80 # tcpdump -qnnvvv -i enp0s3 host 10.0.0.20 

Bagaimana jika anda hanya mahu membenarkan sambungan masuk ke pelayan web (port 80) dari 192.168.0.18 dan menyekat sambungan dari sumber lain di 192.168.0.0/24 rangkaian?

Di firewall pelayan web, tambahkan peraturan berikut:

# firewall-cmd-family-rule-rich-rule 'family = "ipv4" source alamat = "192.168.0.18/24 "Nama Perkhidmatan =" Http "menerima ' # Firewall-Cmd --Add-Rich-Rule' Rule Family =" IPv4 "Sumber Alamat =" 192.168.0.18/24 "Nama Perkhidmatan =" Http "Terima '--ParManent # Firewall-Cmd --Add-Rich-Rule' Rule Family =" IPv4 "Sumber Alamat =" 192.168.0.0/24 "Nama Perkhidmatan =" http "drop ' # firewall-cmd --add-rich-rule' family family =" ipv4 "source alamat =" 192.168.0.0/24 "Nama Perkhidmatan =" Http "Drop '--ParManent 

Sekarang anda boleh membuat permintaan HTTP ke pelayan web, dari 192.168.0.18 dan dari mesin lain di 192.168.0.0/24. Dalam kes pertama, sambungan harus dilengkapkan dengan jayanya, sedangkan pada saat kedua akhirnya akan tamat waktu.

Untuk berbuat demikian, mana -mana arahan berikut akan melakukan silap mata:

# Telnet 10.0.0.20 80 # wget 10.0.0.20 

Saya sangat menasihatkan anda untuk menyemak dokumentasi bahasa kaya firewalld di wiki projek fedora untuk maklumat lanjut mengenai peraturan yang kaya.

Terjemahan Alamat Rangkaian di RHEL 7

Terjemahan alamat rangkaian (Nat) adalah proses di mana sekumpulan komputer (ia juga boleh menjadi salah satu daripada mereka) dalam rangkaian peribadi diberikan alamat IP awam yang unik. Hasilnya, mereka masih dikenal pasti secara unik oleh alamat IP peribadi mereka sendiri di dalam rangkaian tetapi ke luar mereka semua "kelihatan" sama.

Halaman: 1 2