首页 >>  正文

linux如何查看本机ip

来源:baiyundou.net   日期:2024-09-24

作者:丶Source

写在前面

本文主要基于微信回调需求整理的 frp 内网穿透脚本。
最终效果就是通过一台带有公网 IP 的服务器实现通过在公网访问你的 Nas 上的应用
因为确实涉及到服务器配置、命令行操作,有一定的门槛,我会尽量以新手友好的方式来分享教程

本文大纲如下,可按需选择感兴趣部分查看:

微信回调

最初就是为了配置 NasTools 支持微信回调,实现微信搜索影片自动下载:

  • 回调是由微信的服务器发起,需要提供一个 NasTools 的公网访问入口

  • 目前使用的是移动宽带,只有公网 IPv6,没有提供公网 IPv4

  • 企业微信回调目前不支持 IPv6

那么最终就只能做利用内网穿透代理来暴露公网了
文章篇幅原因且企业微信回调支持通过 IP 访问,本文未涉及域名及Https配置

内网穿透

内网穿透软件,之前也有介绍过 ZeroTier

但 ZeroTier 更多是用于异地组网实现类似 VPN 的功能,不太适用于这个需求场景:

通过内网穿透,将 NasTools 的微信回调接口暴露到公网给企业微信应用发访问

而这恰恰是 frp 的目标场景,正如官网介绍的:

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

其工作流程如下:

  1. 外网机器无法访问到 Nas,但是 Nas 可以主动访问公网的 vps

  2. 在 Nas 运行 frpc 客户端主动与 vps 上的 frps 服务端建立连接

  3. 运行在公网 vps 的 frps 服务端将特定端口的请求转发给 Nas

通过在公网 vps 上进行内网穿透代理,最终实现了企业微信回调访问 NasTools

准备工作

在配置内网穿透前需要完成以下前提条件:

前提条件作用
一台有公网 IPv4 的 vps部署 frps 提供穿透代理
支持通过 ssh 登录到服务器的终端登录 vps 进行命令行配置
内网穿透软件本文选择了 frp 作为内网穿透工具

针对 vps 的选择,可以考虑:

  1. 国内的大厂提供的 vps,如腾讯云、阿里云、华为云等等

  2. 仅用于做内网穿透代理,使用最低配置即可,但必须要分配独占的公网 IP

  3. 不做其他用途的话,1Mbps 的带宽就足够提供回调访问了

  4. 选择 linux 系统,如 debian、ubuntu、centos 等

具体的 vps 购买及系统安装,厂商提供的教程已经非常全了,这里就不再展开细说

服务端配置

安全组开放端口

这里以目前我使用的腾讯云为例,仅列出关键步骤,完整操作见官网文档

完成 vps 购买及系统初始化后,需要规划服务器端口开放,有两种方式:

  • 放通所有端口,相当于不做任何访问控制

  • 放通自定义端口,仅开放指定的端口暴露公网,其他端口则不允许访问

嫌配置麻烦的话,可以选第一种,牺牲一定的安全性来换取便利

以腾讯云为例,新增一个安全组选择放通全部端口模版,然后关联 vps 实例即可
但更推荐按照最小权限开放来配置允许特定端口,也就是选择自定义模版

然后手动配置入站规则,也就是将需要暴露的端口开放访问,具体如下

端口用途默认推荐端口
ssh 登录端口22一般保持默认 22 端口即可
frps 服务端连接端口5443建议设置随机端口,如 44443
frps 仪表盘管理界面6443建议设置随机端口,如 44444
frps 穿透代理 NasTools 端口建议设置随机端口,如 44445

本文场景下最终需要用到的就是上述 4 个端口,frps 其他端口不是必须的

在刚才新建的自定义安全组中修改安全规则,添加入站规则:

  • 来源 设置0.0.0.0/0表示允许所有来源 IP

  • 协议端口设置 TCP:22TCP44443-44445 开放上述提到的端口

  • 策略 选择允许

  • 备注 自己随便填,这里我填了ssh 、frp

