Pada postingan sebelumnya, kita telah melihat cara mengkonfigurasi IPTables agar berfungsi sebagai firewall. Sekarang kita dapat melihat cara membuat skrip untuk menjalankan aturan secara otomatis saat sistem dimulai, dan juga cara menghapus atau menghentikan sementara aturan tersebut.
Sebelum melakukan skrip dan menunjukkan tampilannya, mari kita bicara sedikit tentang NAT dan konsep apa yang ingin kita lakukan dengan peralatan ini.
NAT dan Context contoh.
Ketika kita berbicara tentang NAT, kita dapat mengacaukannya dengan perutean, karena keduanya bertanggung jawab untuk menghubungkan dua jaringan yang berbeda satu sama lain. Perbedaan sebenarnya adalah bahwa perutean diterapkan untuk pergi dari satu jaringan lokal ke jaringan lain dan jaringan lain ini dapat terhubung ke router dan keluar ke Internet.
Sedangkan ketika kita berbicara tentang NAT, kita berbicara tentang perutean paket dari jaringan lokal atau pribadi ke jaringan publik atau Internet. Ini dilakukan dengan menutupi paket dengan meletakkan IP publik yang digunakannya untuk masuk ke Internet. Dengan kata lain, kita tidak membutuhkan router, karena IP publik sudah langsung dimiliki oleh komputer GNU / Linux.
Kami akan mengerjakan ini dengan slogan bahwa kami menggunakan Linux kami sebagai router / firewall untuk keluar ke Internet dari jaringan lokal. Tapi di sini dua skenario bisa muncul.
- Bahwa Linux kita berada di antara router penyedia layanan dan jaringan lokal.
Dalam hal ini, akan ada satu jaringan antara router dan sistem Linux kita, dan jaringan yang berbeda antara sistem Linux dan jaringan lokal. Ini berarti router kita tidak perlu melakukan NAT; perutean lalu lintas sederhana, seperti yang dijelaskan dalam postingan sebelumnya, sudah cukup.
- Bahwa Linux kami memiliki antarmuka yang terhubung ke jaringan lokal dan melalui antarmuka lain ia menerima secara langsung IP publik yang digunakannya untuk menavigasi.
Ini berarti Linux kita harus melakukan NAT agar paket-paketnya dapat menjangkau Internet.
Untuk keperluan laboratorium kecil ini, kami akan mengatakan bahwa Linux kami menerima IP publik secara langsung dan dengan demikian dapat menguji efek NAT.
Untuk melakukan NAT kami kemudian menggunakan sintaks
iptables -t nat -A POSTROUTING -O eth1 -j MASQUERADE
Di mana eth1 adalah antarmuka tempat kami menerima IP publik, yaitu tempat kami pergi ke Internet.
Membuat skrip iptables
Misalkan: 172.26.0.0 adalah jaringan lokal kita dan 81.2.3.4 adalah IP publik yang kita gunakan untuk mengakses Internet. (ini adalah ip statis). Saya memiliki antarmuka eth0 (jaringan lokal)
eth1 (jaringan publik).
Ini pada dasarnya terdiri dari membuat skrip yang dapat dipanggil dari /etc/init.d/firestop (misalnya). dan dari skrip ini kita dapat memulai, menghentikan atau memeriksa status konfigurasi kita, seperti yang kita lakukan dengan daemon sistem manapun.
Misalkan aturan IPTABLES saya ADALAH:
#! / bin / bash # Firewall rumah saya. # Nama file / etc / firewall_on # Oleh Jlcmux Twitter: @Jlcmux # # Kebijakan dasar. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT untuk berbagi Internet dari eth0 ke eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4 # # Izinkan koneksi masuk yang diprakarsai oleh iptables saya -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT # # Lalu lintas keluar resmi iptables -A FORWARD -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 hal berikut:
- Pertama batasi semua navigasi, koneksi dan lalu lintas. (Kebijakan Firewall Dasar)
- Kemudian buat NAT dengan tujuan eth1. menunjukkan bahwa kami memiliki ip publik statis «81.2.3.4»
- Ini membuka port yang diperlukan untuk menerima paket koneksi yang saya mulai.
- Menerima lalu lintas HTTP, HTTPS, dan DNS keluar.
Jika kita ingin menggunakan peralatan kita untuk menavigasi, kita harus mengulangi baris tersebut dan mengubah MAJU menjadi INPUT atau OUTPUT sebagaimana mestinya.
Batalkan skrip.
Sekarang kita akan membuat skrip yang menggantikan semua hal di atas dan membuat komputer bersih dari semua ini. (Untuk keperluan pengujian atau kita hanya ingin mematikan firewall).
#! / bin / bash # Firewall rumah saya. # Nama file / etc / firewall_off # Oleh Jlcmux Twitter: @Jlcmux # #Menghapus Aturan iptables -F # #Menerapkan kebijakan default (semua lalu lintas diterima) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
Mengotomatiskan.
Sekarang kita perlu membuat skrip di dalam /etc/init.d/ agar layanan berjalan secara otomatis dan kita dapat mengelolanya dengan lebih mudah.
#! / bin / bash # Firewall rumah saya. # Nama file /etc/init.d/ firewall # Oleh Jlcmux Twitter: @Jlcmux case $ 1 mulai) / etc / firewall_on ;; berhenti) / etc / firewall_off ;; status) iptables -L ;; *) echo "Sintaks salah. Valid = /etc/init.d/ firewall start | stop | status ;; esac
Penjelasan:
Kita menempatkan skrip terakhir ini di /etc/init.d/ dengan nama "firewall" . Kemudian, jika kita ingin mengelola firewall, kita dapat menggunakan perintah /etc/init.d/firewall start. Kita juga dapat menghentikannya atau memeriksa statusnya dengan cara yang sama.
Sekarang kita akan mengedit file /etc/rc.local dan menambahkan sesuatu seperti: /etc/init.d/firewall start agar berjalan bersamaan dengan sistem.
Demikian juga. Ini adalah bagian kedua. Saya berharap ini membawa sesuatu untuk Anda semua. Selanjutnya kita melihat Proxy dan IDS.