Чи потрібне ноутбуку з VPN пересилання IP, щоб працювати швидше?
Пересилання передає пакети між інтерфейсами; воно не прискорює локальний браузер. Відокремте роль клієнта від ролі шлюзу, перш ніж розширювати правило.
Перетворення ноутбука на маршрутизатор — популярний спосіб розв'язувати не ту проблему. Пересилання існує для того, щоб машина могла передавати пакети, пункт призначення яких не вона сама, і йому байдуже, як швидко браузер на тій самій машині завантажує сторінку. Обидва шляхи виглядають однаково лише тому, що обидва женуть трафік через один тунель. Розділіть їх один раз — і значна частина порад про ввімкнення пересилання чи відкриття міжмережевого екрана виявиться описом топології, якої у вас немає.
Два шляхи пакетів, які з-за столу виглядають однаково
Браузер на ноутбуці створює власний запит. Хост вибирає маршрут тунелю, клієнтський процес загортає пакет і надсилає його партнерові, а відповідь повертається в застосунок. Ніщо в цій послідовності не перетинає рішення про пересилання, бо ця машина водночас і джерело, і пункт призначення розмови.
Тепер поставте інший пристрій у навмисно налаштований сегмент Ethernet і зробіть ноутбук його шлюзом за замовчуванням. Цей пристрій породжує запит, ноутбук отримує пакет, адресований в інше місце, і ядро має вирішити, чи передавати його далі. Це роль пересилання, і вона приходить із передумовами, яких роль клієнта ніколи не потребувала: дозволений транзитний шлях, маршрути з обох боків і зворотний шлях, який досі працює, якщо переклад є частиною задуму.
| Role | Who originates the traffic | What has to be true |
|---|---|---|
| Client only | The laptop itself | Tunnel route, working resolver, supported profile |
| Gateway | Another device | Forwarding enabled, permitted transit, routes both ways, return-path decision |
Що насправді змінює ip_forward
Документація ядра щодо IPv4 sysctl описує ip_forward як перемикач, що дозволяє хосту пересилати пакети між інтерфейсами. Це не швидкий шлях для трафіку, який хост створив сам, і жодне читання цього параметра не прискорює локальний браузер. Якщо вже, пересилання додає стан і політику машині, яка раніше виконувала менше роботи.
Та сама документація попереджає, що зміна значення повертає інші параметри IPv4 до їхніх типових значень для хоста або маршрутизатора. Це робить перемикач подією конфігурації, а не перевіркою: налаштовані значення можуть повернутися під вами, і зміна може бути причиною регресії, яку ніхто не здогадається їй приписати. Це також означає, що перемикач слід встановлювати один раз, свідомо, тому, хто володіє роллю шлюзу. Перемикання його під час розслідування уповільнення — єдиний випадок, коли побічний ефект гарантовано плутають із симптомом.
Три питання до міжмережевого екрана, які не є одним питанням
Дозволити прослуховувач VPN, дозволити служби, які запускає ноутбук, і дозволити трафіку проходити через ноутбук — це три окремі дозволи. Перший дає змогу партнерові досягти демона, другий відкриває щось локальне, а третій перетворює машину на транзит для когось іншого. Кожен має різний обсяг, і останній значно ширший за відповіді, потрібні звичайному вихідному застосунку.
Коли конкретний потік заблоковано, назвіть його джерело, призначення, напрямок і власника політики, перш ніж редагувати правило. Вузьке правило для цього потоку — виправлення; приймати все на інтерфейсі тунелю — зміна політики, яка випадково включає виправлення. Браузер, який після цього працює, доводить, що потік працює, а не те, що широке правило було потрібне.
Міряйте лише тоді, коли шлях правильний
Міряйте з тим самим призначенням, тим самим навантаженням і зіставними умовами та змінюйте одну змінну за раз. Тест, який поєднує зміну пересилання, розширення міжмережевого екрана й скопійоване налаштування шифру, дає число і жодного пояснення, бо ніщо в ньому не каже, яка з трьох речей зсунула результат.
Тримайте відмови маршрутів і резолвера повністю поза розмовою про продуктивність. Ім'я, яке повільно розв'язується, — не проблема пропускної здатності, а передавання, що застрягає на одному фіксованому розмірі, зазвичай питання MTU, а не обмеження швидкості. Запишіть, яке з цих трьох ви насправді спостерігали, перш ніж порівнювати будь-які числа. Інакше наступний читач успадкує вимірювання, що міряє не те, і зміну, яку ніхто не може обґрунтувати.
Опишіть топологію, яка у вас є, а не ярлик на клієнті
Ноутбук, який ділиться своїм з'єднанням, розміщує маршрутизовану мережу контейнерів або несе трафік для віртуальної машини, — це шлюз, як би програма себе не називала. Слово клієнт описує, як налаштований тунель, а не те, чи передаються пакети комусь іншому.
Зробіть роль явною в настанові з експлуатації: що породжує трафік, що має проходити через машину і про що з цих двох ідеться в поточному завданні. Вмикайте роль шлюзу, коли вона належить до підтримуваного плану, а не як непояснене налаштування швидкості, застосоване до топології, якій воно ніколи не було потрібне.