我有以下配置,Apache Web 主机在我的本地 PC 的端口 4444 上运行。
我已经在 noip.com 注册了 DDNS,并且已正确完成设置。
我想知道,由于我在向客户端展示 Web 应用程序时有点担心将我的 IP 暴露给公众,所以我是否可以在本地运行 VPN,这样当 DDNS 解析 IP 时它会指向我的 VPN 连接?
我只具备 iptables 的基本知识,这对于完成这项任务来说还不够。目前使用 Debian 8。
感谢您的帮助!
答案1
如果你想使用 Web 服务器主机上的 VPN(openvpn)隐藏 Web 服务器的端口
在这种情况下,你可以
- 配置一个 vpn 服务器,例如 openvpn,监听你主机的 ip,例如 192.168.1.1,端口 1194
- 配置你的 Web 服务器只监听 192.168.1.1,端口 4444
- 停止路由器中的端口转发,将流量从互联网转发到 Web 服务器
- 在路由器中配置端口转发,将来自互联网的流量转发到端口 1194 上的 vpn 服务器(我个人在外部使用不同的端口,以便路由器将端口 11945 转发到主机上的端口 1194)
- 通过互联网连接到你的 VPN
- 将浏览器指向你的 Web 应用程序 192.168.1.1,端口 4444
在这种情况下,您可能甚至不需要 iptables。您的路由器只知道将一个端口 (1194) 转发到您的主机,并且只有使用正确的密钥和证书才能建立或连接该端口。所有其他端口都不需要关闭,因为它们无法通过路由器访问。
如果你想让你的 Web 服务器可连接仅有的来自 VPN IP 地址
不过,从您的评论中我推测您是从笔记本电脑上使用 VPN,并且您的 Web 服务器已连接到“普通”互联网。在这种情况下,您只为 VPN IP(例如 3.2.2.2)打开防火墙/iptables
iptables -A INPUT -s 3.2.2.2/32 -j ACCEPT
或者更细粒度
iptables -A INPUT -p tcp -s 3.2.2.2/32 --dport 4444 -j ACCEPT
注意:这一定不是唯一的规则。您可能希望从本地网络通过 SSH 访问主机,或者通常允许本地网络的所有内容:
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
此外,您想允许本地主机流量:
iptables -A INPUT -i lo -j ACCEPT
此后,您可以关闭所有其他传入端口:
iptables -P INPUT DROP
请务必根据您自己的 IP 地址范围和您自己的 VPN IP 地址进行彻底检查。
此外,您必须配置路由器/调制解调器以将任何端口(例如 4444 或 44444)转发到您的 Web 服务器端口 4444。
如果你想运行你的 VPN 服务(私人互联网接入)和你的网络服务器一样的主持人
查找 privateinternetaccess.com,我发现
因此
在本地运行 VPN,因此当 DDNS 解析 IP 时,它将指向您的 VPN 连接
你会