最后记得关联到云服务器 vps 生效,具体操作见官网文档

SSH登录服务器

这里主要介绍 windows 下的登录场景,如果是 macOS 可使用 iterm2 命令行登录

因为 frp 服务端需要登录到 vps 服务器上配置,因此需要一款 ssh 登录软件
这里以 putty 为例,其他还有 xshell 甚至 windows wsl 自带的 ssh client,自行选择

进入 putty官网 后点击 Download PuTTY 跳转到下载页面

  1. 找到 Alternative binary files 下载免安装版本

  2. 目前大部分 Windows 都是 64 位版本了,因此下载 64-bit x86 版本

下载后双击运行,进入 putty 配置页面准备登录服务器

运行之后开始登录服务器:

  • Host Name 部分输入你的 vps 分配的 IP

  • Port 保持默认的 22 端口,除非你有修改过 ssh 服务的端口

  • 最后点击 Open 按钮开始登录

因为是第一次连接到这台 vps 服务器,所以会有这个提示,点击 ACCEPT 即可

之后就是输入你 vps 的登录用户及密码完成登录配置

因为我主要是使用 macOS 因此下面的涉及到命令行操作都是在 iterm2 中完成

配置 frps 服务端

通过 ssh 登录服务器之后,使用一键配置脚本来部署 frps,复制以下命令执行:

wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O /tmp/install-frps.sh 
bash /tmp/install-frps.sh install

首先会自动进行基础环境的检查,并安装相关的依赖软件,然后就开始进入配置页面

如上图提示是希望从哪里下载 frps 服务端软件:

这里保持默认阿里云即可,接下来设置 frps 服务端的监听端口,我使用44443端口:

仪表盘信息部分也需要进行调整:

  1. 仪表盘端口调整为随机端口,这里我使用44444端口

  2. 仪表盘登录的用户密码按需进行修改

其他参数全部保持默认,一直按回车就行,Token 建议保持随机字符串
最后会输出最终详情,记得保存下来方便后续使用

配置完成后,再通过以下命令来确定 frps 已经正常运行:frps status

之后访问 dashboard 并输入用户名密码登录,能看到这个页面就是已经配置完成

客户端配置

因为我们的目标是将 NasTools 的回调接口,那么 frpc 客户端可选择就有:

  • 运行在路由器上,并配置代理到 Nas 上的 Nastools 入口

  • 运行 Nas 上,并代理到本机的 NasTools 入口

可以根据自己实际情况来选择对应方案,下文会分别介绍具体的配置方式

Openwrt 部署 frpc

以 openwrt 为例,目前大部分的 op 固件会内置 frp 内网穿透
如果你的固件没有内置,也可自行下载安装:系统 - 软件包 - 过滤器 输入 frpc

需要安装以下两个软件包(如果没有搜到的话,需要刷新一下列表)

  • frpc 二进制可执行文件

  • luci-app-frpc 在 openwrt 提供 frpc 配置页面,这样就不需要进入命令行配置

尽量选择与你部署的 frps 服务端相同或接近的版本,版本想差太多无法保证功能可用

之后就可以在 openwrt 管理后台 服务 页面下找到 frp 内网穿透进行配置:

  • 勾选 启用

  • 填入服务器端口

  • 令牌 则是我们生成的 Token

  • 其他参数保持默认即可

接下来拉到服务列表点击添加按钮开始将 NasTools 暴露到公网:

  • Enable State 设置为启用

  • 使用 TCP 类型即可,VPS 暴露端口为 44445,这个端口已经开放了安全组

  • 内网设置到 NasTools 的入口,我的是10.0.0.2:3000按照你自己的修改

  • 服务备注名 设置一个唯一标识,当你同时通过 frp 暴露多个服务时需要区分开来

  • 建议开启数据加密,以保证 vps 到路由器之间的数据传输安全

