Openvpn

OpenVPN 不會僅在本地路由網際網路流量

  • December 13, 2020

我有一個帶有 SQL 伺服器、Web 服務和 OpenVPN 的 VM(https://datawookie.netlify.app/blog/2018/09/diy-vpn-with-docker)。

我只想使用 VPN 連接到 SQL 伺服器和 Web 服務。我不想路由網際網路流量。我添加到我的客戶端配置:

pull-filter ignore redirect-gateway
route-nopull
route-noexec

但是這種方式沒有任何路由。我需要做什麼來實現我的目標?

假設 web 是 192.168.2.10 而 sql 是 192.168.3.10,推送這些子網

在這一步:

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM

你會添加

-p "route 192.168.2.10 255.255.255.255" -p "route 192.168.3.10 255.255.255.255"

完整的命令:

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM -p "route 192.168.2.10 255.255.255.255" -p "route 192.168.3.10 255.255.255.255"

您可以為這些值添加任何網路、IP 和遮罩,因此如果您想要整個子網 192.168.2.0/24,那就是-p "route 192.168.2.0 255.255.255.0"

你也可以使用環境變數,見https://github.com/kylemanna/docker-openvpn/issues/565

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