CIDR与子网掩码

CIDR表示法

"10.0.0.0/26" 是使用CIDR(无类别域间路由/Classless Inter-Domain Routing)表示法来表示一个IP地址范围的方式。在CIDR表示法中,IP地址范围由一个IP地址后跟一个正斜杠和一个数字组成,该数字指定了网络前缀中的位数。下面解释一下 "10.0.0.0/26" 的含义:

IP地址:"10.0.0.0" 是该范围的基本IP地址。它是地址范围的起点。

/26:"/26" 表示子网掩码或网络前缀中的位数。在这种情况下,它表示IP地址中左边的26位用于表示网络,而剩下的6位用于表示网络内的各个主机地址。

现在,让我们更详细地解释 "10.0.0.0/26":

网络地址:"10.0.0.0" 是网络地址,表示整个网络或子网。

可用IP地址:在/26子网中,有2^6 = 64个可能的IP地址。然而,通常情况下,范围中的第一个和最后一个地址被保留用于网络标识和广播,因此在网络内有62个可用的IP地址供主机使用。

可用IP地址范围:"10.0.0.1" 到 "10.0.0.62"
子网掩码:与"/26"相关联的子网掩码以标准点分十进制格式表示为 "255.255.255.192"。以二进制表示,它是 "11111111.11111111.11111111.11000000",其中前26位被设置为 "1" 以表示网络部分,后6位被设置为 "0" 以表示主机地址。

总之,"10.0.0.0/26" 定义了一个具有64个IP地址的子网范围,从 "10.0.0.1" 到 "10.0.0.62"。这通常用于为网络段内的设备或主机分配IP地址,同时保留了网络和广播地址。

子网掩码、网络地址范围和CIDR

子网掩码、网络地址范围和CIDR(Classless Inter-Domain Routing)之间有密切的关系,它们都用于定义和描述计算机网络中的子网和网络分割。

  1. 子网掩码(Subnet Mask)

    • 子网掩码是一个32位的二进制数,用于划分IP地址中的网络部分和主机部分。它由连续的1位(网络位)和连续的0位(主机位)组成。
    • 子网掩码定义了一个IP地址的哪部分用于网络地址,哪部分用于主机地址。
    • 例如,子网掩码 255.255.255.0 表示前24位用于网络地址,后8位用于主机地址。
  2. 网络地址范围

    • 网络地址范围指的是特定子网的IP地址范围,其中包括网络地址和广播地址以及可分配的主机地址。
    • 网络地址是子网中的第一个IP地址,通常是所有主机位都为0。广播地址是子网中的最后一个IP地址,通常是所有主机位都为1。
    • 例如,对于子网掩码 255.255.255.0,网络地址范围可以是 192.168.1.0192.168.1.255。同样的,网络地址范围也可以是’172.1.1.0′ ‘172.1.1.255’
  3. CIDR(Classless Inter-Domain Routing)

    • CIDR是一种表示IP地址和子网掩码的标准方法,以便更精确地描述网络的子网划分。
    • CIDR表示法包括IP地址,后跟斜杠和网络前缀长度。网络前缀长度指定了网络位的数量,而不是使用具体的子网掩码。
    • 例如,CIDR表示法 192.168.1.0/24 表示网络前缀长度为24位,即前24位用于网络地址,后8位用于主机地址(32-24=8,2^8=256)。

关系:

  • 子网掩码用于明确指定IP地址的哪些位是网络位和哪些位是主机位。
  • 网络地址范围定义了一个子网的IP地址范围,包括网络地址、广播地址和可分配的主机地址。
  • CIDR表示法则是一种更灵活和精确的方法,使用网络前缀长度来表示网络位的数量,而不是具体的子网掩码。CIDR表示法提供了更多的灵活性,可以用于描述各种不同大小的子网,而无需使用不同的子网掩码。

举一个例子(在子网掩码为255.255.240.0时,基础网络地址为172.19.224.0)

