GaGa's Blog

One GaGa, One World !

macOS 上非常流行的虚拟化软件,主要用于在 Mac 上运行 Windows、Linux、BSD 等操作系统,甚至可以在 Apple Silicon(M1/M2/M3 芯片)上跑 ARM 版 Windows。

Parallels Desktop 概览

  • 定位:桌面虚拟化软件(类似 VMware Fusion,但更新更快,支持 Apple Silicon 更好)。

  • 核心优势

    • 无缝体验:支持 Coherence 模式,把 Windows 应用当成 Mac 应用一样运行。
    • 性能优化:在 Apple M 系列芯片上性能接近原生。
    • 集成度高:可以直接访问 Mac 的文件、外设(USB、打印机)、网络。
    • 多操作系统支持:Windows 11、Linux 各大发行版、macOS(Intel only)等。

应用场景

Read more »

100.64.0.0/10 ——也就是著名的 CGNAT 共享地址空间(RFC 6598)。

要点

  • 范围100.64.0.0100.127.255.255(共 /10,约 4194304 个地址)
  • 用途:供运营商做 Carrier-Grade NAT(NAT444/CGNAT),并不在公网可路由
  • 与 RFC1918 的区别:不是传统私网(10/8、172.16/12、192.168/16),但同样不要在互联网宣告或期望可达
  • 典型场景:ISP/移动网核心网、中间过渡网段、客户与运营商交界面、超大规模隧道/overlay 的“灰色”中间层
  • 注意:企业内部若非与运营商对接,优先用 RFC1918;与第三方互联前务必确认是否占用,避免重叠。

地址类型

Read more »

正常的 HTTP 状态码并没有 0,所以它不是一个标准响应码,而是 Nginx 自己记录的特殊值(或者没取到响应做的记录)。

场景

  1. access.log 里出现 status: 0

    • 表示 Nginx 没有从下游(upstream/backend)获取到有效的 HTTP 响应码

    • 常见原因:

      • 客户端在 Nginx 转发请求还没完成时就断开了连接。
      • 上游应用(如后端服务)还没返回数据就断开。
      • Nginx 在建立连接或转发时出现了**网络错误,比如超时、RST(reset)**。
    • 所以 status 0 本质是:请求没有完整结束,Nginx 无法写入一个合法的 HTTP 状态码

⚠️:分析的很正确

Read more »

Redis 开启了 密码认证ACL 用户,在 redis-cli 下执行 client list 查看client连接信息。

1. 旧版 Redis(<=5.x,只有密码 auth)

在 Redis 5 及之前,只有一个全局密码(requirepass)。
此时所有客户端都是同一个身份,client list 里看不到用户名字段。

示例:

Read more »

在 CentOS 7 中,传统网络配置文件存放在 /etc/sysconfig/network-scripts/ 目录下,ifcfg-eth0 就是用来定义 eth0 网卡参数的配置文件。

ifcfg-eth0常见字段说明

  1. TYPE=Ethernet
    指定网卡类型(通常是 Ethernet)。

  2. DEVICE=eth0
    对应的设备名。

  3. NAME=eth0
    接口名称(有时与 DEVICE 相同)。

  4. ONBOOT=yes
    系统启动时是否启用该网卡。

  5. BOOTPROTO=static|dhcp|none

    • static:静态 IP
    • dhcp:通过 DHCP 获取 IP
    • none:不自动配置
  6. 静态 IP 配置示例:

    IPADDR=192.168.1.100
    PREFIX=24          # 等价于 NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    

示例文件(静态 IP)

Read more »

在 CentOS7/CentOS8(基于 systemd/udev)中,默认采用 Predictable Network Interface Names(可预测网卡命名规则),网卡一般命名为 ens33enp0s3 等。如果要改回传统的 eth0/eth1 命名,可以通过以下方法实现:

方法一:内核参数关闭新命名规则

  1. 编辑 grub 配置:

    1
    vi /etc/default/grub
  2. GRUB_CMDLINE_LINUX 中追加:

    net.ifnames=0 biosdevname=0
    

    示例:

    GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0 rhgb quiet"
    
  3. 重新生成 grub 配置:

    • CentOS7:

      1
      grub2-mkconfig -o /boot/grub2/grub.cfg
    • CentOS8(UEFI 启动):

      1
      grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

⚠️:grub路径

Read more »

netstat -s累计计数,不会自动清零(如何清零)。

# 查看特定端口socket情况
netstat -s | grep -i listen 716

times the listen queue of a socket overflowed 716 SYNs to LISTEN sockets dropped

1. 直接重启网络协议栈(最彻底)

会清零所有 TCP 统计计数。

Read more »
0%