centos内网映射 centos7查看ip命令

大家好,感谢邀请,今天来为大家分享一下centos内网映射的问题,以及和centos7查看ip命令的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

如何在外网用ssh访问内网linux服务器

1

实现此的技术原理:

在内网通过域名绑定服务器,外网SSH访问连接时,通过域名的访问,实现访问内网LINUX。

2

具体的实现过程如下:

明确LINUX服务器内网访问地址端口,确保LINUX服务器正常开启SSH服务,在内网SSH可以正常访问连接。如图所示:

3

被访问端的Linux主机上使用nat123动态域名解析Linux版本。

在被访问端的Linux服务器安装nat123客户端,并登录使用它。

4

登录网页,左侧用户中心,添加域名解析,选择动态域名解析并添加确认。

选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。如不理解负载均衡,不要勾选多点登录。

5

新添加动态解析后,等待几分钟生效。解析生效后,动态解析域名与本地公网IP是保持对应的。可以通过ping下域名核实,返回结果IP地址为本地公网IP地址时,表示动态解析生效正常。

6

路由器端口映射,路由映射SSH访问22端口。

为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网LINUX服务器访问22端口打通。路由器端口映射位置:转发规

则/虚拟服务器/添加允许外网访问端口和协议。我的LINUX服务器SSH服务端口是默认的22,我内网对应LINUX服务器主机的内网IP地址是

192.168.1.29。

7

外网访问时,使用动态解析域名。

在外网使用SSH访问内网LINUX服务器时,使用动态解析域名进行连接访问。域名是不变的,可以上网即可访问,再也不担心动态公网IP变化的问题。

别人怎样访问自己的localhost:8080前端项目内网穿透

一、了解内网穿透

内网穿透又叫内网映射,功能是把内网IP映射到公网,使公网也能轻松访问所搭建的服务。

我在公司电脑上运行了一个web项目,现在希望所有人都能访问它。

很显然,只有公司的同事能通过]ip地址访问到页面,公司外的人访问不到。

这时候你有两种方案:一是把网站部署到服务器上,二就是用内网穿透了。

部署到服务器费不能实时刷新,改动一行代码都要打包上传,费时费力。

ps:?内网映射方便的同时也会带来安全风险

内网穿透能干什么?

在外网演示你本地的web项目

手机测试移动端的网页

远程控制自己电脑

和朋友联机打游戏

...

穿透的过程

?以vue项目为例,你已经运行了项目,地址是

这时“人在公司坐,活从天上来”,在客户那边的同事要给客户展示下开发进度。

你只要运行一下穿透的服务,然后把公网访问的地址发给同事,就能访问本地的

DDNS和内网穿透

?

二、实现穿透

实现穿透就需要提供映射的服务端,这个服务端可以是网上免费的,也可以是自建的。

自建服务推荐两个开源项目frp和ngrok

免费自建●?小米球●?花生壳●NATAPP●cpolar??......●frp●ngrok三、免费服务

小米球

花生壳

NATAPP

cpolar

免费服务通常有几个限制,也提供收费服务

需要注册账号

访问地址不固定

有访问时间限制

优势也非常明显,不需要服务器,使用方便等

网上还有很多内网映射服务商,自行搜索

免费服务的流程大同小异,都需要注册一个账号,下载客户端使用

?以小米球()为例

?注意:小米球需要实名认证

官网上的演示视频

注册账号?

登录?

通过菜单【系统管理】->【账户管理】->【我的账户】获取token

下载客户端(注意选择合适的版本)?官网下载链接

修改配置配置xiaomiqiu.conf

server_addr:?ngrok2.xiaomiqiu.cn:5432trust_host_root_certs:?trueauth_token:

把auth_token改成自己的token,?不要改动其他内容

运行小米球一键启动工具.bat即可

四、用frp自建服务

重点说一下如何自建内网穿透。

偶尔用一次,我建议注册免费的服务即可

4.1frp是什么?

frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。

frp官网下载地址开源协议Apache-2.0

首先需要一台公网服务器

?“我有个朋友,他恰好有一台”

4.2下载安装包

frp的每个压缩包中都包含客户端和服务端两套文件,以文件名区分

frpc开头的文件是客户端(运行在需要穿透的机器)

frps开头的文件是服务端(运行在公网服务器)

我的环境如下,所以需要下载两个安装包

系统安装包名需要穿透的机器Windows10?64位frp_0.42.0_windows_amd64.zip公网服务器LinuxCentOS764位frp_0.42.0_linux_amd64.tar.gz4.3配置服务端

在本地解压frp_0.42.0_linux_amd64.tar.gz,修改好配置再传到服务器

修改frps.ini

[common]bind_port?=?7000#?客户端和服务端必须使用相同的token才能建立连接#?相当于连接密码,自由设置token?=?0jiklwLgXq#?http代理访问端口vhost_http_port?=?9999#?以下参数可选#?-----------#?开启数据仪表盘,端口7500dashboard_port?=?7500#?数据仪表盘的用户名密码,默认为?admindashboard_user?=?admindashboard_pwd?=?admin

