Istilah Pemajuan IP menerangkan pengiriman pakej rangkaian dari satu antara muka rangkaian ke yang lain pada peranti yang sama. Ia harus diaktifkan apabila anda mahu sistem anda bertindak sebagai penghala yang memindahkan paket IP dari satu rangkaian ke rangkaian lain.
Pada sistem Linux kernel Linux mempunyai pemboleh ubah bernama `ip_forward` yang menyimpan nilai ini. Ia boleh diakses menggunakan fail `/ proc / sys / net / ipv4 / ip_forward`. Nilai lalai adalah 0 yang bermaksud tidak ada Pemajuan IP, kerana pengguna biasa yang menjalankan satu komputer tanpa komponen lebih lanjut, biasanya tidak memerlukannya. Sebaliknya, untuk router, gateway dan pelayan VPN, ia merupakan ciri yang sangat mustahak.
Seterusnya, kami akan menerangkan kepada anda cara mengaktifkan Pemajuan IP buat sementara waktu, dan secara kekal.
Pemajuan IP Sebagai Penyelesaian Sementara
Untuk mengaktifkan parameter kernel ini dengan cepat, anda mempunyai dua pilihan. Pilihan 1 hanya menyimpan nilai 1 dalam pemboleh ubah dari atas seperti berikut:
#membuang 1 > /peratus/sys/bersih/ipv4/ip_teruskan
Pilihan 2 menggunakan perintah `sysctl` yang membolehkan anda menyesuaikan parameter kernel yang berlainan pada waktu runtime [2]. Sebagai pengguna pentadbiran, jalankan arahan berikut:
#sysctl-dalamnet.ipv4.ip_forward =1Perlu diingat bahawa tetapan ini diubah seketika. Hasilnya juga tidak akan dapat dipelihara setelah menghidupkan semula sistem.
Anda boleh meminta nilai yang disimpan seperti berikut:
#kucing /peratus/sys/bersih/ipv4/ip_teruskanPerintah ini mengembalikan nilai 0 untuk Pemajuan IP tanpa, dan nilai 1 untuk Pemajuan IP diaktifkan. Sebagai alternatif, menggunakan `sysctl` juga menunjukkan status terkini kepada anda:
# sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward =0
#
Mengaktifkan Pemajuan IP Secara Kekal
Untuk mencapai ini, beberapa langkah lain perlu dilakukan. Pertama, edit fail `/ etc / sysctl.conf`. Cari baris yang mengandungi entri # net.ipv4.ip_forward = 1, dan hapus # di awal baris.
Kemudian, simpan fail, dan jalankan perintah `sysctl` untuk mengaktifkan tetapan yang disesuaikan:
#sysctl-p /dan lain-lain/sysctl.confPilihan `-p` adalah kependekan dari` –load`, dan memerlukan nama untuk fail konfigurasi yang harus diikuti.
Seterusnya, mulakan semula sistem fail proc yang memberikan maklumat mengenai status kernel Linux menggunakan arahan berikut:
#/dan lain-lain/init.d/memulakan semulaPada sekitar tahun 2015 nama fail dipendekkan dari `procps.sh` menjadi` procps`. Jadi, pada sistem Debian warga tua, skrip yang harus anda gunakan dinamakan `procps.sh`.
Berurusan dengan Systemd
Rintangan seterusnya datang dengan pelepasan Systemd versi 221. Pemajuan IP dilumpuhkan secara lalai, dan pengaktifan memerlukan fail tambahan untuk berada di sana. Sekiranya belum ada, tambah sahaja. Nama fail terdiri daripada nama antara muka rangkaian diikuti dengan akhiran `.network`, misalnya` eth0.network` untuk antara muka rangkaian `/ dev / eth0`. Seperti yang dinyatakan dalam dokumentasi [4], sambungan lain tidak diendahkan.
Coretan kod berikut menunjukkan persediaan untuk antara muka rangkaian `/ dev / tun0`. Ini mengandungi dua bahagian - `Match` dan` Network`. Di bahagian Match tentukan nama antara muka rangkaian, dan di bahagian rangkaian aktifkan IP Forwarding.
# cat /etc/systemd/network/tun0.network[Padankan]
Nama= tun0
[Rangkaian]
IPMeneruskan= ipv4
Kesimpulannya
Mengaktifkan Pemajuan IP untuk IPv4 bukanlah misteri. Hanya beberapa langkah, dan anda ada di sana. Selamat menggodam!
Pautan dan rujukan
* [1] Menyiapkan Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Pelajari arahan sysctl Linux
* [3] Systemd News untuk versi 221
* [4] Dokumentasi untuk Systemd