Mengaktifkan IP-Forwarding untuk IPv4 di Debian GNU / Linux

Enabling Ip Forwarding



Menyiapkan rangkaian komputer kadang-kadang sukar. Mendayakan IPv4 Forwarding pada mesin Linux adalah tugas yang agak mudah, untungnya.

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 =1

Perlu 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_teruskan

Perintah 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_forward
net.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.conf

Pilihan `-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 semula

Pada 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