新闻资讯

公司内网穿透如何实现?为什么说用花生壳简单又快捷?

2022-10-18

在国内,由于大多数用户都不是直接连接在互联网上,而是先连接到局域网,然后再通过局域网的网关接入互联网;那么如何公司内网穿透?所以,作为一个编程技术人员,想要自己的程序能够在多个不同局域网内的主机之间进行通信,掌握局域网穿透是一个必不可少的技能。

不同局域网内主机互联的最大障碍

1障碍一:
位于局域网内的主机有两套 IP 地址,一套是局域网内的 IP 地址,通常是动态分配的,仅供局域网内的主机间通信使用;一套是经过网关转换后的外网 IP 地址,用于与外网程序进行通信。
2障碍二:
位于不同局域网内的两台主机,即使是知道了对方的 IP 地址和端口号,就这么“一厢情愿”地将数据包发送过去,对方也是接收不到的。为什么呢?
因为出于安全起见,除非是主机主动向对方发出了连接请求(这时会在该主机的数据结构中留下一条记录),否则,当主机接收到数据包时,如果在其数据结构中查询不到对应的记录,那些不请自来的数据包将会被丢弃。

实现局域网穿透的解决办法

1要想解决以上两大障碍,我们需要借助一台具有公网 IP 的服务器进行牵线搭桥。为了便于说明,先假设这里有两台位于不同局域网内的主机 A 和主机 B,以及一台具有公网 IP 地址的服务器。想在这两台主机间实现通信,具体的实现方法为:
1)A 和 B 分别连接到服务器,这时,服务器将它们的外网 IP 和经过转换后的端口号(IP 地址和端口号合称套接字,下面就用套接字来代替)存储起来。
2)A 向服务器发送请求获取 B 的套接字,再根据获取的信息发送数据包给 B。
B 收到 A 发来的数据包后,由于在它的数据结构中查询不到对应的记录,数据包将会被丢弃。当然,B 此时完全接收不到 A 发来的信息。
3)A 向服务器发送消息,告知服务器自己已经向 B 发送了数据包。于是,服务器开始向 B 发送消息,通知它 A 想和其建立连接,并将 A 的套接字发给 B。
此时,B 根据得到的 A 的套接字,再向 A 发送数据包。由于 A 事前已经向 B 发送过数据包,在 A 的数据结构中留存有记录,因此,A 将能够成功接收到 B 的数据包。
4)A 接收到 B 发来的数据包后,可以再向 B 发送数据包。同样,由于 B 此前向 A 发送过数据包,在 B 的数据结构中留有记录,因此现在 B 也能够成功接收 A 发来的数据包了。
至此,不同局域网内的主机 A 和主机 B 就可以自由通信了。

利用花生壳实现公司内网穿透

花生壳官网下载花生壳(内网穿透)版本客户端。
  第一步,下载到本地后安装,登录客户端
  第二步,添加映射
  点击花生壳主界面上的“内网穿透”,则跳转至花生壳管理内网穿透页面,点击界面右上角“添加映射”按钮过程如图:
  “应用名称”是自定义,选择域名和映射类型,填写“内网主机”,“内网端口”以及选择“外网端口”形式,点击确定即可。
  添加成功,产生一个外网访问地址。
  第三步 外网测试访问
  在外网打开浏览器输入花生壳的外网访问地址测试访问,如果访问到的界面跟局域网访问的界面一致代表映射正常。
相信大家花生壳的使用过程,都可以上手完成公司内网穿透的操作了。花生壳内网端口映射工具自带端口映射功能,可以帮助用户解决各种网络需求,同时还能帮助用户实现内网穿透,即便用户处于复杂的网络环境中,花生壳也能正常解析域名。