春风十里不如你 —— Taozi - 公共 https://xiongan.host/index.php/category/public/ 华为S系列的交换机Telnet登录 https://xiongan.host/index.php/archives/230/ 2024-04-06T07:47:35+08:00 通过telent登录交换机应用场景:两台物理交换机(同段)之间的telnet访问 SW2 可以 以AAA验证方式登录到SW1的VRP系统已经配置好了交换机的vlanif 2端口ip (两台都在同段)具体配置配置Telnet登录所用的VTY用户界面的终端属性,指定VTY 0\~4这5条VTY虚拟通道可以用于登录[SW1]user-interface vty 0 4 [SW1-ui-vty0-4]idle-timeout 20 //设置超时间为20分钟 [SW1-ui-vty0-4]history-command max-size 20   //设置历史命令缓冲区的大小为20配置Telnet登录VTY用户界面的AAA验证方式和用户类别[SW1-ui-vty0-4]authentication-mode aaa [SW1-ui-vty0-4]user privilege level 15 [SW1-ui-vty0-4]q配置控制通过Telnet访问交换机的用户ACL策略[SW1]user-interface maximum-vty 5 //设置VTY用户界面的最大个数 [SW1]acl 2001 [SW1-acl-basic-2001]rule permit source xxx //配置仅允许IP地址xx的主机访问 [SW1-acl-basic-2001]q [SW1]user-interface vty 0 4 [SW1-ui-vty0-4]acl 2001 inbound //在VTY 0-4这5个用户界面中应用上面的ACL创建用于Telnet登录AAA验证的用户名和密码[SW1]aaa [SW1-aaa]local-user huawei password cipher hello@123 //设置用户密码 [SW1-aaa]local-user huawei service-type telnet //设置该用户的服务类型为telnet [SW1-aaa]local-user huawei privilege level 15 //生效级别设置的15开启Telnet服务器功能,并设置端口[SW1]telnet server enable [SW1]telnet server port 1028测试结果查看,在SW2测试telnet交换机SW1 【Esxi】挂载USB硬盘盒 https://xiongan.host/index.php/archives/227/ 2023-11-26T16:47:56+08:00 【Esxi】添加USB硬盘盒开启SSH首先Esxi开启SSH挂载USB硬盘在没有插入USB硬盘前的操作/etc/init.d/usbarbitrator stop chkconfig usbarbitrator off接入硬盘后查看是否识别esxcli storage core device list | grep -i usb查看USB硬盘信息,如下图,第一行就是,每个人的信息都不会一样的格式化USB硬盘为gpt格式partedUtil mklabel /dev/disks/mpx.vmhba33\:C0\:T0\:L0 gpt partedUtil getptbl /dev/disks/mpx.vmhba33\:C0\:T0\:L0换算硬盘的二进制数值eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba33\:C0\:T0\:L0 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1以下命令是让系统来识别我们的硬盘partedUtil setptbl /dev/disks/mpx.vmhba33\:C0\:T0\:L0 gpt "1 2048 7814032064 AA31E02A400F11DB9590000C2911D1B8 0"切换成vmfs5vmkfstools -C vmfs5 -S USB_Datastore /dev/disks/mpx.vmhba33\:C0\:T0\:L0:1完成回到esxi存储看,成功添加了一块USB硬盘注:如果之后usb硬盘有换到别的usb口,esxi可能会一下无法识别到硬盘,需要将esxi重启一下即可。 基于Kubernetes集群的监控网络服务 https://xiongan.host/index.php/archives/226/ 2023-10-30T01:41:00+08:00 基于Kubernetes集群的监控网络服务介绍需要以下环境Kubernetes集群Blackbox工具Grafana、Prometheus监控大致功能:通过在K8s集群中部署blackbox工具(用于监控服务,检查网络可用性)和Grafana、Prometheus(监控可视化面板)更直观的体现网络连通性,可以进行警报和分析本文章通过若海博客的【Kubernetes 集群上安装 Blackbox 监控网站状态】和【Kubernetes 集群上安装 Grafana 和 Prometheus】整合而成部署Kubernetes集群(Ubuntu/Debian操作系统)确保主节点和子节点都有Docker环境(最好是同一个版本)主节点//安装Docker,一键安装(如有安装可以忽略) curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun //开启docker、并设置开机自启 systemctl start docker & systemctl enable docker apt update apt install -y wireguard echo "net.ipv4.ip_forward = 1" >/etc/sysctl.d/ip_forward.conf sysctl -p /etc/sysctl.d/ip_forward.conf //以下Token值请保存,任意字符串 export SERVER_TOKEN=r83nui54eg8wihyiteshuo3o43gbf7u9er63o43gbf7uitujg8wihyitr6 export PUBLIC_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/public-ipv4) export PRIVATE_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/local-ipv4) export INSTALL_K3S_SKIP_DOWNLOAD=true export DOWNLOAD_K3S_BIN_URL=https://github.com/k3s-io/k3s/releases/download/v1.28.2%2Bk3s1/k3s if [ $(curl -Ls http://ipip.rehi.org/country_code) == "CN" ]; then   DOWNLOAD_K3S_BIN_URL=https://ghproxy.com/${DOWNLOAD_K3S_BIN_URL} fi curl -Lo /usr/local/bin/k3s $DOWNLOAD_K3S_BIN_URL chmod a+x /usr/local/bin/k3s curl -Ls https://get.k3s.io | sh -s - server \   --cluster-init \   --token $SERVER_TOKEN \   --node-ip $PRIVATE_IP \   --node-external-ip $PUBLIC_IP \   --advertise-address $PRIVATE_IP \   --service-node-port-range 5432-9876 \   --flannel-backend wireguard-native \   --flannel-external-ip子节点//安装Docker,一键安装(如有安装可以忽略) curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun //开启docker、并设置开机自启 systemctl start docker & systemctl enable docker //子节点代码 apt update apt install -y wireguard echo "net.ipv4.ip_forward = 1" >/etc/sysctl.d/ip_forward.conf sysctl -p /etc/sysctl.d/ip_forward.conf export SERVER_IP=43.129.195.33 //此ip填你的主节点地址 export SERVER_TOKEN=r83nui54eg8wihyiteshuo3o43gbf7u9er63o43gbf7uitujg8wihyitr6 export PUBLIC_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/public-ipv4) export PRIVATE_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/local-ipv4) export INSTALL_K3S_SKIP_DOWNLOAD=true export DOWNLOAD_K3S_BIN_URL=https://github.com/k3s-io/k3s/releases/download/v1.28.2%2Bk3s1/k3s if [ $(curl -Ls http://ipip.rehi.org/country_code) == "CN" ]; then   DOWNLOAD_K3S_BIN_URL=https://ghproxy.com/${DOWNLOAD_K3S_BIN_URL} fi curl -Lo /usr/local/bin/k3s $DOWNLOAD_K3S_BIN_URL chmod a+x /usr/local/bin/k3s curl -Ls https://get.k3s.io | sh -s - agent \   --server https://$SERVER_IP:6443 \   --token $SERVER_TOKEN \   --node-ip $PRIVATE_IP \   --node-external-ip $PUBLIC_IPBlackbox工具部署(也有集群方式)//拉取镜像 docker pull rehiy/blackbox //一键启动 docker run -d \   --name blackbox \   --restart always \   --publish 9115:9115 \   --env "NODE_NAME=guangzhou-taozi" \   --env "NODE_OWNER=Taozi" \   --env "NODE_REGION=广州" \   --env "NODE_ISP=TencentCloud" \   --env "NODE_BANNER=From Taozii-www.xiongan.host" \   rehiy/blackbox //开始注册 docker logs -f blackboxGrafana、Prometheus部署在主节点创建一个目录,名字任意,然后在同一目录中创建两个文件(grafpro.yaml、grafpro.sh)grafpro.yamlkind: Deployment apiVersion: apps/v1 metadata: name: &name grafpro labels:   app: *name spec: selector:   matchLabels:     app: *name template:   metadata:     labels:       app: *name   spec:     initContainers:       - name: busybox         image: busybox         command:           - sh           - -c           - |             if [ ! -f /etc/prometheus/prometheus.yml ]; then             cat <<EOF >/etc/prometheus/prometheus.yml             global:               scrape_timeout: 25s               scrape_interval: 1m               evaluation_interval: 1m             scrape_configs:               - job_name: prometheus                 static_configs:                   - targets:                       - 127.0.0.1:9090             EOF             fi         volumeMounts:           - name: *name             subPath: etc             mountPath: /etc/prometheus     containers:       - name: grafana         image: grafana/grafana         securityContext:           runAsUser: 0         ports:           - containerPort: 3000         volumeMounts:           - name: *name             subPath: grafana             mountPath: /var/lib/grafana       - name: prometheus         image: prom/prometheus         securityContext:           runAsUser: 0         ports:           - containerPort: 9090         volumeMounts:           - name: *name             subPath: etc             mountPath: /etc/prometheus           - name: *name             subPath: prometheus             mountPath: /prometheus     volumes:       - name: *name         hostPath:           path: /srv/grafpro           type: DirectoryOrCreate --- kind: Service apiVersion: v1 metadata: name: &name grafpro labels:   app: *name spec: selector:   app: *name ports:   - name: grafana     port: 3000     targetPort: 3000   - name: prometheus     port: 9090     targetPort: 9090 --- kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: &name grafpro annotations:   traefik.ingress.kubernetes.io/router.entrypoints: web,websecure spec: rules:   - host: grafana.example.org     http:       paths:         - path: /           pathType: Prefix           backend:             service:               name: *name               port:                 name: grafana   - host: prometheus.example.org     http:       paths:         - path: /           pathType: Prefix           backend:             service:               name: *name               port:                 name: prometheus tls:   - secretName: defaultgrafpro.sh//警告:请修改路径和访问域名 # 配置存储路径 export GRAFPRO_STORAGE=${GRAFPRO_STORAGE:-"/srv/grafpro"} # 配置访问域名 export GRAFANA_DOMAIN=${GRAFPRO_DOMAIN:-"grafana.example.org"} export PROMETHEUS_DOMAIN=${PROMETHEUS_DOMAIN:-"prometheus.example.org"} # 修改参数并部署服务 cat grafpro.yaml \   | sed "s#/srv/grafpro#$GRAFPRO_STORAGE#g" \   | sed "s#grafana.example.org#$GRAFANA_DOMAIN#g" \   | sed "s#prometheus.example.org#$PROMETHEUS_DOMAIN#g" \   | kubectl apply -f -部署chmod +x grafpro.sh ./grafpro.sh测试打开注意以下,开启端口9115、9090 浏览器打开地址http://grafana.example.org 账号密码都是admin,首次登录,提示修改密码,修改后自动跳到控制台 浏览器打开http://grafana.example.org/connections/datasources/选择第一个,然后编辑URL为:http://127.0.0.1:9090 然后保存 然后选择创建好的Prometheus,导入面板 浏览器打开http://prometheus.example.org,查看信息配置Promethues任务//回到主节点的/srv/grafpro/etc目录下 编辑yml文件,备份一下原有的yml,创建新的yml mv prometheus.yml prometheus00.yml //以下是yml文件内容(若部署时修改了负载名称blackbox-exporter,下文的配置文件也要做相应的修改) global: scrape_timeout: 15s scrape_interval: 1m evaluation_interval: 1m scrape_configs: # prometheus - job_name: prometheus   static_configs:     - targets:         - 127.0.0.1:9090 # blackbox_all - job_name: blackbox_all   static_configs:     - targets:         - blackbox-gz:9115       labels:         region: '广州,腾讯云' # http_status_gz - job_name: http_status_gz   metrics_path: /probe   params:     module: [http_2xx] #配置get请求检测   static_configs:     - targets:         - https://www.example.com       labels:         project: 测试1         desc: 测试网站描述1     - targets:         - https://www.example.org       labels:         project: 测试2         desc: 测试网站描述2   basic_auth:     username: ******     password: ******         relabel_configs:     - target_label: region       replacement: '广州,腾讯云'     - source_labels: [__address__]       target_label: __param_target     - source_labels: [__param_target]       target_label: instance     - target_label: __address__       replacement: blackbox-gz:9115:80然后重启svc,方法如下:首先查看podkubectl get pod 然后删除查看到关于grafana的pod,然后稍等几分钟即可 kubectl delete pod *导入 Grafana 仪表盘下载附件json在Grafana仪表盘里导入即可导入后可以查看到监控仪已经开始了,显示各项信息 Debian和Ubuntu安装k8s https://xiongan.host/index.php/archives/225/ 2023-10-20T18:44:00+08:00 //主节点代码 apt update apt install -y wireguard echo "net.ipv4.ip_forward = 1" >/etc/sysctl.d/ip_forward.conf sysctl -p /etc/sysctl.d/ip_forward.conf export SERVER_TOKEN=r83nui54eg8wihyiteshuo3o43gbf7u9er63o43gbf7uitujg8wihyitr6 export PUBLIC_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/public-ipv4) export PRIVATE_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/local-ipv4) export INSTALL_K3S_SKIP_DOWNLOAD=true export DOWNLOAD_K3S_BIN_URL=https://github.com/k3s-io/k3s/releases/download/v1.28.2%2Bk3s1/k3s if [ $(curl -Ls http://ipip.rehi.org/country_code) == "CN" ]; then DOWNLOAD_K3S_BIN_URL=https://ghproxy.com/${DOWNLOAD_K3S_BIN_URL} fi curl -Lo /usr/local/bin/k3s $DOWNLOAD_K3S_BIN_URL chmod a+x /usr/local/bin/k3s curl -Ls https://get.k3s.io | sh -s - server \ --cluster-init \ --token $SERVER_TOKEN \ --node-ip $PRIVATE_IP \ --node-external-ip $PUBLIC_IP \ --advertise-address $PRIVATE_IP \ --service-node-port-range 5432-9876 \ --flannel-backend wireguard-native \ --flannel-external-ip //子节点代码 apt update apt install -y wireguard echo "net.ipv4.ip_forward = 1" >/etc/sysctl.d/ip_forward.conf sysctl -p /etc/sysctl.d/ip_forward.conf export SERVER_IP=43.129.195.33 export SERVER_TOKEN=r83nui54eg8wihyiteshuo3o43gbf7u9er63o43gbf7uitujg8wihyitr6 export PUBLIC_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/public-ipv4) export PRIVATE_IP=$(curl -Ls http://metadata.tencentyun.com/latest/meta-data/local-ipv4) export INSTALL_K3S_SKIP_DOWNLOAD=true export DOWNLOAD_K3S_BIN_URL=https://github.com/k3s-io/k3s/releases/download/v1.28.2%2Bk3s1/k3s if [ $(curl -Ls http://ipip.rehi.org/country_code) == "CN" ]; then DOWNLOAD_K3S_BIN_URL=https://ghproxy.com/${DOWNLOAD_K3S_BIN_URL} fi curl -Lo /usr/local/bin/k3s $DOWNLOAD_K3S_BIN_URL chmod a+x /usr/local/bin/k3s curl -Ls https://get.k3s.io | sh -s - agent \ --server https://$SERVER_IP:6443 \ --token $SERVER_TOKEN \ --node-ip $PRIVATE_IP \ --node-external-ip $PUBLIC_IP //docker配置镜像加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://wml59v5w.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker //非集群机器安装集群管理面板kuboard sudo docker run -d \ --restart=unless-stopped \ --name=kuboard \ -p 80:80/tcp \ -p 10081:10081/udp \ -p 10081:10081/tcp \ -e KUBOARD_ENDPOINT="http://kuboard.my-company.com:80" \ -e KUBOARD_AGENT_SERVER_UDP_PORT="10081" \ -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \ -v /root/kuboard-data:/data \ eipwork/kuboard:v3.1.7.1 【安全】搭建VPN案例 https://xiongan.host/index.php/archives/224/ 2023-10-10T21:13:54+08:00 搭建VPN环境网络拓扑作为VPN服务器的Win2003 添加一张网卡用于连接内部权限子网的端口配置VPN服务器选择路由和远程访问选择配置VPN服务器选择外网网卡IP地址指定→自动名称和地址转换服务→启用基本的名称和地址服务管理多个远程访问服务器→否完成后确定VPN网络客户端的配置在XP系统中进行配置,添加网络连接网络连接→虚拟专用网络连接连接名→随意VPN服务器选择→win2003的ip地址下一步完成后就会弹出一个登陆窗口,此时需要去win 2003VPN服务器中创建新的用户和密码设置用户权限测试远程访问VPN在XP端中成功登录连接后运行cmd命令执行ipconfig,可以查看客户机已经获取的新地址与内部网络一致了查看到时随机地址,只需要去VPN服务器中修改配置,改为静态地址即可再次测试,就可以看到是自定义的静态地址池 【VPC】AWS构建VPC并启动Web服务器 https://xiongan.host/index.php/archives/223/ 2023-10-09T23:16:17+08:00 构建 VPC 并启动 Web 服务器创建 VPC。创建子网。配置安全组。在 VPC 中启动 EC2 实例创建VPC进入AWS管理控制台中,创建VPC,包括单个可用区中的一个 VPC、一个互联网网关、一个公有子网和一个私有子网,以及两个路由表和一个 NAT 网关。选择 VPC and more(VPC 等)。在 Name tag auto-generation(名称标签自动生成)下,将 Auto-generate(自动生成)保持选中状态,但将值从 project 更改为 lab。将 IPv4 CIDR block(IPv4 CIDR 块)设置保持为 10.0.0.0/16对于 Number of Availability Zones(可用区数量),请选择 1。对于 Number of public subnets(公有子网的数量),请将设置保留为 1。对于 Number of private subnets(私有子网的数量),请将设置保留为 1。展开 Customize subnets CIDR blocks(自定义子网 CIDR 块)部分将 Public subnet CIDR block in us-east-1a(us-east-1a 中的公有子网 CIDR 块)更改为 10.0.0.0/24将 Private subnet CIDR block in us-east-1a(us-east-1a 中的私有子网 CIDR 块)更改为 10.0.1.0/24将 NAT gateways(NAT 网关)设置为 In 1 AZ(在一个可用区中)。将 VPC endpoints(VPC 终端节点)设置为 None(无)。将 DNS hostnames(DNS 主机名)和 DNS resolution(DNS 解析)都保持为 enabled(已启用)状态。创建成功创建额外子网创建第二个公有子网VPC ID:lab-vpc(从菜单中选择)。Subnet name(子网名称):lab-subnet-public2Availability Zone(可用区):选择第二个可用区(例如 us-east-1b)IPv4 CIDR block(IPv4 CIDR 块):10.0.2.0/24此子网将包含所有以 10.0.2.x 开头的 IP 地址。创建第二个私有子网VPC ID:lab-vpcSubnet name(子网名称):lab-subnet-private2Availability Zone(可用区):选择第二个可用区(例如 us-east-1b)IPv4 CIDR block(IPv4 CIDR 块):10.0.3.0/24此子网将包含所有以 10.0.3.x 开头的 IP 地址。配置路由表现在,您将配置这个新的私有子网,将流向互联网的流量路由到 NAT 网关,以便第二个私有子网中的资源能够连接到互联网,同时这些资源仍然保持私有。这是通过配置路由表完成的。路由表包含一组规则(称为路由),用于确定网络流量的流向。VPC 中的每个子网必须与一个路由表相关联;而路由表控制子网的路由。此路由表用于路由来自私有子网的流量。此路由表用于公有子网的流量创建VPC安全组Security group name(安全组名称):Web Security GroupDescription(描述):Enable HTTP accessVPC:选择 X 删除当前选择的 VPC,然后从下拉列表中选择 lab-vpc在 Inbound rules(入站规则)窗格中,选择 Add rule(添加规则)配置以下设置:Type(类型):HTTPSource(源):Anywhere-IPv4Description(描述):Permit web requests启动Web服务器实例配置网络设置:在 Network settings(网络设置)旁边,选择 Edit(编辑),然后配置:Network(网络):lab-vpcSubnet(子网):lab-subnet-public2(非私有!)Auto-assign public IP(自动分配公有 IP):Enable(启用)接下来,您将实例配置为使用之前创建的 Web Security Group。在 Firewall (security groups)(防火墙(安全组))下,选择 Select existing security group(选择现有安全组)。对于 Common security groups(常见安全组),选择 Web Security Group。此安全组将允许对实例进行 HTTP 访问。在 Configure storage(配置存储)部分中,保留默认设置。注意:默认设置指定实例的根卷(托管您之前指定的 Amazon Linux 来宾操作系统)在大小为 8 GiB 的通用型 SSD (gp3) 硬盘驱动器上运行。您也可以添加更多存储卷,但在本实验中不需要这样做。配置一个脚本,在实例启动时在实例上运行此脚本:展开 Advanced details(高级详细信息)面板。滚动到页面底部,然后复制下面显示的代码并将其粘贴到 User data(用户数据)框中:#!/bin/bash # Install Apache Web Server and PHP dnf install -y httpd wget php mariadb105-server # Download Lab files wget https://aws-tc-largeobjects.s3.us-west-2.amazonaws.com/CUR-TF-100-ACCLFO-2/2-lab2-vpc/s3/lab-app.zip unzip lab-app.zip -d /var/www/html/ # Turn on web server chkconfig httpd on service httpd start此脚本将在实例的来宾操作系统上以根用户权限运行,并且会在实例首次启动时自动运行。此脚本将安装一个 Web 服务器、一个数据库和 PHP 库,然后在 Web 服务器上下载并安装 PHP Web 应用程序。 【华为数通】MPLS-Vpn基础实验案例(企业级) https://xiongan.host/index.php/archives/222/ 2023-09-25T16:08:29+08:00 MPLS-VPN基础实验案例整体拓扑要求:某公司在北京设有总部并且在重庆设置分部。公司希望两个区域的员工可以通过私网路由互相访问。在网络边缘设备上使用BGP协议将私网路由发送给运营商,同时需要保证网络信息的安全性。R1,R2,R3,R4属于AS100模拟运营商。运营商内部使用OSPF协议实现IGP互通。在R1,R4建立MP-IBGP邻居,使用MPLS VPN技术使两个区域通过私网路由互访。环境配置首先配置好各个路由器的接口地址以及路由器的环回口地址在R1上创建实例:在R1上创建VPN实例1,并将实例1和接口G0/0/0绑定。需注意,在接口上进行实例的绑定后,原配置IP地址会清空,需要重新配置IP地址。VPN实例用于将VPN私网路由域公网路由隔离,不同VPN实例中的路由也是相互隔离的。在实例中需要配置RD值和RT值,RD用于区分每个VPN实例的VPN路由,最好保证RD值全网唯一,保证路由在公网传递时不冲突;RT值用于控制VPN路由信息的接收和发布。在R4上创建实例:部署OSPF在R1上配置ospf:在R2上配置ospf:在R3上配置ospf:在R4上配置ospf:在R5上配置ospf:在R6上配置ospf:在R1上查看邻居关系:可以观察到,R1与R2,R5成功建立OSPF邻居关系。配置MPLS在R1上配置mpls:在R2上配置mpls:在R3上配置mpls:在R4上配置mpls:配置BGP在R1上配置BGP:在R1与R4之间使用环回口建立IBGP邻居关系。在R4上配置BGP:在R1上查看BGO vpnv4邻居关系:在R1上路由引入:在R1上将实例中的路由引入进BGP中,通过Vpn4路由向外通告,并将BGP的路由引入进OSPF实例下。由于BGP协议可承载的路由条目更多,为了防止后期引入路由条目过多,设备的负载压力过大,使用路由控制,只引入重庆分公司的路由。在R4上路由引入:在R4上将实例中的路由引入进BGP中,通过Vpn4路由向外通告,并将BGP的路由引入进OSPF实例下。由于BGP协议可承载的路由条目更多,为了防止后期引入路由条目过多,设备的负载压力过大,使用路由控制,只引入北京总公司的路由。在R1上查看标签交换路径:可以观察到,在R1上有AS100内所有的32位环回口地址的FEC,并且为北京总公司的网络生成Vpnv4标签在R5上查看路由:可以观察到,R5通过OSPF学习到重庆分公司的6.6.6.6/32的路由。本路由在R4上通过Vpnv4路由传递给R1,并在R1的OSPF实例下引入BGP路由学习到。在R5上ping测试: 【华为数通】MPLS的基础配置 https://xiongan.host/index.php/archives/221/ 2023-09-19T12:30:45+08:00 MPLS的基础配置整体拓扑首先配置各个路由器及接口ip地址配置OSPFR1: [R1-ospf-1]dis this [V200R003C00] # ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 10.1.1.1 0.0.0.0 network 10.123.12.1 0.0.0.0 # return R2: [R2-ospf-1]dis this [V200R003C00] # ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 10.123.12.2 0.0.0.0 network 10.123.23.2 0.0.0.0 network 20.1.1.1 0.0.0.0 # return R3: [R3-ospf-1]dis this [V200R003C00] # ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 10.123.23.3 0.0.0.0 network 10.123.34.3 0.0.0.0 network 30.1.1.1 0.0.0.0 # return R4: [R4-ospf-1]dis this [V200R003C00] # ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 10.123.34.4 0.0.0.0 network 10.123.45.4 0.0.0.0 network 40.1.1.1 0.0.0.0 # return R5: [R5-ospf-1]dis this [V200R003C00] # ospf 1 router-id 5.5.5.5 area 0.0.0.0 network 10.123.45.5 0.0.0.0 # return在R9上检查路由表配置MPLS在R1上配置MPLS在R2上配置MPLS在R3上配置MPLS在R4上配置MPLS配置MPLS 静态LSP在R1上配置静态LSPR1作为ingress设备在去往40.1.1.1/32和 10.123.45.0/24网络时打上标签,同时作为egress设备,当收到标签为201或者205时弹出标签进行路由转发。[R1]static-lsp ingress 1to4 destination 40.1.1.1 32 nexthop 10.123.12.2 out-labe l 104 [R1]static-lsp ingress 1to45 destination 10.123.45.0 24 nexthop 10.123.12.2 out- label 105 [R1]static-lsp egress 4to1 incoming-interface g0/0/0 in-label 201 [R1]static-lsp egress 45to1 incoming-interface g0/0/0 in-label 205在R2上配置静态LSPR2作为Transit设备进行标签的交换。[R2]static-lsp transit 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 10 4 nexthop 10.123.23.3 out-label 204 [R2]static-lsp transit 1to45 incoming-interface GigabitEthernet 0/0/0 in-label 1 05 nexthop 10.123.23.3 out-label 205 [R2]static-lsp transit 4to1 incoming-interface GigabitEthernet0/0/1 in-label 301 nexthop 10.123.12.1 out-label 201 [R2]static-lsp transit 45to1 incoming-interface GigabitEthernet0/0/1 in-label 30 5 nexthop 10.123.12.1 out-label 205在R3上配置静态LSPR3作为Transit设备进行标签交换。[R3]static-lsp transit 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 20 4 nexthop 10.123.34.4 out-label 304 [R3]static-lsp transit 4to1 incoming-interface GigabitEthernet0/0/1 in-label 401 nexthop 10.123.23.2 out-label 301 [R3]static-lsp transit 1to45 incoming-interface GigabitEthernet 0/0/0 in-label 2 05 nexthop 10.123.23.3 out-label 305 [R3]static-lsp transit 45to1 incoming-interface GigabitEthernet0/0/1 in-label 40 5 nexthop 10.123.23.2 out-label 305在R4上配置静态LSPR4与R1类似,同样既作为ingress设备又作为egress设备。作为ingress设备在去往40.1.1.1/32和 10.123.45.0/24网络时打上标签,同时作为egress设备,当收到标签为201或者205时弹出标签进行路由转发。[R4]static-lsp egress 1to4 incoming-interface g0/0/0 in-label 304 [R4]static-lsp egress 1to45 incoming-interface g0/0/0 in-label 305 [R4]static-lsp ingress 4to1 destination 10.1.1.1 32 nexthop 10.123.34.3 out-labe l 401在R1上查看标签交换路径:标签路径中有In/Out Label,在mpls中,Out Label为空时,表示该FEC是由本路由器向上游发布标签,该路由器一般是该FEC的egress设备。In Label是指本路由器为某个FEC分配给对端的Out Label标签,当In Label为空时,表示本路由器是该LSP的最上游路由器,一般是ingress设备。在R2上查看在R3上查看在R4上查看在R1上Ping测试右键点击R1设备,选择数据抓包中的G0/0/0接口进行抓包。在R1上带环回口ping测试R4的环回口地址。进入抓包界面,点击源为10.1.1.1,目的地址为40.1.1.1的数据包查看。我们可以观察到,在数据包中存在MPLS的头部,由此,判断出10.1.1.1访问40.1.1.1走的是MPLS的路径。 【欧拉】OpenEuler搭建Nginx https://xiongan.host/index.php/archives/220/ 2023-09-08T15:33:00+08:00 OpenEuler的web服务器基础环境查看系统环境版本[root@taozi ~]# cat /etc/os-release NAME="openEuler" VERSION="21.09" ID="openEuler" VERSION_ID="21.09" PRETTY_NAME="openEuler 21.09" ANSI_COLOR="0;31"配置环境首先配置本地yum源,搭建repo服务器清理缓存,重新创建缓存[root@taozi ~]# dnf clean all [root@taozi ~]# dnf makecache #安装nginx服务 [root@taozi ~]# dnf install nginx -y查看安装后的rpm包启动nginxi服务并设置开机自启[root@taozi ~]# systemctl start nginx [root@taozi ~]# systemctl enable nginx查看服务状态Nginx服务的配置文件/etc/nginx/nginx.conf 主要的配置文件/etc/nginx/conf.d 配置文件的辅助目录,也包含在主配置文件当中/usr/share/nginx/html web网站的index文件所在目录查看语法错误【syntax is ok】配置防火墙# firewall-cmd --add-service=http --permanent success # firewall-cmd --reload success验证成功 【安全】漏洞扫描web实例 https://xiongan.host/index.php/archives/219/ 2023-09-05T20:50:00+08:00 漏洞扫描实例搭建环境搭建一个测试的WNMP环境,创建一个首页安装Nessus漏洞扫描软件运行Nessus Web Client,输入用户名和密码,点击continue,将看到如图2-11所示界面,需要到Nessus网站https://www.tenable.com/how-to-buy页面注册,然后在注册邮箱中找到注册码,输入注册码,才能继续使用注册好之后登录登录进去后界面如图:在设置扫描前可以先添加一个Policies(策略),选择Advanced Scan(自定义),在Settings中填写名称,在Plugins中选择检测项(可全选),之后Save。点New Scan,添加一个新的扫描选择第一个高级扫描(Advanced Scan),出现图2-13所示界面。Name填写名字,Description填写描述信息,Targets是要访问的主机ip地址或者网段,属必填项,填好之后保存。保存“My Scans”后,点击“start scan”就可以开始扫描了。还可以根据自己需求设置定时扫描,扫描后将会把扫描报告发送到指定邮箱。扫描报告:使用AWVS13扫描漏洞安装软件运行AcunetixWVS看到如图2-7所示界面,点击Add Target添加扫描目标,在弹出的窗口(图略)中添加地址信息Address和描述信息Description,地址信息可以是IP地址,也可以是URL。添加地址后,选择Business Criticality(业务关键级别),其他默认,然后点击Save。在此界面,如果要扫描的网站需要登录,可以点击Site Login,输入登录信息。这里只做了一般配置(General),也可以进行爬行(Crawl)、HTTP、高级(Advanced)等配置。配置完就可以点击Scan(扫描)窗口,选择Scan Type(扫描类型,可以选择FullScan完全扫描),选择Report(报告类型)和Schedule(明细清单),点击CreateScan就开始进行漏洞扫描了。根据网站规模和复杂程度的不同,扫描过程会持续不等的时间,一般耗时较长扫描成功