NAT服务器介绍及使用方法
本文转载自nathost
1. NAT VPS的原理
在传统的有独立IP的服务器中,我们访问一台服务器,基本上就是直接访问服务器的域名,然后域名解析成IP地址。
但在使用NAT的服务器中,我们访问一台服务器,并不能直接去访问这个服务器的IP地址,而且需要由目标服务器的前一级设备(路由器,服务器上的映射插件),告诉我们哪个端口能够到达这台服务器。
也就是说,我们访问NAT服务器,需要由NAT服务器的前一级路由器(或者网络设备),建立一个对应的映射关系。
比如我们要绑定1.2.3.4的10001端口,到NAT内网里面的172.16.1.101服务器上的22端口(SSH),我们需要建立一条这样的映射关系:
外网服务器地址 | 外部端口号 | 内网服务器地址 | 内部端口号 | 协议 |
---|---|---|---|---|
1.2.3.4 | 10001 | 172.16.1.101 | 22 | TCP |
有了这条映射关系,我们就可以通过 1.2.3.4:10001 来访问我们的服务器上的SSH服务了。
但反过来,如果是内网的服务器主动访问外部网络,则不需要建立映射关系。
2. 实战操作
说了这么多理论的东西,我们是时候开始一波骚操作了(逃)
因为不同家提供的NAT服务器,使用的面板不同,本教程以Nathosts的NAT服务器作为演示,其他家提供的NAT服务器和本教程操作大同小异,只是按钮位置略有不同。
首先,登录到你的服务器后台:
我们有两种方式来开始配置端口映射:
一种是点击后台界面的 产品服务 – NAT VPS端口映射管理:
或者在产品详情页面点击 请点击此处获取公网IP (NAT端口映射):
之后会打开NAT VPS端口映射的界面。
在左侧点击你想要配置NAT端口映射的服务器,右面会弹出新的列表:
我们点击 添加规则 + ,开始创建第一条映射记录。
首先,我们需要(而且是必须)创建一个SSH端口的映射关系(除非你是用VNC维护的硬核操作党,否则这一步是必须的),
按照如下关系填写表格:
内网端口 | 外网端口 | 协议 |
---|---|---|
22 | 10022 | TCP |
填写完成后应该是这个样子的:
之后点击提交应用改动。
不过在这里要注意,在一台NAT服务器上,端口全局唯一(仅在一台服务器或者一个独立IP上唯一),如果你点击提交后出现这样的结果:
则说明这个外网端口已经被人先下手为强,已经占用了。你需要更换其他的端口做映射。
如果点击提交后,出现这样的提示:
则说明端口添加成功,映射关系已经正确建立。
同时主界面会提示端口正在创建:
当变成已创建时,说明端口映射关系已经建立完成:
之后你就可以使用你喜欢的SSH工具(比如Xshell)访问服务器了。
访问时候输入的地址格式为 【外网地址】:【外网映射IP】
如图例,则需要输入的地址为:1.2.3.4:14832
按照上面的流程,添加自己所有需要的端口即可开始使用服务器。
3. 协议?TCP?UDP?
很多人看到协议的时候都说不会选择协议。在这里我给一个定律式的建议:如果你不确定你添加的端口是为了做什么,或者为什么用这个协议,请直接果断TCP协议!
那什么时候会用到UDP协议呢?
比如你使用的酸酸,需要用来进行网游加速,这时候你应该建立一条同端口的UDP规则的映射(同外网端口不同协议算两条规则,不会发生冲突,请放心添加):
内网端口 | 外网端口 | 协议 |
---|---|---|
8888 | 18888 | TCP |
8888 | 18888 | UDP |
同时,内网端口和外网端口,可以是一样的!比如这样:
内网端口 | 外网端口 | 协议 |
---|---|---|
38888 | 38888 | TCP |