服务器上的独享IP,绑定分两层做:一层在云控制台把地址挂到实例上,一层在系统里让程序从这个地址出去。两层都做完,独享才真正生效。只在控制台挂了地址、没做系统层绑定的,本机查着有,程序用起来还是走主地址。这是云服务器上最常见的一处漏。
先确认地址挂上了,再确认程序到底有没有在用它,这两步都不能省。
- 控制台挂地址
- 弹性地址加到实例上,必须和实例同地域。
- 系统层绑定
- 让程序从指定源地址发包,靠路由规则。
- 验证
- 从外部看请求来源,本机自查不算。
绑定没通就往下配协议,后面所有验证都会指向错的方向。
控制台这一层最容易漏什么
控制台层最容易漏的是地域。地址和实例不在同一个区,挂了也不通,界面上往往只留一条失败记录,不说原因。还有一种情况是地址挂上了却没绑到网卡,实例里看不到。两种都要在挂完之后回实例里确认一次,看见的才算数。
系统层为什么难
系统层要让代理IP的流量走某个源地址,靠的是路由规则。规则写反了不会报错,只会表现得跟没配一样:本机查地址是对的,外部看到的还是主地址。这一层的验证只能从外部做,用另一台机器或者在线服务查请求来源,本机自查看不出问题。
绑定和协议是两件事
绑定决定地址能不能用,协议决定程序怎么连过来。顺序不能反:地址还没绑好就去配协议,客户端会一直连不上,很容易被当成协议配错。正确顺序是先绑定、从外部验证通过,再配协议、再验证一次。两次验证都过了,这套独享才算搭完。
客户端连不上先查哪
客户端连不上,先回服务端看绑定还在不在。云主机重启后,有些系统层的规则不会自动恢复,表现就是隔天突然连不上。绑定是易失的,协议配置是持久的,出问题时先怀疑前者,比从头查协议省时间。
什么时候该加第二条地址
一台实例上挂第二条地址,通常在需要区分来源的时候。挂上之后别忘了同步加规则,只加地址不加规则,第二条地址永远闲着。删地址时也要把规则一起删掉,留着会挡住后面新增的那条。
独享的意义在于地址只有自己在用,这一点靠绑定和协议两层共同保证。只做控制台一层的,代理IP地址名义上独享,用起来还是共享的表现。按绑定、验证、配协议、再验证这个顺序走,每一步都有能看见的结果。
