Di dalamnya hantar anterior Kami melihat konfigurasi IPTables berfungsi sebagai Firewall. Sekarang kita dapat melihat bagaimana membuat skrip tersebut sehingga aturan dijalankan secara otomatis ketika sistem dimulai, dan juga bagaimana kita dapat menghilangkan atau menghentikan peraturan tersebut sebentar.
Sebelum melakukan skrip dan menunjukkan kepada anda bagaimana rupanya, mari kita bincangkan sedikit mengenai NAT dan konsep apa yang ingin kita lakukan dengan peralatan ini.
NAT dan Konteks contoh.
Apabila kita bercakap tentang NAT, kita dapat membingungkannya dengan penghalaan, kerana kedua-duanya bertugas menghubungkan dua rangkaian yang berbeza antara satu sama lain. Perbezaan sebenarnya ialah perutean diterapkan untuk pergi dari satu rangkaian tempatan ke rangkaian lain dan rangkaian lain ini dapat menyambung ke penghala dan keluar ke Internet.
Manakala, ketika kita berbicara tentang NAT, kita berbicara tentang merutekan paket dari rangkaian tempatan atau swasta ke rangkaian awam atau Internet. Ia melakukan ini dengan menutupi paket dengan meletakkan IP awam yang masuk ke Internet. Artinya, kita tidak memerlukan penghala, kerana IP umum dimiliki secara langsung oleh komputer GNU / Linux.
Kami akan bekerja dengan slogan bahawa kami menggunakan Linux kami sebagai penghala / firewall untuk keluar ke Internet dari rangkaian tempatan. Tetapi di sini dua senario boleh muncul.
- Bahawa Linux kami adalah antara penghala penyedia perkhidmatan dan rangkaian tempatan.
Dalam hal ini, antara router dan Linux kita akan ada jaringan, dan antara Linux dan jaringan lokal akan ada jaringan lain yang berbeda. Ini bermaksud bahawa penghala kita tidak perlu melakukan NAT seperti itu, dengan perutean lalu lintas yang sederhana seperti yang dijelaskan dalam hantar anterior Ia akan menjadi baik.
- Bahawa Linux kita mempunyai antara muka yang disambungkan ke rangkaian tempatan dan melalui antara muka yang lain, ia menerima secara langsung IP awam yang dilayari.
Ini bermaksud bahawa Linux kita mesti melakukan NAT supaya paket dapat mencapai Internet.
Untuk tujuan makmal kecil ini, kami akan mengatakan bahawa Linux kami menerima IP awam secara langsung dan dengan demikian dapat menguji kesan NAT.
Untuk melakukan NAT maka kita menggunakan sintaks
iptables -t nat -A POSTROUTING -O eth1 -j MASQUERADE
Di mana eth1 adalah antara muka di mana kita menerima ip awam, iaitu di mana kita pergi ke Internet.
Membuat skrip iptables
Anggaplah bahawa: 172.26.0.0 adalah rangkaian tempatan kami dan 81.2.3.4 adalah IP awam yang kami gunakan untuk melayari Internet. (ia adalah ip statik). Saya mempunyai antara muka eth0 (Rangkaian tempatan)
eth1 (Rangkaian awam).
Pada dasarnya terdiri daripada membuat skrip yang boleh dipanggil dari /etc/init.d/firestop (contohnya). dan dari skrip ini kita dapat memulakan, menghentikan atau memeriksa status konfigurasi kita, seperti yang kita lakukan dengan daemon sistem apa pun.
Andaikan peraturan IPTABLES saya:
#! / bin / bash # Firewall rumah saya. # Nama fail / etc / firewall_on # Oleh Jlcmux Twitter: @Jlcmux # # Dasar dasar. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT untuk berkongsi Internet dari eth0 hingga eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4 # # Benarkan sambungan masuk yang dimulakan oleh iptables saya -SATU KEHADIRAN -m keadaan - negara DITETAPKAN, BERKAITAN -j MENERIMA # # iptables lalu lintas keluar yang dibenarkan -Sebuah hadapan -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Penjelasan:
Skrip pada dasarnya melakukan perkara berikut:
- Pertama hadkan semua navigasi, sambungan dan lalu lintas. (Dasar Firewall Asas)
- Kemudian buat NAT dengan tujuan eth1. menunjukkan bahawa kita mempunyai ip awam statik «81.2.3.4»
- Ini membuka port yang diperlukan untuk menerima paket sambungan yang dimulakan oleh saya.
- Menerima trafik HTTP, HTTPS, dan DNS keluar.
Sekiranya kita ingin menggunakan peralatan kita untuk menavigasi, kita harus mengulangi garis dan menukar FORWARD menjadi INPUT atau OUTPUT yang sesuai.
Batalkan skrip.
Sekarang kita akan membuat skrip yang mengatasi semua perkara di atas dan menjadikan komputer bersih dari semua ini. (Untuk tujuan ujian atau kami hanya mahu mematikan firewall).
#! / bin / bash # Firewall rumah saya. # Nama fail / etc / firewall_off # Oleh Jlcmux Twitter: @Jlcmux # #Menghapus Peraturan iptables -F # #Mengaplikasikan dasar lalai (semua lalu lintas diterima) iptables -P INPUT MENERIMA iptables -P OUTPUT MENERIMA iptables -P FORWARD ACCEPT
Mengautomatikkan.
Sekarang kita mesti membuat skrip di dalamnya /etc/init.d/ dan perkhidmatan bermula secara automatik dan kami dapat menguruskannya dengan cara yang lebih selesa.
#! / bin / bash # Firewall rumah saya. # Nama fail /etc/init.d/ firewall # Oleh Jlcmux Twitter: Kes @Jlcmux $ 1 bermula) / etc / firewall_on ;; berhenti) / etc / firewall_off ;; status) iptables -L ;; *) echo "Sintaks yang salah. Sah = /etc/init.d/ firewall start | stop | status ;; esac
Penjelasan:
Skrip terakhir ini kita masukkan /etc/init.d/ dengan nama firewall. Oleh itu, jika kita mahu menguruskan firewall kita boleh menggunakan perintah /etc/init.d/ firewall bermula. Dengan cara yang sama kita dapat menghentikannya atau melihat keadaannya.
Sekarang kita akan mengedit fail /etc/rc.local dan kami meletakkan seperti: /etc/init.d/ firewall bermula untuk memulakan dengan sistem.
Juga. Ini adalah bahagian kedua. Saya harap ia membawa sesuatu kepada anda semua. Di seterusnya kita melihat Proksi dan IDS.