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 =1Tandaan 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_forwardAng 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_forwardnet.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.confAng 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 procpsSa 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