| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 使用frps和frpc实现内网穿透 -> 正文阅读 |
|
[系统运维]使用frps和frpc实现内网穿透 |
内网穿透的作用包括跨网段访问一个局域网中的一台主机。 ?如上图,假设我们想要通过主机A访问主机C,但是主机A和主机C绑定的都是私有ip地址,所以它们之间是无法直接进行通信的。要想使得A和C能够进行通信,就需要用到内网穿透的技术。 我们可以借助frps(服务端)和frpc(客户端)来实现主机A对主机C的访问。 需要做的是: 1.在绑定了公网ip的主机B中配置frps(服务端) 2.在主机C中配置frpc(客户端) frps/frpc的工具包的github地址是: https://github.com/fatedier/frp/releases/ 下载适合自己机器的版本即可。 在服务端,即主机B中,编辑frps.ini文件:
然后可以启动服务端,切换到frps软件的解压目录之后,使用命令: ./frps -c frps.ini 在客户端,即主机C中,编辑frpc.ini文件:
客户端会根据frpc.ini文件中配置的server的ip以及port 与 服务端监听的7000端口进行连接? 客户端使用命令连接到服务端: ./frpc -c frpc.ini ?这里主机C(客户端)相当于是充当了反向代理的角色,而主机B(服务端)充当了正向代理的角色。 正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;而反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。 因此,主机B用来接收主机A发送过来的请求,然后主机B将请求转发给主机C,从而主机A和主机C就能够进行通信了。 比如根据上面frpc.ini配置的ssh的内容,可知主机A通过ssh访问主机B的20022端口的时候,主机B会把该请求转发给主机C的22端口,因此主机A和主机C就建立了ssh的连接。 举例: Windows中openssh的下载地址是:https://www.mls-software.com/opensshd.html,安装完成之后,可以直接在powershell的命令行中调用ssh命令。 现在通过主机A(WIndows7)进行ssh访问,我们还知道主机B和主机C都是linux系统。 假设主机C中有两个用户,一个用户的用户名是acat,另一个用户的用户名是oracle, 那么ssh命令的格式是为:????????ssh -p 公网的转发端口 主机C的用户名@公网的ip ?同样,可以使用SFTP协议传输文件,相当于是使用SCP命令来完成这种操作,因为SCP相当于是传输文件的过程中加了密。 命令格式:? ? ? ? 把主机A(本地机器WIndows7)上的文件传到主机C:(注意这里的P是大写的) scp -P?公网的转发端口?主机A文件路径?主机C用户名@公网ip地址:主机C文件路径 拉取主机C上的文件到主机A(本地机器Windows7)中: scp -P?公网的转发端口 主机C用户名@公网ip地址:主机C文件路径 主机A的目录 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:00:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |