当前位置: 首页 > news >正文

从外网访问局域网服务器的方法+Linux文件和命令

一、为什么局域网的服务器无法在外网访问?

        服务器、电脑之间靠IP地址寻址,目前大部分基于IPV4进行寻址访问。但是因为IPV4的地址数量有限,中国分到的还比较少,所以非常紧缺。
        一个解决方案就是在局域网来建立一个内部的网段,这个局域网的只在本网段内能互相访问,无法从外网访问。 局域网的一般都是192.168.X.X这样的。

        局域网内的服务器使用的是私有 IP 地址,这些地址在互联网上是不可路由的。如果没有通过网络地址转换(NAT)或其他方式将其转换为合法的公网 IP 地址,外网就无法直接访问服务器。

二、外网访问局域网的方法

2.1 端口映射

基本概念:

        端口映射是一种网络技术,它在网络地址转换(NAT)中发挥着关键作用,能够实现外网对局域网内服务器或设备的访问。

        在局域网环境中,设备通常使用私有 IP 地址,这些地址无法直接在公网上被访问。端口映射通过将公网 IP 地址的某个端口映射到局域网内设备的特定 IP 地址和端口上,让外网用户能够通过访问公网 IP 地址和映射端口来间接访问局域网内的设备

工作原理

  • NAT 设备:通常是路由器,它连接着局域网和公网。NAT 设备拥有公网 IP 地址,局域网内的设备使用私有 IP 地址。
  • 映射设置:在 NAT 设备上进行端口映射配置,指定公网端口和对应的内网设备 IP 地址及端口。
  • 数据转发:当外网用户访问 NAT 设备的公网 IP 地址和映射端口时,NAT 设备会根据映射规则将数据转发到局域网内指定设备的相应端口上;反之,局域网内设备的响应数据也会通过 NAT 设备按照映射规则返回给外网用户。

服务器需要连接到包含公网IP的服务器上!!但现实运营商给你的是私网IP,几乎无法获得公网IP。

2.2 内网穿透

        内网穿透就是别人通过外网能够访问到我们本地的服务器。

        这个典型代表就是花生壳。这里是一个软件,在服务器上装一个软件,然后做设置。花生壳给你一个域名,将这个域名与你的一个服务进行映射。
此后别人访问这个域名即可,实际上这个域名,在花生壳的服务器上做了一次解析,同时进行了数据的中转(他们是这么声称的)。
        他们有免费的,但是还有映射数量,带宽的限制,想实用估计得收费了。

先来说下市面上一些主流的内网穿透方法:

穿透工具入门简易度价格
Ngrok简单免费/付费(几元每月)
Natapp简单免费/付费(几元每月)
花生壳简单付费(偏贵)
Ssh、autossh免费
Frp付费
Lanproxy付费
Spike付费

三、Linux文件夹+权限

3.1文件夹

  • snap:用于存放由 Snap 包管理器安装的应用相关数据和配置。Snap 是一种软件打包和分发格式,能让应用在不同 Linux 发行版上以一致方式运行
  • .nv:可能和 NVIDIA 相关软件、驱动程序的配置或缓存数据有关 ,比如存储 NVIDIA 显卡设置等信息。
  • .config:存放各种应用程序的配置文件。不同软件会在该目录下创建自己的子目录来存储专属配置。
  • .cache:用于存储应用程序产生的缓存数据,可加快后续程序运行速度,比如网页浏览器的缓存。
  • .Xauthority:存储 X Window 系统的认证信息,用于验证用户对 X 服务器的访问权限。
  • .sudo_as_admin_successful :可能是记录 sudo 命令以管理员权限成功执行相关信息的文件 ,比如标记上次成功以管理员身份执行 sudo 命令的时间等。
  • .profile:用户登录时会执行的配置文件,用于设置环境变量、执行初始化脚本等,可配置用户专属的系统环境。
  • .bashrc:Bash shell 的配置文件,每次打开新的 Bash shell 会话时会读取,用于设置命令别名、函数、环境变量等个性化设置。
  • .bash_logout :用户退出 Bash shell 会话时执行的脚本文件,可用于执行清理工作等。
  • .bash_history :记录用户在 Bash shell 中执行过的命令历史,方便用户查看和重复使用之前的命令。

  • 交换 14% 280M/2G:交换空间使用率 14% ,已使用 280MB 交换空间,总交换空间为 2GB 。交换空间是当物理内存不足时,将部分数据暂存到硬盘上的空间。

3.2权限

这些是 Linux 系统中文件和目录权限的表示形式,由 10 个字符组成,含义如下:

首位字符

  • d:表示这是一个目录(directory)。如果是 - ,则表示这是一个普通文件 ;如果是 l ,代表是符号链接(软链接)。

后续 9 个字符

        这 9 个字符按每 3 个一组划分,分别对应文件所有者(user)、所属组(group)、其他用户(others)的权限:

  • 读权限(r - read):如果对应位置是 r ,表示具有读取文件内容(对于文件)或列出目录内容(对于目录)的权限 。比如对于一个文件,有读权限就能用 cat 等命令查看内容;对于目录,能使用 ls 命令列出其中文件和子目录。
  • 写权限(w - write):对应位置为 w 时,意味着可以修改文件内容(对于文件),或者在目录中创建、删除文件和子目录(对于目录) 。
  • 执行权限(x - execute):当对应位置是 x ,对于文件表示可以运行该程序(如果是可执行程序);对于目录表示可以使用 cd 命令进入该目录 。

