Vpn

在沒有源約束的情況下使用 nat MASQUERADE 的任何缺點(在典型的簡單 VPS 設置中)

  • February 2, 2019

情況:一個 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。如果是這種情況,則您的源約束已在較早時應用,您無需複制它。

引用自:https://serverfault.com/questions/951989