上传以下文件到服务器

│??frps│??frps.ini│??frps_full.ini│??LICENSE│└─systemd

frpc开头的文件是客户端文件,服务器上用不到

增加执行权限

?chmod?+x?frps

开放防火墙和安全组配置文件中的端口

7000:连接端口

7500:仪表盘端口

9999:web服务访问端口

我用的华为云,安全组策略如下。

4.4配置客户端

解压frp_0.42.0_windows_amd64.zip

修改frpc.ini

[common]server_addr?=?你的服务端IPserver_port?=?7000token?=?0jiklwLgXq[web]type?=?http#?需要穿透的本地端口local_port?=?8080custom_domains?=?你的服务端IP4.5运行

运行服务端

进入frp所在目录执行

./frps?-c?./frps.ini

?如图表示运行成功

运行客户端

进入frp所在目录执行

./frpc?-c?./frpc.ini

?如图表示运行成功

4.6效果

web服务穿透

本地localhoust:8080

穿透后*.*.*.*:9999

仪表盘服务

五、扩展5.1frp还能做什么?

frpc_full.ini是客户端全部配置示例

frps_full.ini是服务端全部配置示例

frp根据不同配置提供不同服务,以下是官网提供的配置示例

通过ssh访问内网机器

访问内网web服务(本文内容)

转发DNS查询请求

转发Unix域套接字

提供简单文件访问服务

为本地HTTP提供HTTPS服务

安全地暴露内网服务

点对点内网穿透

5.2动态端口脚本

问题:怎样快速切换代理的本地端口号?

frp运行时依赖配置文件

./frpc-c./frpc.ini调用的frpc.ini

用node.js写一个修改端口的脚本,保存为D:\frp\frpPort.js

const?fs?=?require('fs')const?readline?=?require('readline')var?exec?=?require('child_process').exec//?修改成自己的路径const?path?=?'D:\\frp\\frpc.ini'const?runFrp?=?'D:\\frp\\frpc?-c?'const?rl?=?readline.createInterface({??input:?process.stdin,??output:?process.stdout});rl.question('输入要穿透的端口号:?',?port?=>?{??let?config?=?fs.readFileSync(path,?'utf-8').toString()??const?key?=?"local_port?=?"??const?newConfig?=?config.replace(new?RegExp(`(?<=(${key}))\\d+`,?'g'),?port?||?'8080')??fs.writeFileSync(path,?newConfig)??exec(runFrp?+?path,?(error,?stdout,?stderr)?=>?{????console.log(stdout)??});??rl.close();});

用正则替换端口,更好的方式是ini模块constini=require('ini')

原文;??但是需要npm安装,“可以但是没必要?”

cmd运行脚本命令

node?D:\frp\frpPort.js

没有报错信息表示穿透成功

截图时服务端已经运行

5.3快速运行脚本

问题:frp提供这么多服务,怎样快速切换?

从配置文件下手,可以新建多个配置文件

?举个栗子

frpc_web.ini:提供web穿透

frpc_file.ini:提供简单文件访问

然后写一个bat脚本来运行,保存为frpRun.bat

?注意保存时的编码选GB2312,否则乱码

?配合动态端口脚本

@echo?offecho?输入序号运行不同服务echo?1??运行web穿透echo?2??运行动态修改端口穿透set?/p?var=请输入序号:?if?"%var%"=="1"?(????echo?运行web穿透...????@REM?下面改成你的路径????D:\frp\frpc?-c?D:\frp\frpc_web.ini)?else?if?"%var%"=="2"?(????echo?运行动态修改端口穿透...????@REM?下面改成你的路径????node?D:\frp\frpPort.js)?else?(????echo?序号错误)pause

截图时服务端已经运行

5.4Linux下的脚本

参考我的另一篇

通过封装Nginx4个命令,学习编写Shell脚本

六、报错处理

tokeninlogindoesn'tmatchtokenfromconfiguration

[common]bind_port?=?7000#?客户端和服务端必须使用相同的token才能建立连接#?相当于连接密码,自由设置token?=?0jiklwLgXq#?http代理访问端口vhost_http_port?=?9999#?以下参数可选#?-----------#?开启数据仪表盘,端口7500dashboard_port?=?7500#?数据仪表盘的用户名密码,默认为?admindashboard_user?=?admindashboard_pwd?=?admin0

解决:检查token是否正确(尝试重新填写两边token)

logintoserverfailed:dialtcp*.*.*.*:7000:connectex:Noconnectioncouldbemadebecausethetargetmachineactivelyrefusedit.

[common]bind_port?=?7000#?客户端和服务端必须使用相同的token才能建立连接#?相当于连接密码,自由设置token?=?0jiklwLgXq#?http代理访问端口vhost_http_port?=?9999#?以下参数可选#?-----------#?开启数据仪表盘,端口7500dashboard_port?=?7500#?数据仪表盘的用户名密码,默认为?admindashboard_user?=?admindashboard_pwd?=?admin1

解决:服务端没有运行

type[http]notsupportwhenvhost_http_portisnotset

