连网

“连网”

平时我们说的连网,连网到底是什么呢?为什么实验室的主机只能接网线或者连接 wifi 才能访问互联网上的各种资源呢?

为了搞清楚这个问题,需要搞懂下面几个概念

连网:主机通过有线或无线方式接入网络,获得 IP 地址,并能够与其他设备或互联网进行数据通信的过程。

主机网络通信的方法

公网通信

两台主机都有公网 IP, 可以直接通过 ssh user@公网 IP 连接

这种通常只适用于具有固定公网 IP 的设备连接。

家庭的宽带通常是动态的公网 IP (重启光猫以后会变化),企业或者云服务器才是静态公网 IP 。

  • 解释家里为什么只有连接 wifi (连接路由器)才能访问互联网上的各种资源。

只要是需要访问互联网上的资源,那么都需要设备具有公网 IP, 但是手机等设备出厂时只有 mac 地址,连接路由器的才会给你分配 IP 地址(IP 地址是逻辑地址,由网络环境决定的),但是就算给你分配了,也只是内网 IP,路由器才是唯一具有公网 IP 的设备。

不过连接的路由器会将你的内网 IP 结合自己的 WAN 口(公网 IP)转换成公网 IP,收到回复包的时候,又将这个公网 IP 转换成内网 IP 从而找到你的设备,这其中牵扯到的协议叫做 NAT 协议,这里先不仔细讲了,大概是实现了地址转换的意思。

Ps. 用 4G/5G 是不经过家用路由器,直接通过基站连接到运营商的核心网,然后运营商给你分配 CGNAT IP/ 公网 IP 。

局域网通信

同一局域网内通信

在同一局域网下面,通过局域网的 IP 能够直接进行通信。这个用的比较多,一般公司/学校/实验室内部服务器都是通过这种方式。

那么有些时候为了固定比如监控摄像头和打印机的 IP 或者实验室根本就没有路由器(纯内网通信),这个时候作为计算机专业的我们,可能会让我们配置静态 IP。

于是就会接触下面的概念:

  1. 子网掩码:用于划分网络地址和主机地址。同一局域网的所有 IP & 上这个掩码都会得到同一个地址(一般就填 255.255.255.0 )
  2. 默认网关:当访问不是局域网的地址的时候,数据包就会发给网关。通常是路由器的内网 IP ,大多数默认网关的 IP 地址的最后一位是 1 或者 254(0 不可以,255 用作广播)
  3. DNS 服务器:用于将输入的域名解析成 IP 地址,比较方便。DNS 服务器通常填 114.114.114.114 这种公共 DNS 服务器即可

在纯内网通信(实验室中常用)当中,交换机由于没有 DHCP 服务器,就没有自动分配 IP 的功能(路由器有),所以这个时候只能通过手动配置 IP 的方式来实现通信。

这个时候只需要所有的机器都在同一个网段,比如

1
2
3
4
5
6
7
8
9
10
IP: 不冲突就行
机器 A : 192.168.10.10
机器 B : 192.168.10.11
机器 B : 192.168.10.12
子网掩码:
统一填 255.255.255.0
默认网关:
一般留空(0.0.0.0),因为一般不需要上网
DNS:
一般也留空,除非你要解析域名,但是一般内网用 IP 地址
  • 如何配置一个新设备的静态 IP
  1. 记录同网段下另一台配置好得设备的网段 (IP + 子网掩码 192.168.31.0/24)和默认网关( 192.168.31.1)
  2. 选择一个不冲突的静态 IP(ping 一下看看连不连通),登录设备的管理界面,这个一般根据设备的不同有些许不同,可以查看下表:
设备类型 登录方式
打印机 1. 在打印机面板上查看 IP 2. 用浏览器访问该 IP 3. 输入管理员账号密码(默认常印在机身)
交换机(网管型) 1. 用 Console 线(串口)连接电脑 2. 用终端软件(PuTTY、SecureCRT)登录
摄像头 / NAS 浏览器访问 IP 或专用客户端
Linux 服务器 SSH 登录后修改网络配置文件
  1. 配置 IP 参数(一般内网就配置 IP 地址和子网掩码就可以)同时保存验证,比如用新 IP 能够重新访问设备的管理界面和用其他设备 ping 一下这个设备来测试连通。

不同局域网之间通信

  • 通过跳板机中转

跳板机:一个专门用于中转访问内网资源的 “堡垒” 服务器,一般用于集中管理访问权限。

比如公司的数据库服务器,或者内部的 API 服务部署在私有网络中,处于安全考虑不允许直接暴露到互联网中。所以他们没有公网 IP,同时又不可能和你在一个局域网内,这个时候就需要先登录一台有公网 IP 的跳板机,再从它跳转过去。

这样目标服务器就实现了完全隔离,其防火墙只允许跳板机 IP 访问 SSH 端口。

  • 那么我们如何能够通过跳板机来连接目标服务器呢?

最推荐的就是直接编辑本地电脑的 SSH 配置文件(~/.ssh/config 文件)。假如我们有如下信息

角色 信息
跳板机 公网 IP: 203.0.113.10,用户名: abc,SSH 端口: 22
目标服务器 内网 IP: 10.0.1.20,用户名: cba

那么直接在配置文件中定义如下即可:

1
2
3
4
5
6
7
8
9
10
11
# 跳板机定义
Host jump
HostName 203.0.113.10
User ops
Port 22

# 目标服务器(通过跳板机访问)
Host db-server
HostName 10.0.1.20
User app
ProxyJump jump

vscode 下载相应的插件以后读取这个配置,就能直接连接内部服务器,实现代码编辑和文件上传(vscode 内置的 SFTP )。也有人用 xftp 或者 Filezilla 来实现文件传输,我没用过,所以暂时不评论。

Ps. vscode 具体操作就是调出命令面板,remote-ssh: connet to host。

  • 内网穿透

这个暂时没有接触到,先挖个坑。。。


连网
https://dxblacksmith.github.io/2025/12/07/连网/
作者
DxBlackSmith
发布于
2025年12月7日
许可协议