Network BGP Preferred Value实验

Table of Contents

实验拓扑

1、知识点:当一台BGP 存在多条去往同一目标网络的BGP 路由时,BGP会对这些BGP路由属性进行比较,以确定去往该目标网络的最佳BGP路由,然后将去往同一目标网络其他协议路由进行比较;从而确定是否将最优BGP 路由放进IP路由表中。BGP路由属性比较时首先比较的就是路由信息首选值(Preferred Value)简称PrefVal。取值的优先级为0~65535。取值越大,优先级越高。默认值为0。PrefVal属性不会传递给BGP 邻居,仅作为本地路由器用来选择最佳BGP路径之用。

2、在AS100内使用RIP V2实现互连、每个路由器使用环回接口作为Router-ID 且作为BGP连接的源接口。

3、掌握Preferred Value(首选值)属性的方法

4、通过修改Preferred Value 属性来实现流量分担

5、在R3上修改去往R4的 10.0.44.44/32 10.0.55.55/32的路由使得去往44的路由通过R1,去往55的路由通过R2.

6、如果下一跳不同,但路由信息首选值PrefVal、本地优先级LocPrf、路由方式、AS_PATH属性、Origin属性、MED属性、BGP对等体类型都是相同的,BGP 会选择Router-ID较小的路由器作为最佳路由。

实验配置

R1 配置

dis current-configuration configuration bgp
[V200R003C00]
#
bgp 100
router-id 10.0.1.1
peer 10.0.2.2 as-number 100
peer 10.0.2.2 connect-interface LoopBack0
peer 10.0.3.3 as-number 100
peer 10.0.3.3 connect-interface LoopBack0
peer 10.0.4.4 as-number 200
peer 10.0.4.4 ebgp-max-hop 255 //如果不指定最大跳数则为1、缺省情况下,EBGP连接允许的最大跳数为1,即只能在物理直连链路上建立EBGP连接。
peer 10.0.4.4 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 10.0.2.2 enable
peer 10.0.2.2 next-hop-local
peer 10.0.3.3 enable
peer 10.0.3.3 next-hop-local
peer 10.0.4.4 enable
#
return

静态路由 去往10.0.4.4 环回接口的路由

ip route-static 10.0.4.4 255.255.255.255 10.0.14.4

dis current-configuration configuration rip
[V200R003C00]
#
rip 1
version 2
network 10.0.0.0
#
return

R3 配置

<R3>dis current-configuration configuration rip
[V200R003C00]
#
rip 1
version 2
network 10.0.0.0
#
return
dis current-configuration configuration bgp
[V200R003C00]
#
bgp 100
peer 10.0.1.1 as-number 100
peer 10.0.1.1 connect-interface LoopBack0
peer 10.0.2.2 as-number 100
peer 10.0.2.2 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
network 10.0.33.33 255.255.255.255
peer 10.0.1.1 enable
peer 10.0.1.1 next-hop-local
peer 10.0.2.2 enable
peer 10.0.2.2 route-policy 1 import //在R2上使用了路由策略 在BGP 视图下
peer 10.0.2.2 next-hop-local
#
return

dis current-configuration | include ip ip-prefix

ip ip-prefix 1 index 10 permit 10.0.55.55 32 //新建IPV4 地址前缀列表名为1 序号为10 匹配模式为允许。

路由策略

dis current-configuration configuration route-policy
[V200R003C00]
#
route-policy 1 permit node 10
if-match ip-prefix 1
apply preferred-value 100 //修改首选值
#
route-policy 1 permit node 20 //允许其他路由不做修改而被接收
#
return

linux parted 分区

linux分区命令parted的用法

parted的适用场景

  • 创建操作大于2T的分区
    一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈TiB级别增长;而常用的fdisk这个工具对分区是有大小限制的,它只能划分小于2T的磁盘,所以在划大于2T磁盘分区的时候fdisk就无法满足要求了;这个时候有2个方法,其一是通过卷管理来实现,其二就是通过parted工具来实现对GPT磁盘进行分区操作;这里我们采用parted的方法来实现管理。