配置完成后点击保存&应用,回到 frp 主页还需要在点击一次保存&应用

至此,路由器配置 frpc 完成

Nas 部署 frpc

如果是在 Nas 上,则建议通过 docker 来部署 frpc
我使用的镜像是 snowdreamtech/frpc,如果是通过 docker 命令启动,可参考:

但在如果是 Unraid 的话,建议使用我的模版仓库shuosiw/unraid,使用方式见

添加模版之后,点击 ADD CONTAINER 并选择 frpc 模版即可

如无特殊需求使用默认参数即可,之后点击下方的 APPLY 按钮启用
但回到 Docker 页面还是处于 stop 状态,这是因为没有配置文件,需要手动添加

在 unraid 上创建/mnt/user/appdata/frp/frpc.ini文件并写入如下配置:

[common]  
token=JwxXzxTTLbvKY2mn  
server_addr=xx.xx.xx.xx  
server_port=44443  
user=Unraid  
log_level=info  
protocol=tcp  
admin_addr=0.0.0.0  
admin_port=7400  
tcp_mux=true  
login_fail_exit=true  
 
[Nastool-Wechat]  
type=tcp  
remote_port=44445  
local_ip=10.0.0.2  
local_port=3000  
use_encryption=true  
use_compression=true  

其中 common 部分有 3 个配置项需要按照实际情况调整:

  • token 替换为你部署 frps 服务端时候设置或自动生成 Token

  • server_addr 替换为你 vps 的公网 IP

  • server_port 替换为你部署 frps 设置的服务端端口,也就是 bind_port

Nastool-Wechat也有 3 个需要按照实际情况调整:

  • remote_port 替换为你最终在 vps 映射 NasTools 的端口

  • local_ip 替换为你的 Nas IP

  • local_port 替换为你的 NasTools 映射端口

如果你熟悉命令行操作,可通过 unraid 管理后台 Terminal 进入网页版终端修改,
或者先在电脑上通过文件编辑器写好之后,再上传到 /mnt/user/appdata/frp/目录下

注意文件名一定要为 frpc.ini,否则容器进程启动后会因为找不到配置文件而报错退出

之后回到 Unraid 容器管理界面点击 Start 启动 frpc 容器,此时可正常启动
接下来在 Unraid 上 frpc 应用点击 WebUI 即可访问

或者使用 Nas IP + 7400 端口访问就可以看到主界面,比如我的是:10.0.0.2:7400

可以看到配置的应用已经启动了,后续有调整的话,也可以直接在 Configure 页面修改配置

验证穿透效果

如果一切配置无误你就已经可以通过 VPS 的公网 IP 及 NasTools 映射端口来访问了

在我这次配置中,我分配了44445端口给到 NasTools 穿透代理映射
浏览器会提示不安全,这是因为没有使用 https 加密,这是正常的提示

重新打开 frps 服务端的仪表盘页面,也可以看到刚才配置的穿透应用流量情况
那么接下里就是将你的 vps 公网穿透代理 NasTools 入口添加到企业微信回调接口即可

之前的文章已经介绍得非常详细了,这里就不展开说了

写在后面

写这篇文章时候有点无从下手的感觉,因为确实涉及到较多的命令行操作

smzdm 对命令指令的编辑及展示并不算太友好且有些值友对命令行操作也不是很熟悉

纠结了许久,最终效果就是这样了,也想了解一下值友对本文的易读性感觉如何。码字不易,多多点赞收藏,如果有任何疑问,可以评论我会定期回复。后续的一些优化,比如配置域名、ddns 以及设置微信回调白名单等等,可以考虑再出一些文章,如果你们有比较感兴趣的也可以评论回复。