具体示例分析

  • drwx- - - - - -:这是一个目录,所有者有读、写、执行权限(可以读取目录内容、在目录下创建 / 删除文件、进入目录);所属组和其他用户没有任何权限。
  • -rw-r- -r- -:这是一个普通文件,所有者有读和写权限(能读取和修改文件内容);所属组和其他用户只有读权限(只能读取文件内容,不能修改)。

3.3网络接口

                ​​​​​​​        ​​​​​​​        ​​​​​​​        

  1. lo:环回接口(Loopback Interface) ,是虚拟网络接口。主要用于本地计算机内部的网络通信测试,其 IP 地址一般是 127.0.0.1 ,发送到该接口的数据包不会通过物理网络传输,而是直接返回给发送者,可用于测试网络应用程序。
  2. enp5s0:以太网接口 ,遵循 PCI  (Peripheral Component Interconnect,外设部件互连标准设备命名规范。)“en” 表示以太网Ethernet,“p5” 中 “p” 代表 PCI 设备,“5” 是设备在 PCI 总线上的物理位置编号 ,“s0” 中 “s” 表示插槽slot,“0” 是在对应插槽中的编号 。
  3. enp6s0:同样是以太网接口 ,命名规则与 enp5s0 类似 ,只是设备在 PCI 总线上的物理位置编号为 “6” 。
  4. ztre4zox2z:可能是某种虚拟网络设备或隧道接口 ,比如由特定虚拟网络技术(如 ZeroTier 等虚拟专用网络技术)创建的虚拟网络接口 ,用于实现特定的网络连接或组网需求。
  5. docker0:Docker 创建的虚拟网桥接口 。Docker 容器默认通过它进行网络通信 ,它允许容器与宿主机以及其他容器之间进行网络交互,实现容器网络的互联互通。
  6. vethb256abf:veth(Virtual Ethernet Pair ,虚拟以太网卡对)接口 ,常用于容器网络等场景。它总是成对出现,可用于连接不同的网络命名空间,实现网络通信和隔离 。

四、Linux常见命令

        Debian、Ubuntu 和 CentOS 都是优秀的 Linux 发行版,几乎都是服务器用,ubuntu友好,GUI界面。

        sudo apt update 更新系统软件包。 sudo代表以超级用户权限执行命令。它允许普通用户以管理员(root)的权限来运行特定的命令,apt是 Advanced Package Tool 的缩写,是一个功能强大的软件包管理工具。

        wget 是一个用于从网络上下载文件的命令行工具。

        ls 命令(list)是用于列出目录中的文件和子目录

  sudo whoami是一个在 Linux 或类 Unix 系统中的命令,用于以超级用户(root)的身份查看当前用户的用户名。

http://www.xdnf.cn/news/54595.html

相关文章:

  • ONLYOFFICE深度解锁系列.3-OnlyOffice集成第三方软件原理揭秘:如何提高文件打开速度
  • 基于一致性哈希算法原理和分布式系统容错机制
  • C++编程 希尔排序
  • 状态管理最佳实践:Provider使用技巧与源码分析
  • 【C语言函数部分的重要知识点】--自定义函数,static和extern
  • 【题解-JSOI】JSOI2009 配菜
  • 【连接池-55.1】深入解析Druid连接池:高性能Java数据库连接池的最佳实践
  • Python 爬虫案例
  • Dubbo QoS操作手册
  • Spring 01
  • 前端与传统接口的桥梁:JSONP解决方案
  • 大数定理(LLN)习题集 · 答案与解析篇
  • QCPAxis、QCPGrid 和 QCPAxisTicker 三者关系
  • 关于隔离2:ADC芯片
  • 京东 h5st 5.1 详情 京东滑块 cfe 分析
  • Cursor工具你会用了吗
  • leetcode0078. 子集-medium
  • stm32 13位时间戳转换为时间格式、对时
  • Day58 | 179. 最大数、316. 去除重复字母、334. 递增的三元子序列
  • Linux系统的远程终端登录、远程图形桌面访问、 X图形窗口访问
  • 无回显RCE
  • 每日一道leetcode(补充版)
  • 具身智能零碎知识点(四):联合嵌入预测架构(JEPAs)详解
  • acwing--动态规划【线性dp】4/20、4/21
  • 网页的URL绝对路径和相对路径,以及各自的使用场景
  • 【Vulkan 入门系列】创建逻辑设备和图形、呈现队列,显示尺寸更改(三)
  • 错误: 找不到或无法加载主类 HelloWorld,cmd窗口,java命令,提示
  • PT站中的tracker
  • LangChain4j语言模型选型指南:主流模型能力全景对比
  • 生成式AI对话中提示词策略:明确问题、明确目标和提供背景信息是最有效的策略