【linux】端口讲解

本文介绍了计算机中的物理端口和逻辑端口概念,详细解析了端口号的分类,包括公认端口、注册端口和动态端口。讨论了Linux系统中如何控制端口范围,并通过ip_local_port_range参数举例说明。同时,阐述了端口在服务中的作用,以及如何通过firewall-cmd和iptables命令开启端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先理解一下物理端口、逻辑端口、端口号等计算机概念

在网络技术中,端口包含物理端口和逻辑端口两种类型。

物理端口:指物理存在的端口,如ADSL Modem、交换机、路由器上用于连接其他网络设备的接口。

逻辑端口:指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号范围从0到65535,比如用于浏览网络服务的80端口,用于FTP服务的21端口。

 

端口按端口号可以分为3大类:

1、公认端口 ( Well Known Port )

公认端口号从0到1023,它们紧密绑定与一些常见服务。例如FTP服务使用端口21,在 /etc/services 可以看到映射关系。

2、注册端口 ( Registered Port )

从 1024到 49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。

。是公司和其他用户向互联网名称与数字地址分配机构(ICANN)登记的端口号,利用因特网的传输控制协议(TCP)和用户数据报协议(UDP)进行通信的应用软件需要使用这些端口。在大多数情况下,这些应用软件和普通程序一样可以被非特权用户打开。

3、动态或私有端口 ( Dynamic and/or Private Ports )

动态端口,即私人端口号,是可用于任意软件与任何其他的软件通信的端口数,使用因特网的传输控制协议,或用户传输协议。

动态端口一般从49152 到 65535

。这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。被保留给客户端进程选择暂时使用的。也可以理解为,客户端启动的时候操作系统随机分配一个端口用来和服务器通信

<think>好的,我现在需要帮助用户了解如何在Linux系统中配置frp进行端口映射。用户的问题是关于配置教程的,所以我得先回忆一下frp的基本概念和步骤。首先,frp是一个用于内网穿透的工具,分为服务端(frps)和客户端(frpc)。服务端通常运行在有公网IP的服务器上,而客户端运行在内网机器上。用户需要配置这两个部分才能实现端口映射。 接下来,我需要参考用户提供的引用内容。查看引用[1],里面提到了进入frp文件夹并编辑frps.ini文件。引用[2]详细说明了客户端配置文件frpc.ini的设置,包括服务器地址、端口、token以及具体的映射规则。引用[3]给出了下载frp的wget命令,版本是0.38.0。引用[4]解释了SSH的作用,可能和实际应用场景相关。 首先,我应该分步骤讲解配置过程。第一步是下载和解压frp。根据引用[3],用户需要使用wget下载特定版本的frp,然后解压。这里可能需要确认最新的版本,但用户提供的例子是v0.38.0,所以教程里应该使用这个版本,或者提示用户检查最新版本。 然后是配置服务端。引用[1]提到进入frp目录后编辑frps.ini,这里需要说明服务端的基本配置,比如绑定端口、认证token等。服务端配置完成后,需要启动frps,可能需要给出启动命令,如./frps -c frps.ini。 接下来是客户端配置,引用[2]中的内容比较详细,包括common段的服务器地址、端口、token,以及具体的映射规则,比如nas段的type、local_ip、local_port、remote_port等。需要解释每个参数的作用,并提醒用户替换为自己的IP和端口。 可能还需要说明如何同时启动服务端和客户端,以及如何设置后台运行或开机自启,比如使用nohup或者systemd服务。此外,防火墙设置也很重要,必须确保服务端服务器的端口(如7000、7500)是开放的。 用户可能遇到的常见问题包括端口冲突、防火墙未开放、token不一致等,需要指出这些可能的错误点。例如,如果token在服务端和客户端配置不一致,连接会失败,这点在引用[2]中提到过。 另外,引用[4]关于SSH的部分可能与实际应用相关,比如用户可能想通过frp映射SSH端口,所以在示例中可以举一个SSH映射的例子,说明如何配置frpc.ini来实现。 最后,按照用户的要求生成相关问题,这些问题应该围绕frp的高级配置、优化、安全性和其他协议支持等方面展开。 现在需要确保步骤清晰,每个部分都有对应的命令和配置示例,同时正确引用提供的资料。比如在服务端配置部分引用[1],客户端配置引用[2],下载步骤引用[3],SSH部分引用[4]。同时,要使用正确的LaTeX格式,比如行内公式使用$...$,独立公式用$$...$$,但在这个问题中可能用不到数学公式,所以重点放在代码块和配置文件的正确展示上。</think>### Linux下frp端口映射配置教程 #### 一、环境准备 1. 下载frp工具 使用wget下载对应版本(示例为v0.38.0): ```bash wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_386.tar.gz tar -zxvf frp_0.38.0_linux_386.tar.gz cd frp_0.38.0_linux_386 ``` [^3] --- #### 二、服务端配置(公网服务器) 1. 编辑`frps.ini`文件: ```ini [common] bind_port = 7000 # 服务端监听端口 token = csdn123 # 认证密钥(需与客户端一致) dashboard_port = 7500 # 监控面板端口 dashboard_user = admin dashboard_pwd = admin123 ``` [^1] 2. 启动服务端: ```bash ./frps -c frps.ini ``` --- #### 三、客户端配置(内网机器) 1. 编辑`frpc.ini`文件: ```ini [common] server_addr = 120.79.23.71 # 服务端公网IP server_port = 7000 # 对应服务端bind_port token = csdn123 # 与服务端token一致 [ssh_mapping] # 映射SSH服务示例 type = tcp local_ip = 127.0.0.1 # 内网服务IP local_port = 22 # 本地SSH端口 remote_port = 6000 # 外网访问端口 ``` [^2][^4] 2. 启动客户端: ```bash ./frpc -c frpc.ini ``` --- #### 四、验证与访问 1. **SSH连接测试**: ```bash ssh -p 6000 username@120.79.23.71 ``` 2. **监控面板**: 浏览器访问`http://公网IP:7500`,输入预设的账号密码查看状态[^1]。 --- #### 五、注意事项 1. **防火墙设置**:需开放服务端`7000`(通信端口)、`7500`(监控面板)和映射的`6000`端口 2. **Token一致性**:服务端与客户端的`token`必须完全匹配 3. **后台运行建议**: ```bash nohup ./frps -c frps.ini > frps.log 2>&1 & ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值