","force_purephv":"0","gnid":"96086555fdac69b94","img_data":[{"flag":2,"img":[{"desc":"","height":"302","title":"","url":"https://p0.ssl.img.360kuai.com/t018b227cf549c9ddd1.jpg","width":"600"},{"desc":"","height":"215","title":"","url":"https://p0.ssl.img.360kuai.com/t01d7135cfea249ed8b.jpg","width":"600"},{"desc":"","height":"281","title":"","url":"https://p0.ssl.img.360kuai.com/t018a49476d10585039.jpg","width":"600"},{"desc":"","height":"257","title":"","url":"https://p0.ssl.img.360kuai.com/t0155293487a0ad25b7.jpg","width":"600"},{"desc":"","height":"233","title":"","url":"https://p0.ssl.img.360kuai.com/t01a4b281e88dcf8eca.jpg","width":"600"},{"desc":"","height":"214","title":"","url":"https://p0.ssl.img.360kuai.com/t01e8ba3bb15d5f488b.jpg","width":"600"},{"desc":"","height":"541","title":"","url":"https://p0.ssl.img.360kuai.com/t01090eea2407bdd4e3.jpg","width":"600"},{"desc":"","height":"379","title":"","url":"https://p0.ssl.img.360kuai.com/t013dd227a6e2d4a69d.jpg","width":"600"},{"desc":"","height":"172","title":"","url":"https://p0.ssl.img.360kuai.com/t013c81e1dbfa370823.jpg","width":"600"},{"desc":"","height":"212","title":"","url":"https://p0.ssl.img.360kuai.com/t01379e17c16945dac0.jpg","width":"600"},{"desc":"","height":"229","title":"","url":"https://p0.ssl.img.360kuai.com/t0131b666996579d427.jpg","width":"600"},{"desc":"","height":"260","title":"","url":"https://p0.ssl.img.360kuai.com/t01992c7880c991750b.jpg","width":"600"},{"desc":"","height":"311","title":"","url":"https://p0.ssl.img.360kuai.com/t013765541d3afd358e.jpg","width":"600"},{"desc":"","height":"260","title":"","url":"https://p0.ssl.img.360kuai.com/t01f799ba09f8b4a920.jpg","width":"600"},{"desc":"","height":"264","title":"","url":"https://p0.ssl.img.360kuai.com/t01381ac4eb095fc507.jpg","width":"600"},{"desc":"","height":"324","title":"","url":"https://p0.ssl.img.360kuai.com/t0135b5f60dd1d993d3.jpg","width":"600"},{"desc":"","height":"217","title":"","url":"https://p0.ssl.img.360kuai.com/t01638980ea1b4a7db1.jpg","width":"600"},{"desc":"","height":"310","title":"","url":"https://p0.ssl.img.360kuai.com/t01ae4ecbbd467fc81b.jpg","width":"600"},{"desc":"","height":"326","title":"","url":"https://p0.ssl.img.360kuai.com/t015127021e5c2d5f51.jpg","width":"600"},{"desc":"","height":"127","title":"","url":"https://p0.ssl.img.360kuai.com/t01a42bce8a249a1ee6.jpg","width":"600"},{"desc":"","height":"224","title":"","url":"https://p0.ssl.img.360kuai.com/t011692f7a3b25016fd.jpg","width":"600"},{"desc":"","height":"277","title":"","url":"https://p0.ssl.img.360kuai.com/t01b6af4fc6cce7c3db.jpg","width":"600"},{"desc":"","height":"171","title":"","url":"https://p0.ssl.img.360kuai.com/t0128fc2d9bf60bed23.jpg","width":"600"},{"desc":"","height":"452","title":"","url":"https://p0.ssl.img.360kuai.com/t01dc5162a2a938fb4f.jpg","width":"600"},{"desc":"","height":"177","title":"","url":"https://p0.ssl.img.360kuai.com/t01320806c664fb33c8.jpg","width":"600"},{"desc":"","height":"152","title":"","url":"https://p0.ssl.img.360kuai.com/t01f605cd738285f980.jpg","width":"600"},{"desc":"","height":"287","title":"","url":"https://p0.ssl.img.360kuai.com/t012c350d432eb10021.jpg","width":"600"},{"desc":"","height":"319","title":"","url":"https://p0.ssl.img.360kuai.com/t0190749a7b0e6fecdd.jpg","width":"600"},{"desc":"","height":"280","title":"","url":"https://p0.ssl.img.360kuai.com/t01a25923ff15ce27d7.jpg","width":"600"}]}],"original":0,"pat":"mass_porn,art_src_1,sexf,sex2,sexc,disu_label,fts0,sts0","powerby":"hbase","pub_time":1657162085000,"pure":"","rawurl":"http://zm.news.so.com/d95de2313b2b0c857cb9badb99f5419b","redirect":0,"rptid":"be9174befd2f86ed","s":"t","src":"什么值得买","tag":[],"title":"路由与NAS 篇二十:家用宽带无公网IP怎么在外访问Nas——Frp内网穿透暴露公网访问及微信回调简明教程

