如何使用网关服务器¶
网关服务器¶
网关服务器(Gateway Server)是一种网络设备或服务,负责 将一个网络与另一个网络连接起来,充当两者之间的桥梁。网关服务器通常用于多种场景,包括但不限于互联网连接、网络隔离、协议转换和负载均衡。
实际应用¶
本文聚焦于下述场景:
bxhu在家,闲来无事想跑代码(新paper压力给满555)
但是跑代码的服务器在XJTU的实验室里,按常理需要使用校园网才能使用
那咋办呢?
Quick Start¶
Background
- 事实上,我们实验室的服务器一共有两台,一台叫igw,另一台叫sugon
- 其中igw是实验室的网关服务器(小型数据中心测试床),sugon是实验室的“主力”服务器 (曙光高性能服务器)
sugon服务器访问
- 校园网内直接访问(❌)
- 在家先访问igw,通过igw再访问sugon(✅)
本机配置
Bash | |
---|---|
1 2 |
|
Bash | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
这里有一个历史遗留问题, Be Careful :(
- igw是网关服务器的名称,hw是它的访问网址
- sugon是“主力”服务器的名称,igw是它的访问网址
使用方法
如此配置,我们可以在CLI中使用如下方式进行访问
Bash | |
---|---|
1 |
|
也可以简化成
Bash | |
---|---|
1 |
现在bxhu就可以直接访问“主力”服务器了!可以继续科研民工了 :-)
解析config¶
hw-config¶
Host hw.dfs.net
- 这行定义了一个SSH配置块的开始,名称是hw.dfs.net。这个名称是一个别名,用于在命令行中简化SSH连接命令
HostName hw.dfs.net
- 这是实际的主机名或IP地址。SSH客户端将连接到这个地址
User bxhu
- 指定连接到远程主机时使用的用户名。在这个例子中是bxhu
Port 9322
- 指定连接到远程主机时使用的端口号。在这个例子中是9322,而不是默认的22
PreferredAuthentications publickey
- 指定首选的认证方法。在这个例子中,使用 公钥认证(publickey)
IdentityFile ~/.ssh/id_rsa
- 指定用于 公钥认证的私钥文件路径。在这个例子中是~/.ssh/id_rsa
有了这个配置文件,你可以简化SSH连接命令。例如,通常你可能会使用以下命令连接到远程主机:
Bash | |
---|---|
1 |
|
但是有了上述配置后,你只需要使用别名hw.dfs.net,SSH会自动使用配置中的设置:
Bash | |
---|---|
1 |
|
igw-config¶
Bash | |
---|---|
1 |
|
这一行定义了一个代理命令:
- 表示SSH将通过hw.dfs.net作为跳板主机(Proxy)
- %h和%p分别表示目标主机名和端口号。在连接到igw.dfs.net时,SSH首先连接到hw.dfs.net,然后通过该跳板主机转发到目标主机和端口
有了这个配置文件,你可以简化SSH连接命令。例如,通常你可能会使用以下命令连接到远程主机:
Bash | |
---|---|
1 |
|
但是有了上述配置后,你只需要使用别名igw.dfs.net,SSH会自动使用配置中的设置:
Bash | |
---|---|
1 |
|
SSH会首先连接到hw.dfs.net,然后通过该跳板主机连接到igw.dfs.net。
Summary¶
在上述config配置的加持下,我们现在可以通过如下方式访问sugon服务器
- 表象alias访问
Bash | |
---|---|
1 |
|
- 表象直接访问
Bash | |
---|---|
1 |
|
- 网关直接访问
Bash | |
---|---|
1 |
|
不管写法如何,本质上都是该指令调用hw,然后hw将信息转录进igw,从而实现访问