1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Frp实现外网穿透访问内网

Frp实现外网穿透访问内网

时间:2020-05-21 18:50:45

相关推荐

Frp实现外网穿透访问内网

一、软件简介

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

frp 的作用

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。

对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

可查看通过代理的所有 http 请求和响应的详细信息。(待开发)

架构图

二、使用案例

2.0 服务器list

2.1 案例目标1

实现本地访问prod redis instance1:

redis节点上已安装frp软件:

[root@server1 frp_0.34.1_linux_amd64]# pwd/opt/software/frp_0.34.1_linux_amd64[root@server1 frp_0.34.1_linux_amd64]# lltotal 22648-rwxrwxr-x 1 1000 1000 9908224 Sep 30 15:38 frpc-rw-rw-r-- 1 1000 10007928 Sep 30 15:44 frpc_full.ini-rw-rw-r-- 1 1000 1000126 Sep 30 15:44 frpc.ini-rwxrwxr-x 1 1000 1000 13205504 Sep 30 15:38 frps-rw-rw-r-- 1 1000 10004928 Sep 30 15:44 frps_full.ini-rw-rw-r-- 1 1000 1000143 Oct 14 13:10 frps.ini-rw-rw-r-- 1 1000 1000 11358 Sep 30 15:44 LICENSE-rw------- 1 root root 29775 Oct 29 08:50 nohup.outdrwxrwxr-x 2 1000 10004096 Sep 30 15:44 systemd

步骤1:>服务端操作

JumperServer 端配置:

配置后,执行启动命令:

cd/opt/software/frp_0.34.1_linux_amd64;

nohup ./frps -c ./frps.ini &

.

说明: 设置frps web侧管理、查看功能, 账户信息配置如下:

[common]bind_port = 7000dashboard_addr = 0.0.0.0dashboard_port = 7001dashboard_user = admindashboard_pwd = dashboard@5431token = QAZ1235

步骤2:>客户端操作

Redis server instance1 客户端配置:

配置后,执行启动命令:

cd/opt/software/frp_0.34.1_linux_amd64;

nohup ./frpc -c ./frpc.ini & 或者 nohup ./frpc &

[common] # 配置frps服务器信息server_addr = jump-server-1server_port = 7000token = QAZ1235[my-redis-7001] # 配置Redis对外暴露的端口、data加密、data压缩信息type = stcpsk = abcdefglocal_ip = redis-1 local_port = 7001use_encryption = trueuse_compression = true

步骤3:>Windows客户端操作

Windows客户端主机上已安装frp软件:

user@DESKTOP-CODE123 MINGW64 /d/BIGDATA_DEV/FRP/frp_0.34.1_windows_amd64$ lltotal 22923-rwxr-xr-x 1 user 197121 10039808 9月 30 15:41 frpc.exe*-rw-r--r-- 1 user 197121335 10月 21 13:51 frpc.ini-rw-r--r-- 1 user 1971217928 9月 30 15:44 frpc_full.ini-rwxr-xr-x 1 user 197121 13379072 9月 30 15:41 frps.exe*-rw-r--r-- 1 user 197121 26 9月 30 15:44 frps.ini-rw-r--r-- 1 user 1971214928 9月 30 15:44 frps_full.ini-rw-r--r-- 1 user 197121 11358 9月 30 15:44 LICENSE-rw-r--r-- 1 user 197121 14660 10月 22 14:15 README.docxdrwxr-xr-x 1 user 197121 0 10月 14 14:21 systemd/

Windows client instance1端配置:

[common]server_addr = jump-server-1server_port = 7000token = QAZ1235[my-redis-7001_visitor]type = stcprole = visitorserver_name = my-redis-7001sk = abcdefgbind_adrr = 127.0.0.1bind_port = 6000

配置后,执行启动命令:

cd /d/BIGDATA_DEV/FRP/frp_0.34.1_windows_amd64;

frpc.exe 或 将封装win脚本并加入C:\Users\user>services.msc做成win自启动服务。

步骤4:

使用Redis客户端连接redis:

连上后,测试效果如下:

2.2 案例目标2