蒲楠庙3850Linux 怎么获取本机IP
桓饱幸13294116932 ______ 打开终端,输入ifconfig,要想改变IP地址,使用命令:sudo ifconfig eth0 192.168.xxx.xxx 打开超级终端的快捷键是ctrl+alt+t,请采纳...

蒲楠庙3850linux 下主机的域名怎么查 -
桓饱幸13294116932 ______ 直接使用命令hostname,查看本机的主机名, 配置文件在/etc/sysconfig/network下的HOSTNAME项,修改后重启,方能起效. 主机名静态查询表:/etc/hosts 对应IP和域名 这里稍微解释一下主机名(hostname)与域名(domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就可以解析到对应的IP上;域名通常是在internet上使用,通过公网的DNS来解析.

蒲楠庙3850如何在LINUX操作系统下查看本地IP地址(在SHELL下) -
桓饱幸13294116932 ______ ifconfig 查看IP ifconfig —a 查看所有接口的状态.ifconfig —网络接口号:查看指定接口号的状态.

蒲楠庙3850linux查看本机局域网ip怎么操作 -
桓饱幸13294116932 ______ 命令: ifconfig

蒲楠庙3850ubuntu 下面怎么查看本机ip -
桓饱幸13294116932 ______ 打开终端(Ctrl + Alt + T),运行:ifconfig -a |grep inet 结果中格式如:134.164.1.43 等为ipv4地址,就是通常说的ip地址.inet6对应的则是ipv6地址.如果不知道ip地址的格式,请运行:ifconfig -a|grep "inet.*\ " 其实最简单的就可以运行:ifconfig,不过输出太多.

蒲楠庙3850linux 如何查看文件的i节点 -
桓饱幸13294116932 ______ ls -i 显示文件节点号

蒲楠庙3850如何查看“linux服务器”IP和端口? -
桓饱幸13294116932 ______ 参考方法: 1、用netstat查看: 2、lsof -i:port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接. 3、nmap端口扫描. 4、文件/etc/services显示的各个服务的端口号: 根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等. 具体步骤如下:/导致这种情况的原因主要是……

蒲楠庙3850linux入侵常用命令都有哪些?
桓饱幸13294116932 ______ cat /etc/passwd 查看linux用户 cat /etc/shadow 查看用户密码需要root权限 cat /etc/sysconfig/network-scripts/ifcfg-ethn N代表网卡号 查看所在网卡的ip信息 ifconfig 查看本机...

蒲楠庙3850如何查看已安装的Linux内核 -
桓饱幸13294116932 ______ 查看已安装的Linux内核1、RHEL/CentOS/Fedora 在终端中执行如下命令查看已安装的 Linux 内核:rpm -qa kernel 或 rpm -qa | grep -i kernel2、Debian/Ubuntu/Linux Mint 要查看基于 DEB 系统的 Linux 内核列表,如:Debian、Ubuntu、Linux ...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024