我想使用 Docker 在我的 VPS 上设置一个 vpn 服务器。
许多 VPN 服务器OpenVPN需要防火墙 NAT 规则和其他防火墙规则才能工作。
作为官方文件建议:
你可能听说过“每个容器应该有一个进程”
但在我发现的几乎所有 VPN 映像中,它们都同时运行iptables和VPN 服务器在同一个容器里,
部分图片列于此处:
所以我的问题是如何运行VPN 服务器和iptables传播图像以便协同工作?
有没有docker 网络解决方案为了这?
或者,我可以使用 docker 主机的 iptables 进行 NAT,并拥有一个仅运行 vpn 服务器的容器吗?
答案1
长话短说:iptables 不是一个进程。它是一个内核模块的用户界面。
更深入的信息:iptables 实际上配置了与网络堆栈内联的内核模块。在配置这些内核模块时,网络流量被操纵。它是一个配置工具。iptables 本身并不像守护进程或其他进程那样持续运行。