parted的2种使用方式

  • 交互式
    手动按序交互式的创建;
  • 非交互式
    可将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机的场景。
  • 两种方式比较
    两种方法的使用和原理其实是一样的;要想实现非交互式创建,无非是在每一个具体的交互式命令前加上parted DEVICES_NAME即可。

parted实现分区管理实践

实验环境

操作系统

CentOS 7.5

磁盘信息

  • 待管理磁盘
    /dev/sdb
  • 磁盘总大小
    18T
  • 分区需求
    将整个/dev/sdb划分到同一个分区里,并挂载到**/gfsdata01目录下。

交互式方式实现分区步骤

选择操作磁盘

parted命令后跟上欲操作磁盘的名字即可选择此设备进行操作。

[root@kvm ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

新建磁盘标签类型为GPT

因为parted命令只能针对gpt格式的磁盘进行操作,所以这里必须将新建的磁盘标签格式设为gpt。

(parted) mklabel gpt

分区

命令格式

mkpart PART-TYPE [FS-TYPE] START END
  • PART-TYPE(分区类型)
    • primary
      主分区
    • logical
      逻辑分区
    • extended
      扩展分区
  • FS-TYPE(文件系统类型)
    • ext4
    • ext3
    • ext2
    • xfs
    • 其他……
  • START
    设定磁盘分区起始点;可以为0,numberMiB/GiB/TiB;
    • 0
      设定当前分区的起始点为磁盘的第一个扇区;
    • 1G
      设定当前分区的起始点为磁盘的1G处开始;
  • END
    设定磁盘分区结束点;
    • -1
      设定当前分区的结束点为磁盘的最后一个扇区;
    • 10G
      设定当前分区的结束点为磁盘的10G处;

将/dev/sdb整个空间分给同一个分区

(parted) mkpart primary 0 -1                                              
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) p                                                                
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  18.0TB  18.0TB               primary
(parted) q                                                                
Information: You may need to update /etc/fstab.

格式化分区

因为整个/dev/sdb只分了一个区,则这个分区名默认会分配为/dev/sdb1;使用mkfs命令将/dev/sdb1分区格式化为ext4

[root@kvm ~]# mkfs -t ext4 /dev/sdb1                 
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb1 alignment is offset by 244736 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=64 blocks, Stripe width=64 blocks
274659328 inodes, 4394530311 blocks
219726515 blocks (5.00%) reserved for the super user
First data block=0
134111 block groups
32768 blocks per group, 32768 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 
        2560000000, 3855122432

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

设定分区label(非必要)

[root@kvm ~]# e2label /dev/sdb1 /gfsdata01

创建挂载目录

[root@kvm ~]# mkdir /gfsdata01

临时挂载分区

[root@kvm ~]# mount /dev/sdb1 /gfsdata01
[root@kvm ~]# df -h
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/root_vg-lv_root   89G  2.6G   82G   4% /
devtmpfs                     126G     0  126G   0% /dev
tmpfs                        126G     0  126G   0% /dev/shm
tmpfs                        126G  2.0M  126G   1% /run
tmpfs                        126G     0  126G   0% /sys/fs/cgroup
/dev/sda1                    976M  216M  694M  24% /boot
/dev/sda7                     99G   61M   94G   1% /home
/dev/sda8                     62G   53M   59G   1% /tmp
/dev/sda6                     99G   61M   94G   1% /app
tmpfs                         26G     0   26G   0% /run/user/1014
tmpfs                         26G     0   26G   0% /run/user/0
/dev/sdb1                     17T   20K   16T   1% /gfsdata01

开机自动挂载(永久挂载)

即修改/etc/fstab文件。

echo '/dev/sdb1 /gfsdata01    ext4    defaults    0 0' >>/etc/fstab

非交互式方式实现脚本

适用于需要在多台主机上进行同样的分区操作,可以通过ansible工具调用脚本实现批量分区配置挂载等操作。

