Термін IP-переадресація описує передачу мережевого пакету з одного мережевого інтерфейсу на інший на одному і тому ж пристрої. Його слід увімкнути, коли ви хочете, щоб ваша система діяла як маршрутизатор, який передає IP-пакети з однієї мережі в іншу.
У системі Linux ядро Linux має змінну з назвою 'ip_forward', яка зберігає це значення. Доступний за допомогою файлу '/ proc / sys / net / ipv4 / ip_forward'. Значення за замовчуванням - 0, що означає відсутність переадресації IP, оскільки звичайний користувач, який працює на одному комп'ютері без додаткових компонентів, цього не потребує, як правило. На відміну від них, для маршрутизаторів, шлюзів та серверів VPN це досить важлива особливість.
Далі ми пояснимо вам, як тимчасово та назавжди увімкнути переадресацію IP.
Переадресація IP як тимчасове рішення
Для того, щоб увімкнути цей параметр ядра на льоту, у вас є два варіанти. Варіант 1 просто зберігає значення 1 у змінній зверху наступним чином:
# echo 1> / proc / sys / net / ipv4 / ip_forwardВаріант 2 використовує команду 'sysctl', яка дозволяє вам також налаштовувати різні параметри ядра під час виконання [2]. Як адміністративний користувач виконайте таку команду:
# sysctl -w net.ipv4.ip_forward = 1Майте на увазі, що це налаштування змінюється миттєво. Крім того, результат не збережеться після перезавантаження системи.
Ви можете запитати збережене значення наступним чином:
# cat / proc / sys / net / ipv4 / ip_forwardЦя команда повертає значення 0 для відсутності переадресації IP та значення 1 для переадресації IP. Як альтернатива, використання 'sysctl' також показує вам поточний стан:
# sysctl net.ipv4.ip_forwardчистий.ipv4.ip_forward = 0
#
Увімкнення постійної переадресації IP
Для цього потрібно зробити деякі інші кроки. Спочатку відредагуйте файл '/ etc / sysctl.конф. Шукайте рядок, що містить запис “#net.ipv4.ip_forward = 1 ”, і видаліть # на початку рядка.
Потім збережіть файл і запустіть команду 'sysctl', щоб увімкнути налаштовані параметри:
# sysctl -p / etc / sysctl.конфПараметр '-p' скорочується від '-load' і вимагає введення імені файлу конфігурації.
Далі перезапустіть файлову систему proc, яка надає інформацію про стан ядра Linux, використовуючи таку команду:
# / etc / init.г / перезапуск procpsПриблизно в 2015 році ім'я файлу було скорочено з 'procps.sh 'до' procps '. Отже, у старих системах Debian скрипт, який ви повинні викликати, називається 'procps.sh ', натомість.
Робота з Systemd
Наступна перешкода відбулася з виходом Systemd версії 221. Переадресація IP вимкнена за замовчуванням, і для активації потрібен додатковий файл. Якщо його ще немає, просто додайте. Ім'я файлу складається з назви мережевого інтерфейсу з суфіксом '.мережа ', наприклад' eth0.мережа 'для мережевого інтерфейсу' / dev / eth0 '. Як зазначено в документації [4], інші розширення ігноруються.
Наступний фрагмент коду показує налаштування мережевого інтерфейсу '/ dev / tun0'. Він містить два розділи - "Match" та "Network". У розділі «Збіг» визначте назву мережевого інтерфейсу, а в розділі «Мережа» увімкніть переадресацію IP.
# cat / etc / systemd / network / tun0.мережі[Матч]
Назва = tun0
[Мережа]
IPForward = ipv4
Висновок
Активувати переадресацію IP для IPv4 не є загадкою. Всього кілька кроків, і ви там. Щасливого злому!
Посилання та посилання
* [1] Налаштування Systemd-Networkd, Debian Wiki
* [2] Юрген Хаас: Вивчіть команду Linux sysctl
* [3] Systemd News для версії 221
* [4] Документація для Systemd