很多时候,部署在内网的服务器,需要同时为内外网用户提供服务,通常情况下,我们都用域名来访问这台服务器,这种方式有很明显的优势,就是允许IP地址变化,当服务器IP必须变更的时候,只要在DNS服务器做A记录的修改就行了,基本上是不会影响用户访问服务器的,或者说有影响,但是很微小和短暂,比说原来办公内网有台ERP服务器,域名(计算机全称,站点全称)是:erp.hengcanit.com,对应的IP是192.168.100.3,如果平时用户以IP地址来访问这台服务器,当IP发生变化的时候,需要通知公司所有人做出相应的改变,否则无法访问服务器,如果是通过域名访问,那么只要在内网DNS服务器上修改一条A记录就可以了,基本上不影响用户访问
同理,如果是外网IP发生变化,影响外网用户的访问,那也只要在域名注册商那里修改一条A记录即可
但是,偏偏有些人,非要用IP地址来访问服务器,用IP访问也就算了吧, 在内网还要求用外网的IP来访问服务器,理由倒也很简单,这样只要公布一个IP就可以了,记一个IP相对来说容易些。。。好吧,当初发明域名就是因为IP难以记忆啊,这是要倒退回去吗?我不禁向客户吐槽,客户听了我的解释,懂了,联系软件开发公司,这个土鳖的软件开发公司给了一个奇葩而搞笑的答复:写的程序已经绑定了客户的外网IP,要修改的话, 会非常麻烦。。。我听到这个无厘头的消息,顿时无力再次吐槽了,好吧,这种搞笑的事情也不是年年有的,权当笑料吧,那这个问题交给我来解决好了,我不麻烦,操作还很简单,但是客户哪天要迁移机房或者换掉联通的光纤,再或者要用不同的运营商网络做负载均衡和容灾备份,那就真的麻烦了
第一步,添加一条源NAT规则,把内网IP对服务器的访问转换成网关IP
第二步,添加一条目的NAT规则,把内网访问外网IP的请求,转发到内网聚合接口,并且转换成服务器内网IP
只要经过这两步简单的操作,无论用户是在内网还是外网,都可以通过运营商给的IP地址来访问了。
这个软件公司在我当时看来,貌似丝毫没有考虑未来的变化,太死板、太狭隘。。。后来仔细想想,或许正是考虑了未来的变化,他们才这么做的,毕竟接个软件开发的单子不容易,后面客户有什么变化,只能再次找他们修改程序,那到时候他们又能赚一笔了!看来还是我太嫩,我应该向他们学习!但是,我能学得会吗?这毕竟已经超出了技术范畴。。。