[common]bind_port?=?7000#?客户端和服务端必须使用相同的token才能建立连接#?相当于连接密码,自由设置token?=?0jiklwLgXq#?http代理访问端口vhost_http_port?=?9999#?以下参数可选#?-----------#?开启数据仪表盘,端口7500dashboard_port?=?7500#?数据仪表盘的用户名密码,默认为?admindashboard_user?=?admindashboard_pwd?=?admin2

解决:配置服务端的http端口

配置正确,连接不上?

尝试使用kcp配置

服务端

[common]bind_port?=?7000#?客户端和服务端必须使用相同的token才能建立连接#?相当于连接密码,自由设置token?=?0jiklwLgXq#?http代理访问端口vhost_http_port?=?9999#?以下参数可选#?-----------#?开启数据仪表盘,端口7500dashboard_port?=?7500#?数据仪表盘的用户名密码,默认为?admindashboard_user?=?admindashboard_pwd?=?admin3

客户端

[common]bind_port?=?7000#?客户端和服务端必须使用相同的token才能建立连接#?相当于连接密码,自由设置token?=?0jiklwLgXq#?http代理访问端口vhost_http_port?=?9999#?以下参数可选#?-----------#?开启数据仪表盘,端口7500dashboard_port?=?7500#?数据仪表盘的用户名密码,默认为?admindashboard_user?=?admindashboard_pwd?=?admin4最后

?注意安全!

?安全!

?全!

原文:

用CentOS云服务器搭建frp内网穿透服务

frp是Github上的一个项目,它是一种可以将内网IP映射到公网IP的内网穿透工具。一旦启用frp服务,原本没有公网IP的设备将因为frp的映射功能而获得一个公网IP。这样一来,互联网上的设备就可以通过访问这个公网IP的特定端口来访问该设备,从而解决了仅拥有内网IP的设备在互联网通信中遇到的难题。

实验环境

首先在腾讯云、阿里云等云服务器供应商处购买云服务器,如果是在校大学生,可以享受便宜的学生特惠服务器。

如果是初次接触云服务器的读者,可以参考以下博文:教程以阿里云为例,但不同的云服务器操作大同小异,稍作调整即可。

实验步骤

1.申请云服务器

2.配置frp服务端

远程连接自己的服务器,进入终端。进入终端后注意当前的用户是否为root,用户名可从启动服务器后的第一行文字获知:

图中红线处显示的字符串为"admin",说明我现在正处于admin账户下,需要切换到root账户,在终端中输入:

当看到红线最新弹出的命令行中"@"前的字符串变成"root"时,说明已经成功切换至root用户,此时,我们在终端中输入命令将路径切换至root目录下:

接下来,我们访问github,查看frp的最新版本。

本文使用的frp版本为v0.31.1,以下均用v0.31.1作为示例,frp版本如有不同,只需要将下面指令中的所有"v0.31.1"字段更换成目前的版本号即可。

从github上获取并且安装frp:

frp安装之后,进入目录并修改frp服务器端配置:

修改frps.ini内容如下:

修改完成,保存(修改时用到vi编辑器,对vi操作不熟悉的读者可以参考该博客: CentOS常用命令之:VI)

在终端中通过以下命令启动frp:

每次需要使用frp服务时,都必须在/root/frp_0.31.1_linux_amd64/目录下输入该命令启动frp服务端,如果觉得每次要用时都要打开比较麻烦,可以通过编写自启动模板使该服务开机自启动,具体的设置可以参考该博客:

3.在客户端下载并配置frp

在 github.com/fatedier/frp...下载对应版本的Windows版frp,由于本推文中,服务器端使用了frp_v0.31.1_linux_amd64.tar.gz,相应的,在Windows上应该下载frp_v0.31.1_windows_amd64.zip

将下载好的.zip文件解压到自己喜欢的目录,进入该文件夹,可以看到很多文件名中带有"frps"的文件以及文件名中带有"frpc"的文件,分别对应frp的服务器端和客户端,我们正在配置的是客户端,因此文件名中带有"frps"的文件均无需保留,可以删除。

删除后应具有以下文件/文件夹。

用记事本打开frpc.ini,编辑内容如下:

PS:

2. remote_port和server_port所用端口号不能被云服务器的其他进程占用,而且必须被云服务器的防火墙放行(我的印象中,阿里云默认不放行,需要在安全组中设置允许该端口的tcp/udp通信;腾讯云默认全放行,不用设置。)

3.保存时确认frpc.ini编码类型为UTF-8。

大功告成,可以运行了。在打开CMD或者Windows Terminal用cd命令进入frpc.ini所在目录,输入:

当出现类似下图的输出时,说明frpc.ini正常启动,已经可以通过公网IP对你的设备进行访问:

4.创建一键运行脚本(可选)

再做一个小小的优化,每次运行frp服务都要在cmd进入该目录输入指令,略显麻烦,因此,在该目录下创建一个runfrp.txt文档,在文档的第一行输入:

保存文件,修改文件名为runfrp.bat,以后只要双击这个.bat文件,就可以一键启动frp客户端服务了。

至此,frp配置完成。

阅读剩余
THE END