Włączanie IP-Foring dla IPv4 w Debian GNU/Linux

Włączanie IP-Foring dla IPv4 w Debian GNU/Linux
Konfigurowanie sieci komputerowej może być czasem trudne. Włączenie przekazywania IPv4 na komputerze Linux jest dość prostym zadaniem, na szczęście.

Termin przekazywanie adresów IP opisuje wysłanie pakietu sieciowego z jednego interfejsu sieciowego do drugiego na tym samym urządzeniu. Powinien być włączony, gdy chcesz, aby Twój system działał jako router, który przenosi pakiety IP z jednej sieci do drugiej.

W systemie Linux jądro Linux ma zmienną o nazwie „ip_forward”, która utrzymuje tę wartość. Jest dostępny przy użyciu pliku '/proc/sys/net/ipv4/ip_forward'. Wartość domyślna to 0, co oznacza brak przekazywania adresu IP, ponieważ zwykły użytkownik, który uruchamia pojedynczy komputer bez dalszych komponentów, zwykle tego nie potrzebuje. Natomiast w przypadku routerów, bram i serwerów VPN jest to dość istotna cecha.

Następnie wyjaśnimy, jak włączyć tymczasowe i trwale włączyć przekazywanie adresów IP.

Przekazywanie IP jako rozwiązanie tymczasowe

Aby włączyć ten parametr jądra w locie, masz dwie opcje. Opcja 1 po prostu przechowuje wartość 1 w zmiennej z góry w następujący sposób:

# echo 1>/proc/sys/net/ipv4/ip_forward

Opcja 2 używa polecenia „sysctl”, które pozwala dostosować różne parametry jądra w czasie wykonywania [2]. Jako użytkownik administracyjny uruchamia następujące polecenie:

# sysctl -w net.IPv4.ip_forward = 1

Należy pamiętać, że to ustawienie zostało zmienione natychmiast. Również wynik nie zostanie zachowany po ponownym uruchomieniu systemu.

Możesz zapytać o przechowywaną wartość w następujący sposób:

# cat/proc/sys/net/ipv4/ip_forward

To polecenie zwraca wartość 0 dla braku przekazywania adresu IP, a wartość 1 dla przekazywania adresu IP włączona. Alternatywnie, użycie „sysctl” pokazuje również bieżący status:

# Sysctl Net.IPv4.ip_forward
internet.IPv4.ip_forward = 0
#

Włączanie na stałe przekazywanie IP

Aby to osiągnąć, należy wykonać inne kroki. Najpierw edytuj plik '/etc/sysctl.conf '. Wyszukaj linię zawierającą wpis „#net.IPv4.ip_forward = 1 ”i usuń # na początku linii.

Następnie zapisz plik i uruchom polecenie „sysctl”, aby włączyć skorygowane ustawienia:

# sysctl -p /etc /sysctl.conf

Opcja „-p” jest krótka dla „-ładunek” i wymaga nazwy pliku konfiguracyjnego, który należy przestrzegać.

Następnie uruchom ponownie system plików PROC, który zawiera informacje o statusie jądra Linux za pomocą następującego polecenia:

# /etc /init.D/procps restart

Około 2015 r. Nazwa pliku została skrócona z „procps.sh 'to „procps”. Tak więc w systemach starszych debiana skrypt, który musisz wywołać, nosi nazwę „Procps.sh ', zamiast tego.

Radzenie sobie z systemem

Kolejna przeszkoda była dostarczana z wersją SystemD 221. Przekazywanie IP jest domyślnie wyłączone, a włączenie wymaga, aby dodatkowy plik tam był. Jeśli jeszcze go nie ma, po prostu dodaj to. Nazwa pliku składa się z nazwy interfejsu sieciowego, a następnie przyrostka.Sieć ”, na przykład„ ETH0.Sieć „dla interfejsu sieciowego”/dev/eth0 ”. Jak stwierdzono w dokumentacji [4], inne rozszerzenia są ignorowane.

Poniższy fragment kodu pokazuje konfigurację interfejsu sieciowego „/dev/tun0”. Zawiera dwie sekcje - „mecz” i „sieć”. W sekcji dopasowania Zdefiniuj nazwę interfejsu sieciowego, a w sekcji sieci Włącz przekazywanie IP.

# cat/etc/systemd/network/tun0.sieć
[Mecz]
Nazwa = Tun0
[Sieć]
IPFORward = IPv4

Wniosek

Aktywowanie przekazywania IP dla IPv4 nie jest tajemnicą. Tylko kilka kroków, a jesteś tam. Happy Hacking!

Linki i referencje

* [1] Konfigurowanie SystemD-Networkd, Debian Wiki
* [2] Juergen Haas: Naucz się polecenia Linux Sysctl
* [3] SystemD News dla wersji 221
* [4] Dokumentacja dla SystemD