frp(实现内网穿透)服务搭建与ssh连接测试

frp 内网穿透

内网穿透的英文叫做NAT traversal,又被称为端口映射或内网映射,内网穿透是网络连接术语,如下图如果我(局域网A中的一台服务器)想访问另一个局域网c中的一台服务器,可以通过拥有公网ip的B服务器加上frp服务完成端口转发,达到访问效果。
在这里插入图片描述

frp包

frps/frpc的工具包的github地址是:
https://github.com/fatedier/frp/releases/
根据对应服务器架构下载适合自己的工具包

服务端(带有公网ip的服务器)

#上传后解压
[root@VM-120-2-centos ~]# tar -xvf frp_0.38.0_linux_amd64.tar.gz 
[root@VM-120-2-centos ~]# mv frp_0.38.0_linux_amd64 /usr/local/frp/
#创建frp.service
[root@VM-120-2-centos ~]# vim /usr/lib/systemd/system/frp.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy=multi-user.target
[root@VM-120-2-centos ~]# cd /usr/local/frp/
[root@VM-120-2-centos ~]# vim frps.ini 
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
authentication_method = token
token = pass123456

[root@VM-120-2-centos ~]# systemctl daemon-reload
[root@VM-120-2-centos ~]# systemctl enable --now frp
[root@VM-120-2-centos ~]# netstat -ntlp 

客户端

[root@VM-120-10-centos ~]# tar -xvf frp_0.38.0_linux_amd64.tar.gz
mv frp_0.38.0_linux_amd64 /usr/local/frp/
cd /usr/local/frp/
vim frpc.ini
[common]
#服务器公网ip
server_addr = 43.137.8.225
authentication_method = token
token = pass123456
server_port = 7000
[Fusion-ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 20022
[Fusion-rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 23389
[nginx]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 18080

nohup ./frpc -c ./frpc.ini &
#在服务端上执行
[root@VM-120-2-centos ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1586/sshd           
tcp6       0      0 :::23389                :::*                    LISTEN      15020/frps          
tcp6       0      0 :::18080                :::*                    LISTEN      15020/frps          
tcp6       0      0 :::7500                 :::*                    LISTEN      15020/frps          
tcp6       0      0 :::20022                :::*                    LISTEN      15020/frps          
tcp6       0      0 :::7000                 :::*                    LISTEN      15020/frps   

ssh连接测试

Windows中打开cmd
现在通过主机A(WIndows)进行ssh访问,我们还知道主机B和主机C都是linux系统。
那么ssh命令的格式是为: ssh -p 公网的转发端口 主机C的用户名@公网的ip(如下图)
在这里插入图片描述

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用frp实现内网穿透功能的方法如下: 1. 首先,你需要准备一台公网服务器作为frp服务端,以及一台需要做转发的内网服务器作为frp的客户端。确保这两台服务器可以互相访问。 2. 在公网服务器上安装和配置frp服务端。你可以通过下载frp服务端的方式来安装。具体的步骤是,在公网服务器上下载frp服务端,并进行配置。 3. 下载frp服务端的方法可以根据你的操作系统来选择适合的版本。一般来说,你可以通过在公网服务器上执行命令来下载frp服务端,比如使用wget命令。 4. 下载完成后,你需要进行frp服务端的配置。配置文件通常是一个frps.ini文件,你可以根据自己的需求来修改配置文件中的参数,比如端口号、认证方式等等。 5. 在客户端的内网服务器上,你需要准备工作。比如,确保内网服务器上部署了需要暴露在公网上的资源,比如项目接口。 6. 通过scp命令将下载的frp服务端传送到公网服务器上,可以使用以下命令:scp -P ssh开放的端口 下载的frp_0.51.2_linux_amd64.tar.gz的位置 登录的账号@公网服务器ip:你要拷贝到的公网服务器的位置。 7. 在公网服务器上解压下载的frp服务端,并执行启动命令,启动frp服务端。 通过以上步骤,你就可以使用frp实现内网穿透功能了。这样,你就可以在外部网络访问到内网服务器上的资源,而无需在公网上部署一套相同的服务。同时,通过内网穿透,你可以在家中或其他地方访问公司内网的资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值