Нужна ли ноутбуку с 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, а не ограничение скорости. Запишите, какое из этих трёх вы действительно наблюдали, прежде чем сравнивать любые числа. Иначе следующий читатель унаследует измерение, которое измеряет не то, и изменение, которое никто не может обосновать.
Опишите топологию, которая у вас есть, а не ярлык на клиенте
Ноутбук, который делится своим подключением, размещает маршрутизируемую сеть контейнеров или несёт трафик для виртуальной машины, — это шлюз, как бы программа себя ни называла. Слово клиент описывает, как настроен туннель, а не то, передаются ли пакеты кому-то ещё.
Сделайте роль явной в руководстве по эксплуатации: что порождает трафик, что должно проходить через машину и о чём из этих двух идёт речь в текущей задаче. Включайте роль шлюза, когда она относится к поддерживаемому плану, а не как необъяснённую настройку скорости, применённую к топологии, которой она никогда не требовалась.