服务器上多公网代理IP地址的搭建,分两层:一层是把地址挂到机器上,一层是让流量从指定的地址出去。第一层在云控制台和系统里做,第二层靠路由规则。两层之间有关系但不能互相替代,只做一层,用起来总有一处不对。先弄清这两层的分工,后面的步骤才不会乱。
先挂地址,再配规则,顺序反了会白折腾。
挂代理IP地址这一层要看地域。地址和实例不在同一个区域,挂了也不通,界面上只留一条失败记录。挂完之后回系统里确认一次,网卡上能看到才算真挂上,这是搭建里最容易被跳过的一步。跨地域挂地址在多云环境里很常见,也是最容易踩的一处,查的时候先看区域对不对。
两层各自的关键点
挂地址的关键是区域和网卡。区域对了,地址才挂得上;网卡认了,系统里才看得见。这两个条件缺一个,上层都做不下去。
规则层为什么容易出错
代理IP搭建规则层的关键是源地址和优先级。系统默认用主地址发包,要让某个程序走另一条地址,得在路由表里加规则,把它的流量指向指定的源地址。规则写反了不会报错,只会表现得跟没配一样。所以这一层的验证只能从外部做,本机自查看不出问题。
| 层次 | 在哪做 | 验证方式 |
|---|---|---|
| 地址层 | 云控制台加系统网卡 | 本机网卡上能看到 |
| 规则层 | 路由表与程序设置 | 外部查请求来源 |
| 两层都通 | 以上都完成 | 外部地址与预期一致 |
搭建的顺序为什么不能换
顺序换了的典型表现:先配规则,再挂地址。规则指向的地址还不存在,配完测试必然不通,很容易被当成规则写错,来回改好几轮。正确顺序是先挂地址、从本机确认,再配规则、从外部确认。每一步都有独立的验证结果,出问题时能立刻定位在哪一层。
只做一层会怎样
只做地址层的搭建,本机查着有多条地址,程序跑起来还是全走主地址,看起来像地址没用上。只做规则层,规则指向的地址根本不存在,连不上。两种表现差别很大,判断起来也快:先看本机有没有地址,再看外部是什么地址。
两层都通之后,多公网地址的价值才体现出来:不同程序走不同地址,互不干扰。
搭建完成之后还有维护。加地址时同步加规则,删地址时同步删规则,两边不一致的时间越长,后面排查越费劲。把当前配置导出一份存着,换机器的时候能直接用,省掉重配的功夫。
