Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网

我们知道 “甲骨文云Shell” 有两种网络模式,一为:Public Network(公共网络),二为:Private Network(专用网络)

那么 “专用网络” 可以用于连接并且管理,本云账户主区域,虚拟VNC子网内得云服务器,而 “公共网络” 可以自由访问公网,但只能以C模式,因为其公网防火墙是被屏蔽IN方向得。

但是,人们仍旧可以让甲骨文云Shell,控制台运行的服务器端口被映射到公网,并且加以访问,毕竟人们要知道,甲骨文云Shell,控制台运行的服务器,可是足足分配了10G的内存,并且CPU双核并且性能非常强悍的。

而且甲骨文云Shell,控制台分配的公网IP还是 “静态IP”,就是它的IP地址几个月都不会发生任何改变非常之香气,只要不更换 “甲骨文云账户” 或者切换到其它的主区域,并且无限上下行流量,保底宽频大小上GE。

但我们需要准备以下几个工作:

1、准备一台具有公共IP且可以开放外网端口的服务器,可以是NAT/VPS,上行带宽口子越大越好

2、分析甲骨文云Shell,机器的公网IP地址、还有本机IP地址。

     2.1、本机IP地址,无法通过 ip a、ifconfig 命令来获取本机IP地址,关于网卡IP配置文件均不可以访问。

             可尝试以下方法:

             方法一:awk '/32 host/ { print f } {f=$2}' <<< "$(

             方法二:nano showips.sh

#!/bin/bash

ft_local=$(awk '$1=="Local:" {flag=1} flag' <<< "$(

          2.2、

               方法一:获取公网IP地址,这种方法比较多,可以显示来源客户端IP地址的工具有很多,比如人们使用 perf、perf3 的客户端/服务器模式来测试公网IP地址。

              方法二:curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

3、由于不能使用 rz/sz 这类型的工具,但人们可以采用 scp 命令或把资源传到自己的HTTP服务器上面使用 wget/curl 命令来下载工具。

4、推测甲骨文云运行 Cloud Shell Console 的母鸡服务器,应该是采用的标准版本的 BBR+FQ 拥塞控制算法,所以如果线路质量极差的情况下,另一端可以考虑采用 “锐速、BBR+”,并且对TCP内核协议栈参数进行调优。

本文实战的甲骨文云 Shell 控制台主区域是韩国首尔,本来以为是可以自带流媒体解锁 Netflix、Disney+,然而错亿了,所以人们可以尝试其它主区域的 Cloud Shell 控制台能不能解锁流媒体。

现在开始部署FRP工具。

1、甲骨文云 Shell 控制台上部署FRP工具的客户端模式 

开源项目:liulilittle/frp: Fast reverse proxy supports UDP/TCP tunnel proxy. (github.com)

下载官方编译好的ELF二进制程序,甲骨文云 Shell 控制台服务器是 AMD_X86_64 指令集处理器平台:

https://github.com/liulilittle/frp/releases/download/1.0.0.0/frp-linux-x86_64.zip

ZIP压缩包内自带三个文件:

frp 工具ELF二进制程序(默认带X可执行权限)

frpc.ini 客户端配置

frps.ini 服务器配置 

修改客户端模式配置 frpc.ini

[app]
alignment=4096
mode=client
ip=反向代理服务器IP地址
port=反向代理服务器端口号
backlog=511
fast-open=true
turbo.lan=true
turbo.wan=true
connect.timeout=10
inactive.timeout=72
protocol=websocket
websocket.host=frp.org
websocket.path=/tunnel

[http]
type=tcp
local-ip=185.207.153.31
local-port=80
remote-port=80

protocol 目前可选两个协议:tcp、websocket

2、具有公网IP的运行反向代理服务器程序的VPS/VDS机器

服务器指令集是X86_64就下X86_64,是AARCH64(ARM64)就下AARCH64的压缩包,解压以后配置 frps.ini 文件。

[app]
alignment=4096
mode=server
ip=::
port=7000
backlog=511
fast-open=true
turbo.lan=true
turbo.wan=true
connect.timeout=10
inactive.timeout=72
protocol=websocket
websocket.host=frp.org
websocket.path=/tunnel

运行FRP反向代理工具程序

如果本地配置文件只有 frpc.ini、frps.ini 则FRP程序运行时自动选择配置文件,但如果目录下这两个文件都有那么运行的时候需要手动执行命令 frp -c 配置文件路径。

参考命令:frp -c frpc.inii、frp -c frps.ini

FRP可以识别当前目录下的默认配置文件命:frp.ini、frpd.ini、frpc.ini、frps.ini

一切准备就绪以后,我们来实战上网访问的效果,速度及效果非常给力,测试本地环境: 

甲骨文云韩国首尔 Cloud Shell Console + 甲骨文云韩国首尔ARM64 2GE + 中国大陆成都移动

Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网_第1张图片

 Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网_第2张图片

 

 Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网_第3张图片

 Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网_第4张图片

 Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网_第5张图片

你可能感兴趣的:(C/C++,IP,PROXY,oracle,服务器,java)