![配置 VPS,以便只有经过身份验证的 VPN 用户才能访问 Web 服务器](https://linux22.com/image/139730/%E9%85%8D%E7%BD%AE%20VPS%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%8F%AA%E6%9C%89%E7%BB%8F%E8%BF%87%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E7%9A%84%20VPN%20%E7%94%A8%E6%88%B7%E6%89%8D%E8%83%BD%E8%AE%BF%E9%97%AE%20Web%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我正在设置一个故意存在漏洞的网站来显示一些安全内容,但我不希望未经授权的人利用它。我如何配置我的 VPS,以便只有连接到 VPN(openvpn 服务器)的人才能看到该网页,而其他人在没有 VPN 的情况下尝试在 wan 上正常访问该网页则无法看到该网页?
我已经尝试过 IPtables 和 ufw,但我认为我把语法搞砸了,因为即使经过身份验证,我也无法连接到网页,并允许 LAN 子网。
用户位于 lan 10.8.0.0/24 上,网站通过 VPS 的公共 IP 端口 80 和 81 运行。
答案1
阻止网络服务器的所有其他内容
iptables -A INPUT -p tcp ! -s 10.8.0.0/24,127.0.0.0/8 --dport 80 -j REJECT
iptables -A INPUT -p tcp ! -s 10.8.0.0/24,127.0.0.0/8 --dport 443 -j REJECT
答案2
在您的 VPS 上仅允许 VPN ip
iptables -A INPUT -d {VPN_IP} -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -d {VPN_IP} -m tcp -p tcp --dport 81 -j ACCEPT