Активиране на IP-пренасочване за IPv4 в Debian GNU/Linux

Enabling Ip Forwarding



Настройването на компютърна мрежа понякога може да бъде трудно. Активирането на IPv4 препращане на Linux машина е доста проста задача, за щастие.

Терминът IP препращане описва изпращането на мрежов пакет от един мрежов интерфейс към друг на същото устройство. Тя трябва да бъде активирана, когато искате вашата система да действа като рутер, който прехвърля IP пакети от една мрежа в друга.







В Linux система ядрото на Linux има променлива на име `ip_forward`, която запазва тази стойност. Достъпен е чрез файла `/proc/sys/net/ipv4/ip_forward`. Стойността по подразбиране е 0, което означава, че няма IP препращане, тъй като обикновен потребител, който работи на един компютър без допълнителни компоненти, обикновено не се нуждае от това. За разлика от това, за рутери, шлюзове и VPN сървъри това е доста съществена функция.



След това ще ви обясним как да активирате препращането на IP временно и за постоянно.



Препращането на IP като временно решение

За да активирате този параметър на ядрото в движение имате две възможности. Вариант 1 просто съхранява стойността на 1 в променливата отгоре, както следва:





#изхвърлен 1 > /процента/sys/мрежа/ipv4/ip_forward

Вариант 2 използва командата `sysctl`, която ви позволява също да регулирате различни параметри на ядрото по време на изпълнение [2]. Като администраторски потребител изпълнете следната команда:

#sysctlnet.ipv4.ip_forward =1

Имайте предвид, че тази настройка се променя незабавно. Също така резултатът няма да се запази след рестартиране на системата.



Можете да попитате съхранената стойност, както следва:

#котка /процента/sys/мрежа/ipv4/ip_forward

Тази команда връща стойност 0 за без препращане на IP и стойност 1 за активирано препращане на IP. Като алтернатива, използването на `sysctl` също ви показва текущото състояние:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward =0
#

Активиране на IP пренасочване за постоянно

За да се постигне това, трябва да се направят някои други стъпки. Първо, редактирайте файла `/etc/sysctl.conf`. Потърсете ред, съдържащ записа # net.ipv4.ip_forward = 1, и премахнете # в началото на реда.

След това запишете файла и изпълнете командата `sysctl`, за да активирате коригираните настройки:

#sysctl-стр /и т.н./sysctl.conf

Опцията `-p` е съкращение от` –load` и изисква име за конфигурационния файл, който да се следва.

След това рестартирайте файловата система proc, която предоставя информация за състоянието на ядрото на Linux, като използвате следната команда:

#/и т.н./init.d/procps рестартиране

Около 2015 г. името на файла беше съкратено от `procps.sh` на` procps`. Така че, в по -старите системи на Debian, вместо това скриптът, който трябва да извикате, се нарича `procps.sh`.

Справяне със Systemd

Следващото препятствие дойде с издаването на Systemd версия 221. Препращането на IP е деактивирано по подразбиране и за активирането е необходим допълнителен файл. Ако все още не е там, просто го добавете. Името на файла се състои от името на мрежовия интерфейс, последвано от наставката `.network`, например` eth0.network` за мрежовия интерфейс `/dev/eth0`. Както е посочено в документацията [4], други разширения се игнорират.

Следният кодов фрагмент показва настройката за мрежовия интерфейс `/dev/tun0`. Съдържа два раздела - „Съвпадение“ и „Мрежа“. В секцията Match определете името на мрежовия интерфейс, а в секцията network активирайте IP Forwarding.

# cat /etc/systemd/network/tun0.network
[Съвпада]
Име=tun0
[Мрежа]
IPForward= ipv4

Заключение

Активирането на IP Forwarding за IPv4 не е загадка. Само няколко стъпки и вие сте там. Приятно хакване!

Връзки и препратки

* [1] Настройване на Systemd-Networkd, Debian Wiki
* [2] Юрген Хаас: Научете командата sysctl на Linux
* [3] Systemd News за версия 221
* [4] Документация за Systemd