我刚刚搬家,我的新提供商阻止了所有端口(22、25、80……),以便从互联网访问。我获得了一个动态 IP。
我在我的服务器上托管所有家庭服务(邮件、网络、VPN 等)。我还托管了一个 VPS。
如何从服务器到 VPS(第二个 VPN 服务器)构建 VPN,并通过 VPN 隧道重新路由端口以从互联网访问我的“家庭服务器”并绕过提供商的阻止网络?
vps:centos 6 64位
家庭服务器:mac mini 服务器
vps openvpn-as 上的 vpn 服务器
互联网 --> vps ---vpn--> 服务器网页
答案1
我想得越多,就越发意识到你有两个选择,我会为你记下来:
选项 A - 简单
如果可能的话,请将您的内容托管在您的家之外,只是使用不同的端口。因此,对于 Web,您可以将其托管在端口 8080 之外,而电子邮件托管在端口 8081 之外,以便进行讨论。然后,在您的 VPS 托管服务器上,只需配置 Apache 即可将您的 Web 请求代理到端口 8080 上的“主服务器”。无需 VPN,而且配置要轻松得多。
所以如果有人来http://www.mydomain.com,VPS 服务器上的 Apache 将接受请求并将其反向代理到您家中的 IP 地址。http://1.2.3.4:8080
相同的概念也可以用于邮件。 现在,我知道对于住宅服务,您的 IP 地址会在某个时候发生变化。 我建议您使用 DynDNS 之类的东西,以使您的 IP 地址尽可能可预测,从而使 Apache 代理管理变得更加容易。
选项 B - 不太容易
从高层次上看,您需要做的是使用 OpenVPN 等产品建立站点到站点 VPN。您可以谷歌搜索“openvpn site-to-site”,您会找到大量有关如何实现此目的的示例。
一旦设置了站点到站点隧道,就可以像提供托管 Apache 内容的 Web 服务器的 VPN IP 地址一样简单。或者,您可以通过代理服务抽象(我更喜欢)您的服务,但这样您就会陷入选项 A领土。此外,您可能希望您的家庭服务器建立 VPN 连接,因为 VPS 服务器上的 IP 地址将是静态的。
希望这可以帮助!
答案2
嗨,谢谢你的提示
我所做的是
安装在我的 vps 上
RHEL/CentOS 6 64 位
获得http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
关注此
http://www.maxwhale.com/how-to-install-l2tp-vpn-on-CentOS/
非常感谢 Maxhale.com,因为它运行得非常好!!!
我为我的 vpn 客户端分配了固定的 IP,这样我就可以将流量转发到特定的客户端(在我的情况下是 10.1.2.3)
在 iptables 中我这样做了
对于 http iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \ --to 10.1.2.3
我这样做的原因是因为家里的所有端口都被阻塞了,而且家里已经设置好了所有的服务器。不想重新安装 apache、mysql、openfire、邮件服务器,而且可以访问我的 proxmox 服务器场以使用 KVM 和 openvz(上面有 35 个虚拟机)
此致
弗雷德