由于公 IP资源越来越紧张,现在很多运营商给拨 上 的用户只分配内 IP地址,如下图所示:
这样的运营商内 IP是外 不可达的(即使用动态域名也不起作用)。而企业由于业务需要,比如虚拟局域 组 、办公OA系统、ERP系统等,都需要有公 IP才可以实现。公 IP的解决,目前主要有三种方案:
- 申请固定IP专线。稳定且速度有保障,缺点是费用高。
- 云方案。把业务主机都搬到云上,直接通过云主机来访问。费用比较低,缺点是云主机不能本地维护,且搬迁工作量都不小。
在没有公 IP如何实现×××组 ?一文中,我们介绍了虚拟局域 组 部分。我们要介绍的方案,分为两个步骤:1). 本地局域 和云主机之间搭建虚拟局域 。2). 在云主机上配置内 穿透的防火墙规则。具体步骤如下:
1. 搭建虚拟局域
首先要在云主机上安装虚拟局域 软件,配置ca证书等, 络上已经有很多介绍,我就不再赘述了。下图是最终的server端config文件。
然后是客户端配置。在WSG的客户端中,配置上云主机的IP和端口、用户名密码等信息。即可成功组 。如图:
2. 内 穿透的防火墙规则
组建虚拟局域 后,本地局域 就和云主机处于同一个局域 内。我们再通过iptables配置一些防火墙规则,就可以把外 访问重定向到局域 内部;原理和端口映射是一样的。命令如下:
每一条内 穿透(端口映射)都由两条iptables命令组成:
- DNAT:iptables -t nat -A PREROUTING -p tcp –dport xx -j DNAT –to-dest x.x.x.x
- SNAT:iptables -t nat -A POSTROUTING -d x.x.x.x -p tcp –dport xx -j SNAT –to-source y.y.y.y
其中,x.x.x.x是局域 内 主机的IP地址,y.y.y.y是云主机的内 段IP。
经过上述配置后,直接访问云主机的对应端口就可以穿透到内 。该方案是由iptables做数据包转发,不需要保持连接做反向代理,稳定性和速度都比frp之类的反向代理要好的多。要实现开机自动添加规则的话,只需要把这两条iptables命令添加到/etc/rc.local文件中。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!