[root@kvm ~]# cat ./auto_partition.sh 
#!/bin/bash
# 新建/dev/sdb的磁盘标签类型为GPT
parted /dev/sdb mklabel gpt 
# 将/dev/sdb整个空间分给同一个分区
parted /dev/sdb mkpart primary 0 100%
# 忽略警告
ignore
# 格式化分区
mkfs -t ext4 /dev/sdb1
# 设定分区label(非必要)
e2label /dev/sdb1 /gfsdata01
# 创建挂载目录
mkdir /gfsdata01
# 临时挂载
mount /dev/sdb1 /gfsdata01
# 开机自动挂载(永久挂载)
echo '/dev/sdb1 /gfsdata01       ext4    defaults        0 0'>>/etc/fstab
[root@kvm ~]# 

parted的其他常用子命令

删除分区(rm子命令)

rm NUMBERNUMBER即为parted子命令p回显的Number对应的数字;
此命令慎用!!!如果要删除的分区内已有数据,那么此命令会删除其中的所有数据,并且是不可逆的。

(parted) p                                                                
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  4096GB  4096GB               primary

(parted) rm 1                                                             
(parted) p                                                                
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

(parted)

使用parted创建大分区时 mkpart Warning: The resulting partition is not properly aligned for best performance.

上网搜索的结论是分区起始的扇区成是把optimal_io_size的值与alignment_offset的值相加,之后除以physical_block_size的值。

[root@db_taibao oracle]# cat /sys/block/sdb/queue/optimal_io_size 
0
[root@db_taibao oracle]# cat /sys/block/sdb/queue/minimum_io_size 
4096
[root@db_taibao oracle]# cat /sys/block/sdb/alignment_offset 
0
[root@db_taibao oracle]# cat /sys/block/sdb/queue/physical_block_size 
4096

采用下面的值创建成功

(parted) mkpart primary 4096 100%                                            
(parted)

linux 小版本centos升级

CentOS7.3升级到CentOS7.9

1)查看当前centos系统版本和内核版本

[root@centos7-82 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

2)备份原来的CentOS-Base.repo

[root@centos7-82 ~]# cd /etc/yum.repos.d/

[root@centos7-82 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo_bak

3)修改yum源。

要保证更换的yum源地址可以正常访问。如下使用阿里云的yum源http://mirrors.aliyun.com/centos/7.9.2009,要保证手动打开这个地址是有效地址,且镜像yum源内容完整存在。

[base]

name=CentOS-$releasever

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/7.9.2009/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[updates]

name=CentOS-$releasever

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/7.9.2009/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]

name=CentOS-$releasever

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/7.9.2009/extras/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

4)执行更新yum

确保下面更新操作没有报错。

[root@centos7-82  yum.repos.d]# yum update -y

5)重启系统

[root@centos7-82  yum.repos.d]# init 6

重启后查看系统版本

[root@centos7-82 yum.repos.d]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

Exchange 邮件送达报告

请在EMS 中运行

$Temp = Search-MessageTrackingReport -Identity “wanglimin@thtfpc.com” -Recipients “xiazhenghua@thtfpc.com” -BypassDelegateChecking

Get-MessageTrackingReport -Identity $Temp.MessageTrackingReportID -ReportTemplate Summary

使用search 再使用get

$msg = Search-MessageTrackingReport -Identity haichao@thtfpc.com -Recipients  zhaoyibo@tfcz.com.cn -BypassDelegateChecking


$msg | %{ Get-MessageTrackingReport -Identity $_.MessageTrackingReportId -BypassDelegateChecking }


$msg | %{ Get-MessageTrackingReport -Identity $_.MessageTrackingReportId -BypassDelegateChecking -Status Unsuccessful }

-Status

The Status parameter filters the results by the specified delivery status codes. Valid values are:

  • Delivered
  • Read
  • Pending
  • Transferred
  • Unsuccessful
  • 已送达
  • 读取
  • Pending
  • 转移
  • 失败