首页
留言
导航
统计
Search
1
追番推荐!免费看动漫的网站 - 支持在线观看和磁力下载
754 阅读
2
PVE自动启动 虚拟机 | 容器 顺序设置及参数说明
457 阅读
3
一条命令,永久激活!Office 2024!
436 阅读
4
优选 Cloudflare 官方 / 中转 IP
321 阅读
5
[Windows] MicroSoft Office LTSC Professional Plus 2024 官方安装部署工具
321 阅读
默认分类
服务器
宝塔
VPS
Docker
OpenWRT
Nginx
群晖
前端编程
Vue
React
Angular
NodeJS
uni-app
后端编程
Java
Python
SpringBoot
SpringCloud
流程引擎
检索引擎
Linux
CentOS
Ubuntu
Debian
数据库
Redis
MySQL
Oracle
虚拟机
VMware
VirtualBox
PVE
Hyper-V
计算机
网络技术
网站源码
主题模板
登录
Search
标签搜索
Java
小程序
Redis
SpringBoot
docker
Typecho
Cloudflare
虚拟机
WordPress
uni-app
CentOS
docker部署
Vue
Java类库
群晖
Linux命令
防火墙配置
Mysql
脚本
计算机网络
流年微醺
累计撰写
254
篇文章
累计收到
8
条评论
首页
栏目
默认分类
服务器
宝塔
VPS
Docker
OpenWRT
Nginx
群晖
前端编程
Vue
React
Angular
NodeJS
uni-app
后端编程
Java
Python
SpringBoot
SpringCloud
流程引擎
检索引擎
Linux
CentOS
Ubuntu
Debian
数据库
Redis
MySQL
Oracle
虚拟机
VMware
VirtualBox
PVE
Hyper-V
计算机
网络技术
网站源码
主题模板
页面
留言
导航
统计
搜索到
3
篇与
的结果
2025-07-05
用虚拟IP扩容服务器端口池
最近遇到一个棘手的问题:服务器的 WebSocket 服务在高并发场景下,客户端连接数达到一万多时,服务器的端口资源被耗尽了。导致后面的任何请求都没响应。通过 netstat 查看连接情况,发现所有连接的本地端口都是从 32768 开始的,即使我已经将系统的端口范围设置为 1024-65535[root@server ~]# cat /proc/sys/net/ipv4/ip_local_port_range 1024 65535但实际分配的端口还是从32768开始,导致高位端口很快被耗尽,新连接无法建立。问题分析经过一番调研,发现这个问题在 Linux 系统中很常见。虽然设置了 ip_local_port_range 为 1024-65535,但实际上如下:glibc的默认行为:很多Linux发行版的glibc硬编码了临时端口分配的起始值为32768内核版本限制:老版本内核(如3.10)没有 ip_unprivileged_port_start 参数历史遗留问题:这是Linux系统的"正常"行为,不是配置错误我的服务器环境: 内核:3.10.0-1127.19.1.el7.x86_64glibc:2.17系统:CentOS 7.6解决方案探索方案一:升级系统(不推荐)升级glibc和内核到新版本可以支持更灵活的端口分配,但在生产环境中风险极高,容易导致系统崩溃。方案二:虚拟IP扩容(推荐)通过在同一台服务器上添加多个虚拟IP,每个IP都拥有独立的端口池,从而成倍扩容端口资源。虚拟IP方案实施第一步:查看网络环境首先确认服务器的网卡和IP配置:[root@server ~]# ip addr show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:1f:ee:09 brd ff:ff:ff:ff:ff:ff inet 1.2.3.17/20 brd 11.22.33.255 scope global dynamic eth0可以看到主IP是 1.2.3.17/20 ,子网掩码是 /20。第二步:添加虚拟IP根据主IP的网段,添加几个虚拟IP:ip addr add 1.2.3.100/20 dev eth0 ip addr add 1.2.3.101/20 dev eth0 ip addr add 1.2.3.102/20 dev eth0这里的ip后三位可以随便写。ip个数最好是100个以内,多了会影响性能。验证添加成功:ip addr show eth0显示出刚才添加的ip就是没问题的第三步:配置Nginx负载均衡修改Nginx配置,将流量分发到不同的虚拟IP:upstream websocket_backend { server 1.2.3.100:38088; server 1.2.3.101:38088; server 1.2.3.102:38088; } server { listen 80; server_name xx.com; location /请求上下文 { proxy_pass http://websocket_backend/请求上下文; proxy_redirect default; proxy_pass_header Server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; } }第四步:重启服务重启 WebSocket服务端 和 Nginx ,让配置生效:nginx -t nginx -s reload效果验证查看连接分布使用 ss 命令查看连接是否被正确分发到不同虚拟IP:ss -tnp | grep 38088输出显示连接确实被分发到了不同IP:CLOSE-WAIT 1 0 1.2.3.100:38088 169.24.13.2:36294 CLOSE-WAIT 1 0 1.2.3.101:38088 169.24.13.2:57430 CLOSE-WAIT 1 0 1.2.3.102:38088 169.24.13.2:37558这里的169.24.13.2不用管,这是我的nginx用的docker镜像的原因端口资源扩容效果之前:所有连接都占用 1.2.3.17 的端口池(32768~65535)现在:连接分散到3个虚拟IP,每个IP都有独立的端口池效果:端口资源扩容3倍,极大缓解端口耗尽问题注意事项1. 子网掩码的确定添加虚拟IP时,子网掩码必须和主IP一致。查看方法很简单:ip addr show eth0看输出中的 inet 1.2.3.17/20,直接使用 /20 即可。2. 虚拟IP的持久化临时添加的虚拟IP重启后会失效,需要写入启动脚本:# 编辑 /etc/rc.local ip addr add 1.2.3.100/20 dev eth0 ip addr add 1.2.3.101/20 dev eth0 ip addr add 1.2.3.102/20 dev eth0 # 赋予执行权限 chmod +x /etc/rc.d/rc.local3. 网络架构要求Nginx 和 WebSocket服务端 必须在同一台服务器虚拟IP必须在同一网段内,不能和其他机器冲突如果是云服务器,可能需要先在控制台申请辅助私网IP总结通过 虚拟IP + Nginx 负载均衡的方案,成功将端口资源扩容了 3倍,有效解决了高并发 WebSocket 场景下的端口耗尽问题。这个方案的优势:实施简单:只需添加虚拟IP和配置Nginx风险较低:不需要升级系统内核效果显著:端口资源成倍扩容扩展性好:可以根据需要继续添加虚拟IP对于高并发WebSocket、短连接等场景,这是一个非常实用的解决方案。
2025年07月05日
2 阅读
0 评论
0 点赞
2025-03-11
CentOS 7 ens33获取不到ip地址和启动网卡报错的解决方法
当我们启动虚拟机输入 ifconfig 查看 IP 地址时出现下图这样的情况,发现没有 ens33 移动到 /etc/sysconfig/network-scripts 编辑 ifcfg-ens33cd /etc/sysconfig/network-scripts vim ifcfg-ens33将 ONBOOT=NO 改成 ONBOOT=yes 输入 i 进行编辑;将最后 ONBOOT=no 改为 yes 即可;单击 esc 键,然后输入 :wq 保存退出。这样就开启了 ens33 ;接着重启网络服务就可以看到 ip 地址。重启网络服务service network restart 出现下图表示已经重启成功输入 ifconfig ens33 有了 ip 地址。出现 异常# 关闭NetworkManager服务 systemctl stop NetworkManager systemctl restart network.service service network restart # 问题解决
2025年03月11日
15 阅读
0 评论
0 点赞
2023-03-08
计算机网络期末复习提纲(全知识点总结)
计算机网络期末复习提纲全知识点总结第一章 概述1.基本概念- 链路,结点,协议和服务,实体和对等实体,各层PDU- C/S模式,B/S模式,P2P模式- LAN,WAN,MAN,PAN的划分- 网络性能参数:速率,带宽,吞吐量,时延,往返时间,信道利用率2.互联网的组成(边缘部分与核心部分的作用)3.电路交换与分组交换,数据报交换和虚电路交换的特点4.TCP/IP体系结构,数据的封装与解封装第二章 物理层1.信号编码:不归零编码,曼切斯特编码2.影响信号失真程度的因素3.传输介质:双绞线,同轴电缆,光纤(单模和多模),无线介质4.几种复用技术的特点:频分复用,时分复用,统计时分复用,波分复用,码分复用5.宽带接入技术:ADSL,HFC,FTTX第三章 数据链路层1.理解数据链路层的地位与作用,三个基本问题2.使用点对点信道的链路层:信道特点,PPP帧格式,零比特填充法和字节填充法,差错检测(CRC)3.使用广播信道的链路层:信道特点,CSMA/CD协议,MAC帧格式,最小帧长和最大帧长4.网卡的功能和MAC地址,帧的类型(单播帧,广播帧,多播帧)5.比较集线器与交换机,交换机的自学习功能及转发帧的过程6.广播域和碰撞域,VLAN,生成树协议STP第四章 网络层1.网络连接设备:中继器,集线器,交换机,路由器的工作层次2.IP地址:分类IP地址;互联网中的IP地址,特殊IP地址(网络地址,广播地址)3.IP地址与硬件地址的关系,ARP协议(ARP原理,ARP缓存,同一局域网使用ARP,跨网使用ARP)4.IP数据报格式:首部长度和总长度,IP分片与重组(标识,标志,片偏移),生存时间TTL,协议,首部检验和5.划分子网:子网划分,子网掩码,根据IP地址和子网掩码计算该IP地址所在网络的网络地址,广播地址,子网数和子网中的主机数6.CIDR(给定一个CIDR地址快,计算最小IP地址,最大IP地址,掩码和地址总数)和路由聚合(给定几个IP地址,计算聚合后的地址)7.ICMP协议:ICMP协议的作用,ICMP差错报文何时产生,由谁产生.PING命令和Tracert命令的工作原理8.路由器:给定拓扑写出路由器(直连路由,静态路由和动态路由,默认路由),路由器根据路由器转发IP数据报的过程9.RIP:距离,距离向量算法,工作过程,特点10.OSPF:链路状态,OSPF的工作过程,OSPF区域11.外部网关协议BGP:寻找可达性的路由,策略路由12.IPv6:ipv6数据报格式,IPv6相比IPv4的变化,IPv6地址的表示,从IPv4相比IPv6的过渡技术13.IP多播:比较(单播,广播,多播,任播),IP多播数据报的封装,多播IP地址与多播MAC地址,IGMP协议的作用14.VPN:私有IP,VPN路由器封装IP数据报的过程,三种VPN类型的判断,NAT路由器封装IP数据报的过程15.MPLS:与传输路由技术的比较,负载均衡与FEC第五章 运输层1.运输层的作用2.UDP和TCP的特点,及使用它们的应用程序,熟知端口号3.UDP:首部格式,检验和4.TCP的首部格式(端口号,序号,确认号,窗口,首部长度,检验和,6个标志位)5.TCP的可靠传输:超时重传机制,TCP流量控制(序号,确认号,确认标志位,窗口,死锁问题与持续计时器),发送缓存和接受缓存的作用,捎带确认与累积确认6.TCP的拥塞控制:网络拥塞的判断,传输轮次与拥塞窗口大小的关系(慢开始与拥塞避免,门限ssthresh,重传计时器超时与三个重复ACK)7.TCP连接:TCP的套接字,三次握手建立TCP连接,四次握手释放TCP连接第六章 应用层1.域名系统DNS1)IP与域名的关系,DNS的作用,域名的结构2)四类域名服务器(根域名服务器,顶级域名服务器,权限域名服务器和本地域名服务器)3)迭代与递归解析域名的方式,DNS缓存2.文件传输协议FTP:FTP协议的作用,控制连接与21号端口,数据连接与20号端口,匿名FTP的三种使用方式3.WWW服务:HTTP协议的作用,URL,在浏览器的地址栏中输入一个URL后发生的报文交互情况,流水线持久连接,HTTP报文,Cookie的作用,三类web文档,搜索引擎4.电子邮件系统:电子邮件系统的组成,E-mail格式,SMTP,MIME,POP3和IMAP的区别,基于万维网的电子邮件5.动态主机配置协议DHCP:DHCP的作用(IP地址,子网掩码,默认网关IP地址,默认DNS服务器IP地址),DHCP的工作过程,IP租约期,DHCP服务器的位置及DHCP中继6. P2P应用:文件分发第七章 网络安全网络攻击的常见方式,对称密码体制和公钥密码体制,数字签名与保密通信,秘钥分配(KDC,CA)第九章 无线局域网两类WLAN,AdHoc,无线传感器网络,CSMA/CA,802.11帧(四个地址)其他1.归纳比较:地址长度(MAC地址,IPv4地址,IPv6地址,端口号)首部长度(帧首部,IPv4首部,IPv6首部)差错检验(帧校验CRC,IPv4,TCP和UDP的校验检验和)路由技术(RIP,OSPF,BGP,MPLS)数据交换(电路交换,报文交换,分组交换)TCP与UDPIPv4与IPv6P2P与C/S搜索引擎(全文检索与分类目录)CSMA/CD与CSMA/CA网络攻击方式(蠕虫,木马,逻辑炸弹,后门入侵,流氓软件,窃听,拒绝服务攻击)2.主要命令Ipconfig命令(/all,/displaydns,/flushdns,/release,/renew)ping命令(-n,-l,-t等参数)Traceroute命令arp命令(-a,-d,-s参数)3.术语:ISP,IXP,Hub,LAN,MAN,WAN,WLAN,VLAN,P2P,C/S,CSMA/CD,CSMA/CA,LiFi,Wifi,ADSL,HFC,FTTH,URL,VPN,IPSec,NAT,ICMP,IGMP,MSS,BGP,自治系统AS,HTTPS,MPLS,AP,SSID,AdHoc,区块链注:粗体为次重点,粗斜体为重点文章详情请访问:计算机网络期末复习提纲(全知识点总结)
2023年03月08日
17 阅读
0 评论
0 点赞