Catatan ini cuba menjelaskan sedikit tentang bagaimana rangkaian berfungsi dan bagaimana mengubah peralatan Linux kita menjadi Router yang memastikan sedikit lagi rangkaian kita, sama ada ia adalah rumah atau perniagaan. Oleh itu, mari kita pergi ke perniagaan:
Penghalaan dan penapisan
Untuk bercakap dan memahami mengenai penghalaan, pertama-tama kita dapat menentukan apa fungsi penghala? Untuk ini kita dapat mengatakan bahawa penghala, selain membuat rangkaian dan membenarkan sambungan dengan peralatan lain (mengetahui bahawa kita dapat melakukan ini dengan AP, Switch, Hub atau yang lain) mempunyai kemampuan untuk menghubungkan dua rangkaian yang berbeza antara satu sama lain.
Seperti yang kita lihat dalam gambar, ada jaringan lokal "10.0.1.0" yang dibuat oleh penghala, dan mencapai salah satu dari dua antarmuka. Kemudian penghala pada antara muka yang lain, mempunyai rangkaian lain, dengan IP awamnya yang dapat disambungkan ke Internet. Fungsi routing pada dasarnya berfungsi sebagai perantara antara kedua rangkaian ini sehingga mereka dapat berkomunikasi.
Linux sebagai penghala.
Secara semula jadi, Kernel Linux sudah memiliki kemampuan untuk melakukan "forwarding", tetapi secara lalai ia dilumpuhkan, jadi jika kita mahu Linux kita melakukan kerja ini, kita mesti pergi ke file.
/proc/sys/net/ipv4/ip_forward
Di sana kita akan dapati bahawa itu adalah fail yang hanya berisi nol "0", yang harus kita lakukan adalah mengubahnya menjadi "1" untuk mengaktifkan tingkah laku ini. Sayangnya ini dihapus semasa kita menghidupkan semula komputer, untuk membiarkannya diaktifkan secara lalai, kita mesti menggunakan arahan:
sysctl net.ipv4.ip_forward=1
Atau edit secara langsung dalam fail /etc/sysctl.conf. Bergantung pada pengedaran, konfigurasi ini juga boleh terdapat dalam fail di /etc/sysctl.d/.
Secara lalai Linux kami mesti mempunyai jadual perutean, yang umumnya merupakan konfigurasi rangkaian lan kami dan sambungan ke penghala. Sekiranya kita ingin melihat penghalaan ini, kita dapat menggunakan dua perintah:
route -n
o
netstat -nr
Kedua-dua arahan harus kembali sama.
Secara umum, konfigurasi ini cukup untuk Linux anda berfungsi sebagai Gateway dan komputer lain dapat menavigasi melalui komputer kita. Sekarang, jika kita mahu Linux kita menghubungkan dua atau lebih rangkaian, sama ada tempatan atau tidak, misalnya, kita boleh menggunakan laluan statik.
Katakan Linux saya mempunyai dua antara muka rangkaian, yang pertama mempunyai sambungan Internet yang rangkaiannya 172.26.0.0 dan yang kedua (10.0.0.0) mempunyai beberapa komputer dari rangkaian tempatan yang lain. Sekiranya kita ingin merutekan paket ke rangkaian lain itu, kita dapat menggunakan:
route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.26.0.8
Secara amnya adalah:
route add -net REDDESTINO netmask MASCARA gw IPDELLINUX
sekiranya kita memberi laluan -n tidak kira sama ada rangkaian ini wujud atau tidak, penghalaan ini akan diperbaiki dalam jadual kami.
Sekiranya kita mahu menghilangkan routing yang disebut itu, kita boleh gunakan
route del -net 10.0.0.0 netmask 255.0.0.0
iptables.
Pada dasarnya iptables digunakan untuk penyaringan paket, keluar, masuk atau lain-lain, ini menjadikannya alat yang hebat untuk menguruskan lalu lintas rangkaian kami. Nah, iptables, sama seperti ia membolehkan kita menyaring lalu lintas dari komputer yang sama, ia juga membolehkan kita menyaring lalu lintas yang melaluinya. (Memajukan). Iptables boleh dibahagikan kepada jadual, rantai, dan tindakan.
- Papan: pada dasarnya boleh ada dua jadual, penapis, untuk menapis paket dan nat untuk menterjemahkan alamat, iaitu berpindah dari satu rangkaian ke rangkaian lain.
- Rantai: Rantai itu merujuk kepada jenis lalu lintas yang ingin kami saring atau berenang, iaitu lalu lintas ke mana kita akan menggunakan jadual? dan mereka boleh: INPUT: Lalu lintas masuk, PENGELUARAN: lalu lintas keluar atau KE DEPAN: Lalu lintas yang melaluinya, tetapi ia bukan sambungan yang betul.
- Mungkin juga muncul LALUAN PASCA, yang digunakan untuk merawat paket dengan cara tertentu setelah dihantar.
- Tindakan: Tindakan pada dasarnya adalah tindakan yang harus dilakukan dengan rantai. Tindakan ini boleh TURUNKAN, yang hanya merosakkan lalu lintas itu atau TERIMA. yang membolehkan lalu lintas melakukan tindakan itu.
Peraturan IPTABLES disimpan dan dijalankan dalam urutan yang dibuat, dan jika peraturan menghapus peraturan sebelumnya, aturan terakhir dalam pesanan selalu diterapkan.
Dasar Firewall.
Secara umum, firewall secara semula jadi berfungsi dengan dua cara:
- Benarkan semua lalu lintas kecuali, atau
- Jangan biarkan lalu lintas kecuali ...
Untuk menggunakan polisi, gunakan IPTABLES - Rantai TINDAKAN P
Di mana rentetan mewakili jenis lalu lintas (INPUT, OUTPUT, FORWARD, POSTROUTING ...) dan tindakannya HENTI ATAU TERIMA.
Mari lihat contohnya.
Di sini kita melihat bahawa pada mulanya saya dapat melakukan ping, kemudian saya memberitahu IPTABLES bahawa semua trafik OUTPUT BERHENTI atau tidak dibenarkan. Kemudian saya memberitahu IPTABLES untuk menerimanya.
Sekiranya kita akan membina firewall dari awal kita mesti selalu menerapkan peraturan (Jangan biarkan lalu lintas kecuali ... Untuk ini maka kita menerapkan peraturan
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
Untuk kembali, kita tulis yang sama dan ganti DROP dengan ACCEPT.
Pada ketika ini, kerana semua lalu lintas ditolak, kami mula memberitahu IPTABLES lalu lintas apa yang dapat dimiliki.
Sintaksnya adalah:
iptables -A cadena -s ip_orgigen -d ip_destino -p protocolo --dport puerto -j acción
Donde:
Rentetan = INPUT, OUTPUT atau KE DEPAN
asal_ip = Asal paket, ini boleh menjadi satu IP atau rangkaian dan dalam kes ini kita mesti menentukan topengnya).
destinasi_ip = ke mana paket pergi. ini boleh menjadi satu IP atau rangkaian dan dalam kes ini kita mesti menentukan topengnya).
protokol = menunjukkan protokol yang digunakan oleh paket (icmp, tcp, udp ...)
pelabuhan = pelabuhan tujuan lalu lintas.
tindakan = TETAP atau TERIMA.
Contoh:
SEMUA polisi terhad dikenakan.
Kemudian kami menambahkan peraturan untuk dapat memiliki lalu lintas melalui port 80 HTTP dan 443 HTTPS, dengan protokol TCP. Kemudian port 53 Ia digunakan untuk klien DNS untuk menyelesaikan domain, jika tidak, anda tidak akan menavigasi. Ini berfungsi dengan protokol udp.
Garisan itu:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Ini kerana perkara berikut: Apabila anda membuat permintaan HTTP misalnya, anda menyambung ke port 80 pelayan, tetapi pelayan untuk mengembalikan maklumat perlu berhubung dengan anda melalui port mana pun. (Secara amnya lebih besar daripada 1024).
Oleh kerana semua port kita ditutup, ini tidak akan dapat dicapai kecuali kita membuka semua port yang lebih tinggi dari 1024 (Idea buruk). Apa yang dinyatakan ini adalah bahawa semua lalu lintas masuk yang datang dari sambungan yang saya buat sendiri diterima. Maksud saya, hubungan yang pada dasarnya saya mulakan.
Saya harap anda menyukai maklumat ini. Pada yang seterusnya saya akan bercakap mengenai NAT, Proksi dan skrip untuk Firewal.
Ini adalah asas yang diambil oleh banyak pengusaha untuk membuat firewall mereka sendiri, sebab itulah terdapat begitu banyak jenama firewall dengan linux tertanam di pasaran, ada yang bagus dan yang lain tidak begitu banyak.
Artikel yang sangat baik. Saya menantikan bahagian kedua.
Penjelasan yang sangat baik, ia membantu saya memahami proksi kerja saya. Terima kasih
Helo Jlcmux,
Hebat, saya sangat menyukainya, bila pihak lain akan tersedia?
Salam dan terima kasih kerana berkongsi
Terima kasih atas komen.
Saya menghantar bahagian yang lain semalam, dalam tempoh hari saya fikir mereka akan menerbitkannya.
Greetings.
Rakan artikel yang sangat baik @ Jlcmux, saya benar-benar belajar dengannya kerana dia menjelaskan beberapa keraguan yang saya miliki selama ini, dengan cara anda tidak keberatan untuk berkongsi buku sumber artikel itu, buku Sébastien BOBILLIER, baik slau2s dan sekarang untuk melihat bahagian ke-2, salu2s.
Helo Terima kasih kerana mengulas Israel.
Ternyata saya mempunyai buku dalam bentuk fizikal. Tetapi saya menjumpai pautan ini di Buku Google. http://books.google.com.co/books?id=zxASM3ii4GYC&pg=PA356&lpg=PA356&dq=S%C3%A9bastien+BOBILLIER+Linux+%E2%80%93+Administraci%C3%B3n+del+sistema+y+explotaci%C3%B3n+de+los+servicios+de+red#v=onepage&q=
Saya rasa sudah lengkap.
Artikel yang sangat bagus, saya menambah pertanyaan: Apa kelebihan menggunakan linux sebagai penghala, jika ada, berkenaan dengan perkakasan yang didedikasikan untuknya? Atau hanya untuk bersenam? Saya tahu ada distro khusus tetapi saya tidak tahu apakah mereka menyelamatkan PC lama atau memberikan lebih banyak kelenturan dalam konfigurasi.
Saya rasa kelebihan dan kekurangan bergantung pada senario di mana anda akan melaksanakannya. Mengapa pasti anda tidak akan membeli UTM atau seumpamanya untuk rumah anda? Dan mungkin untuk perniagaan kecil yang tidak mampu. Ia juga bagus sebagai latihan, kerana ia membantu anda memahami semua logik ini dan anda dapat mengkonfigurasi FWall khusus dengan lebih baik. Selain itu hampir semua peranti ini yang mereka miliki adalah Embedded Linux.
Greetings.
Helo, soalan, bolehkah anda menghasilkan antara muka "buatan" di linux untuk perutean yang serupa antara rangkaian? (gaya pelacak paket) untuk bekerja dengan mesin maya? contohnya jika saya mempunyai eth0 (kerana saya mempunyai kad tunggal) bolehkah saya membuat eth1 untuk membuat rangkaian lain? Tutor yang sangat baik!
Di Linux, anda tentu boleh membuat antara muka maya. Sekiranya anda mempunyai eth0, anda boleh mempunyai eth0: 0, eth0: 1, eth0: 2 ... dll
Bagus, terima kasih kerana berkongsi