实现本地访问某台服务器(如:nn2):

步骤1:

[common] # frps服务端认证信息配置server_addr = jump-server-1server_port = 7000token = QAZ1235[my-sqoop-22]type = stcp#使用stcp协议sk = abcdefglocal_ip = nn2 #配置nn2 所在的本地IPlocal_port = 22#配置prod希望访问的PORTuse_encryption = trueuse_compression = true

步骤2:

Windows客户端主机上已安装frp软件:

Windows client instance1端配置:

[common]server_addr = jump-server-1server_port = 7000token = QAZ1235[my-redis-7001_visitor]type = stcprole = visitorserver_name = my-redis-7001sk = abcdefgbind_adrr = 127.0.0.1bind_port = 6000[my-sqoop-22_visitor]type = stcprole = visitorserver_name = my-sqoop-22sk = abcdefgbind_adrr = 10.3.254.254 #Windows本地IPbind_port = 6001

配置后,执行启动命令:

cd /d/BIGDATA_DEV/FRP/frp_0.34.1_windows_amd64;

frpc.exe 或 将封装win脚本并加入C:\Users\user>services.msc做成win自启动服务。

步骤3:

Windows客户端主机,安装ssh服务:

Win键-》设置-》应用-》应用和功能-》可选功能-》找到openssh服务器-》安装。

Win键-》设置-》应用-》应用和功能-》可选功能-》找到openssh客户端-》安装。

步骤4:

验证ssh client 是否安装成功:

任意目录下,右键打开“git bash here”(假设已安装Git客户端),输入ssh:

user@DESKTOP-CODQ9G8 MINGW64 /d/BIGDATA_DEV/FRP/frp_0.34.1_windows_amd64$ sshusage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface][-b bind_address] [-c cipher_spec] [-D [bind_address:]port][-E log_file] [-e escape_char] [-F configfile] [-I pkcs11][-i identity_file] [-J [user@]host[:port]] [-L address][-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port][-Q query_option] [-R address] [-S ctl_path] [-W host:port][-w local_tun[:remote_tun]] destination [command]

步骤5:

ssh keygen后生成ssh共秘钥信息:

user@DESKTOP-CODQ9G8 MINGW64 ~$ cd .ssh/user@DESKTOP-CODQ9G8 MINGW64 ~/.ssh$ lltotal 7-rw-r--r-- 1 user 197121 403 10月 22 13:51 authorized_keys-rw-r--r-- 1 user 197121 1679 10月 21 13:33 id_rsa-rw-r--r-- 1 user 197121 403 10月 21 13:33 id_rsa.pub-rw-r--r-- 1 user 197121 379 10月 21 13:35 known_hosts

步骤6:

将win上生成的公钥文件 id_rsa.pub 中的内容,拷贝至 prod bdc server2 上root用户的 authorized_keys文件中。

步骤7:

设置开机自启动:

在/lib/systemd/system 目录下, 新建启动服务文件(frp.service):

[Unit]Description=Frp Client Start on Reboot.After=network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=/opt/software/frp_0.34.1_linux_amd64/frpc -c /opt/software/frp_0.34.1_linux_amd64/frpc.ini[Install]WantedBy=multi-user.target

将该服务设置开机自启动:

[root@nn2 system]# pwd/lib/systemd/system[root@nn2 system]# vim frp.service[root@nn2 system]# ll frp.service -rw-r--r-- 1 root root 266 Oct 29 11:50 frp.service[root@nn2 system]# systemctl enable frp.service Created symlink from /etc/systemd/system/multi-user.target.wants/frp.service to /usr/lib/systemd/system/frp.service.

2.3 win10 服务器上创建启动脚本

文件格式为bat, 如可以命名为: start_frp.bat

@echo offstart /d "D:\BIGDATA_DEV\FRP\frp_0.34.1_windows_amd64\" frpc.exeexit

2.4 查看frps web控制台页面

登录web控制台:http://${dashboard_addr}:${dashboard_port}

弹出的账户弹窗中填入:$dashboard_user $dashboard_pass

①.概览

②. 代理列表

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。