Pagpapagana sa IP-Forwarding para sa IPv4 sa Debian GNU / Linux

Enabling Ip Forwarding



Ang pagse-set up ng isang network ng computer ay maaaring maging mahirap minsan. Ang pagpapagana ng IPv4 Forwarding sa isang Linux machine ay isang simpleng gawain, sa kabutihang palad.

Inilalarawan ng term na IP Forwarding ang pagpapadala ng isang package ng network mula sa isang interface ng network sa isa pa sa parehong aparato. Dapat itong paganahin kung nais mong kumilos ang iyong system bilang isang router na naglilipat ng mga IP packet mula sa isang network patungo sa isa pa.







Sa isang sistemang Linux ang Linux kernel ay may variable na pinangalanang `ip_forward` na nagpapanatili ng halagang ito. Naa-access ito gamit ang file na `/ proc / sys / net / ipv4 / ip_forward`. Ang default na halaga ay 0 na nangangahulugang walang IP Forwarding, dahil ang isang regular na gumagamit na nagpapatakbo ng isang solong computer nang walang karagdagang mga sangkap ay hindi nangangailangan ng na, karaniwang. Sa kaibahan, para sa mga router, gateway at VPN server ito ay isang mahalagang tampok.



Susunod, ipapaliwanag namin sa iyo kung paano paganahin ang IP Forwarding pansamantala, at permanenteng.



Pagpasa ng IP Bilang Isang Pansamantalang Solusyon

Upang paganahin ang parameter ng kernel na ito sa mabilisang mayroon kang dalawang mga pagpipilian. Ang Opsyon 1 ay nag-iimbak lamang ng halaga ng 1 sa variable mula sa itaas tulad ng sumusunod:





#itinapon 1 > /porsyento/sys/neto/ipv4/ip_forward

Ang Opsyon 2 ay gumagamit ng utos na `sysctl` na nagbibigay-daan sa iyo upang ayusin ang iba't ibang mga parameter ng kernel sa runtime, masyadong [2]. Bilang isang administratibong gumagamit patakbuhin ang sumusunod na utos:

#sysctl-sanet.ipv4.ip_forward =1

Tandaan na ang setting na ito ay agad na binago. Gayundin, ang resulta ay hindi mapangalagaan pagkatapos ng pag-reboot ng system.



Maaari mong query ang nakaimbak na halaga tulad ng sumusunod:

#pusa /porsyento/sys/neto/ipv4/ip_forward

Ang utos na ito ay nagbabalik ng halagang 0 para sa walang IP Forwarding, at isang halaga ng 1 para sa IP Forwarding na pinagana. Bilang kahalili, ipinapakita sa iyo ng paggamit ng `sysctl` ang kasalukuyang katayuan:

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

Pagpapagana ng IP Pagpasa ng Permanenteng

Upang makamit ito ang ilang iba pang mga hakbang ay kailangang gawin. Una, i-edit ang file na `/ etc / sysctl.conf`. Maghanap para sa isang linya na naglalaman ng entry na # net.ipv4.ip_forward = 1, at alisin ang # sa simula ng linya.

Pagkatapos, i-save ang file, at patakbuhin ang utos ng `sysctl` upang paganahin ang nababagay na mga setting:

#sysctl-p /atbp/sysctl.conf

Ang pagpipiliang `-p` ay maikli para sa` –load`, at nangangailangan ng isang pangalan para masundan ang file ng pagsasaayos.

Susunod, i-restart ang system ng proc file na nagbibigay ng impormasyon tungkol sa katayuan ng Linux kernel gamit ang sumusunod na utos:

#/atbp/init.d/mag-restart ang mga procps

Sa mga 2015 ang pangalan ng file ay pinaikling mula sa `procps.sh` hanggang sa 'procps`. Kaya, sa mga matatandang sistema ng Debian ang script na kailangan mong tawagan ay pinangalanang `procps.sh`, sa halip.

Pakikitungo sa Systemd

Ang susunod na sagabal ay dumating sa pagpapalabas ng Systemd bersyon 221. Ang IP Forwarding ay hindi pinagana bilang default, at ang pagpapagana ay nangangailangan ng isang karagdagang file na naroroon. Kung wala pa ito, idagdag lamang ito. Ang pangalan ng file ay binubuo ng pangalan ng interface ng network na sinusundan ng panlapi na `.network`, halimbawa` eth0.network` para sa network interface `/ dev / eth0`. Tulad ng nakasaad sa dokumentasyon [4], ang iba pang mga extension ay hindi pinapansin.

Ipinapakita ng sumusunod na code na snippet ang pag-set up para sa interface ng network `/ dev / tun0`. Naglalaman ito ng dalawang seksyon - `Tugma` at` Network`. Sa seksyon ng Pagtutugma tukuyin ang pangalan ng network interface, at sa seksyon ng network paganahin ang IP Forwarding.

# cat /etc/systemd/network/tun0.network
[Tugma]
Pangalan= tun0
[Network]
IPForward= ipv4

Konklusyon

Ang pag-activate ng IP Forwarding para sa IPv4 ay hindi isang misteryo. Ilang hakbang lamang, at naroroon ang iyong. Maligayang pag-hack!

Mga link at sanggunian

* [1] Pagse-set up ng Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Alamin ang utos ng Linux sysctl
* [3] Balitang Systemd para sa bersyon 221
* [4] Dokumentasyon para sa Systemd