当使用CIDR(Classless Inter-Domain Routing)表示法时,IP地址和子网掩码结合在一起,以一种更精确和紧凑的方式来表示网络的子网划分。让我详细解释为什么子网掩码 255.255.240.0 可以用CIDR表示法表示为 172.19.224.0/20

  1. 子网掩码 255.255.240.0 的二进制表示

    • 子网掩码 255.255.240.0 在二进制中是 11111111.11111111.11110000.00000000
    • 这表示前20位用于网络地址,后12位用于主机地址。
  2. IP地址 172.19.224.0 的二进制表示

    • IP地址 172.19.224.0 在二进制中是 10101100.00010011.11100000.00000000
    • 这是网络地址部分,这时候如果考虑上面的子网掩码的规定,则只有12位作为主机地址,也就是从0000.00000000开始的地址,也就是在c网段只有224~240可以作为主机网段,因为241是11110001,已经无法作为网段了。
  3. CIDR表示法的网络前缀长度

    • 为了使用CIDR表示法,我们需要确定网络位的数量,即前面有多少位用于网络地址。
    • 在这个例子中,有前20位用于网络地址。
  4. CIDR表示法的格式

    • CIDR表示法包括IP地址,后跟斜杠和网络前缀长度,例如 IP地址/网络前缀长度
  5. CIDR表示法的组合

    • 将上述的网络地址 172.19.224.0 与网络前缀长度 20 组合在一起,即 172.19.224.0/20

综上所述,CIDR表示法 172.19.224.0/20 表示网络地址 172.19.224.0 和子网掩码 255.255.240.0 结合在一起,指定了网络地址的前20位是网络位,后12位是主机位。这使得CIDR表示法成为一种更灵活、紧凑和精确的方式,用于描述网络的子网划分,而无需使用特定的子网掩码。

如何确定master nodes究竟在哪几台服务器上

k8s配合容器化技术,高度抽象了底层硬件,因此有时候我们想了解master node的具体位置,还有点困难。

第一步,先找到master nodes的名字

[root@172-20-26-79 ~]# kubectl get nodes | grep master
ks-control-1         Ready    control-plane,master   5d23h   v1.21.11
ks-control-2         Ready    control-plane,master   5d23h   v1.21.11
ks-control-3         Ready    control-plane,master   5d23h   v1.21.11

第二步,使用describe来获取内部ip的地址,从而判断是否在一台主机上(综合server的组网情况)

[root@172-20-26-79 ~]# kubectl describe nodes ks-control-3 | grep InternalIP
  InternalIP:  172.20.26.28
[root@172-20-26-79 ~]# kubectl describe nodes ks-control-2 | grep InternalIP
  InternalIP:  172.20.26.89
[root@172-20-26-79 ~]# kubectl describe nodes ks-control-1 | grep InternalIP
  InternalIP:  172.20.26.86

吾日三洗吾身

曾子说:吾日三省吾身,为人谋而不忠乎?与朋友交而不信乎?传而不习乎?

从今天,我也准备养成:三洗吾身的习惯

一洗:早晨完成100个俯卧撑后
二洗:午饭后最困倦时,大概2点左右
三洗:下班到家后

三洗都采用海军陆战队洗澡法,时常控制在端到端10分钟内,冷水。

  • 从手脚开始入浴
  • 避免浑身有汗时入浴
  • 浴后立即擦干

解决跳板机问题

公司的IDC,需要通过堡垒机登录,有两种方式

  1. 使用web shell,这个非常简单,在公司的opencloud页面上就可以使用,而且省去了输入ssh用户名和密码。
  2. 使用ssh终端,总是失败,请教了运维同事,他也不清楚,还好有chatgpt的神助攻,画了1小时解决了。

失败信息

on my mac :# ssh username@jump.server.com
Unable to negotiate with X.X.X.X port 22: no matching host key type found. Their offer: ssh-rsa

chat gpt给出的建议

It appears that you’re trying to SSH from your Mac to the server at jump.server.com, and you’re encountering the "no matching host key type found" error with an offer of "ssh-rsa." This error typically occurs when the SSH client and server cannot agree on a suitable host key algorithm.

To resolve this issue, you can use the -o option to specify the host key algorithm explicitly in your SSH command. For example, you can use the -o option to force the use of the "ssh-rsa" host key algorithm like this:

ssh -o HostKeyAlgorithms=+ssh-rsa username@jump.server.com

This command tells the SSH client to use the "ssh-rsa" host key algorithm when connecting to the server.

However, it’s worth noting that "ssh-rsa" is considered less secure than modern alternatives like "ssh-ed25519" or "ecdsa-sha2-nistp256." If possible, you should encourage the server administrator to update the SSH server’s host key algorithm configuration to use a more secure option.

