Ситуация: VPS уже обслуживает веб-страницы через nginx. Теперь я добавляю на этот VPS OpenVPN для роуминговых устройств.
Одна установка для руководства по VPN предлагает добавить это правило MASQUERADE -
iptables -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
где 10.8.0.0/8 - виртуальный адрес VPN.
Тем не менее, осматриваясь, я вижу много примеров этого более общего правила -
iptables -A POSTROUTING -o eth0 -j MASQUERADE
без условия на адрес источника.
Если нет плохих побочных эффектов, я бы предпочел использовать более общее правило, тогда мне не пришлось бы беспокоиться об этом при изменении конфигурации VPN.
Я понимаю принцип «лучше перестраховаться, чем сожалеть», но есть ли повод для беспокойства?
Вы запускаете маскарад после того, как прошли через весь сетевой стек, кроме последнего бита, и это последнее, что вы делаете перед тем, как пакет уйдет за дверь. Таким образом, этому пакету уже удалось убедить вашу систему в безопасности исходящей отправки. Какие источники могли это сделать? Либо вы пропускаете вещи через свой компьютер, которые вам не нужны, либо вы получите очень ограниченный набор - например, localhost и ваш VPN. В этом случае ограничение источника уже было применено ранее, и вам не нужно его дублировать.
Наличие более общего правила может быть связано с производительностью. Тот, который ограничивает MASQUERADE только пакетами с определенными адресами источника, просто сделает это. Более общий будет применяться ко ВСЕМ пакетам, покидающим вашу систему (включая локально сгенерированные), и это может (или не может) увеличить нагрузку на ваш VPS.