Additionally, ensure that your SSH client is up to date, as older versions may not support some of the newer host key algorithms.

利用docker建立一个文件服务器

Create a Dockerfile

Ensure you have your OpenVPN client profile files (e.g., .oxxxx files) ready on your server,在同一目录下,新建一个Dockerfile,同时把*.oxxxx 拷贝到这个目录下。

vi Dockerfile

文件内容如下

# Use an official Nginx runtime as a parent image
FROM nginx:alpine

# Copy your client profile files to the container
COPY *.oxxx /usr/share/nginx/html/

# Expose port 80
EXPOSE 80

Build the Docker Image

In the directory containing your Dockerfile, build the Docker image using the docker build command:

docker build -t openxxxx-web-server .

Run the Docker Container:**

Start a Docker container based on the image you just built:

docker run -d -p 80:80 --name openxxx-web-server openxxx-web-server

Access Your Client Profiles:**

Your Openxxx client profile files should now be accessible via HTTP on your server’s IP address or domain name. You can access them using a URL like this:

http://your-server-ip-or-domain/client-profile.oxxx

不打算像木心那样死去

很多人把一个目标当作全部,忽略了整个过程

我八十岁时要如何如何,所以现在开始存钱,依靠复利战胜通胀。

以终为始是作计划的好思路,但实践落地时,这个终是一年后,十年后,三十年后才是要细细衡量的。

真的存在三十年后可执行落地的计划吗?

你看木心,行如枯槁一般躺在乌镇的病床上,所有的福楼拜、尼采都离他远去,只剩陀思妥耶夫斯基冷冷的看着他,木心是作何感想,还有更好的活法吗?

巴菲特呢,芒格呢,爱因斯坦或者费曼呢?
2023-12-15更新:芒格刚刚于11月28日去世,99岁,他工作到了最后一刻,这是幸福的人生。

不打算像木心那样死去?应该关心如何死去吗,还是确定了如何活着就很好了吧。

五险一金

如果要run的话,国内的五险一金怎么办。
五险统称社保,包括养老险、医疗险、生育险、工伤险、失业险。其中生育、工伤暂时与我无关。上海市2022年度全口径城镇单位就业人员平均工资为12183元/月。按此计算,2023年7月1日起,本市社保缴费基数的上限调整为36549元/月(平均工资300%),下限调整为7310元/月(平均工资60%)

2023年度上海社保缴费基数

  • 上限:36549元/月 (2023年7月1日-2024年6月30日)
  • 下限:7310元/月 (2023年7月1日-2024年6月30日)
    一金,就是住房公积金,这块要考虑失业后如何补缴。
    了解清楚概念后,先打12333咨询,然后下周一准备去“区行政服务中心”办理具体事项

五险

养老险

退休后每个月领取,缴的多领的多,男60岁,女55岁
累计缴满15年,退休后有资格领取养老金

  • 职工养老-企业员工
    • 每个月缴一次
    • 缴费基数比例:公司16%+个人8%
    • 工资发放前直接扣除
  • 居民养老-自由职业/无业人员
    • 一年缴纳一次
    • 缴费比例:1000-9000/年
    • 指定银行卡划除

这里有一个概念需要澄清,养老金的最大作用,不能从投资收益的角度来衡量,因为:

  1. 一方面养老金确实有抵抗人性中挥霍倾向的作用,让你把年轻的钱递延到年老后使用。
  2. 同时,养老金还起到社会补偿的作用,实现了社会补贴,年轻人补贴老年人,富人补贴穷人,发达地区补贴欠发达地区。

问题

  • 现在失业停缴,什么时间可以领取养老金
  • 可以领取多少?
  • 如果个人继续缴纳,什么时间可以领取,可以领取多少

医疗险

就是医保,分为个人账户和报销账户

  • 个人账户,1800元起付线以内
  • 重大报销,只有三大目录
    • 药品
      • 甲类药(使用广泛、价格较低),100%报销
      • 乙类药,按比例报销
    • 诊疗项目-按比例报销
      • 治疗费、检测费、手术费
    • 服务设施
      • 普通病房床位费可报销
      • 高端、特需病房需自费

失业险

领取失业保险的条件

  • 失业前缴纳失业保险满一年
  • 非个人原因导致的失业
  • 且已经办理失业登记,并在找工作

领取失业金的年限不超过24个月,同时社保机构会代为缴纳同时期的

一金

住房公积金