Relative Content

K4NZDROID

category

「Zabbix」- zabbix server.conf

通用参数
ListenPort
该参数是可选的 取值范围:1024-32767 默认值:ListenPort=10051
SourceIP 发起连接时使用的IP地址。
该参数是可选的 默认值:SourceIP=127.0.1.1
LogType 日志要写入的位置,该参数使可选的,默认值为file:

system – 写入。yslog
file – LogFile参数指定的位置。
console – 标准输出,即直接打印到控制台。

该参数是可选的 默认值:LogType=file
LogFile 为LogType=file的参数指定日志文件的位置。
该参数是可选的 默认值:LogFile= 配置文件中的默认值:LogFile=/tmp/zabbix_server.log
LogFileSize 日志文件的最大大小。以MB为单位。
该参数是可选的 取值范围:0-1024。0:表示禁用日志轮转。 默认值:LogFileSize=1
DebugLevel 指定Debug的等级:

0 – basic information about starting and stopping of Zabbix processes
1 – critical information
2 – error information
3 – warnings
4 – for debugging (produces lots of information)
5 – extended debugging (produces even more information)

该参数是可选的 取值范围:0-5 默认值:DebugLevel=3
PidFile PID文件名。
该参数是可选的 默认值:PidFile=/tmp/zabbix_server.pid
DBHost 数据主机名。对于MySQL,如果值为localhost,则会使用socket。对于PostgreSQL,如果设置为空字符串时,会使用socket。 If set to empty string, socket is used for PostgreSQL
该参数是可选的 默认值:DBHost=127.0.0.1
DBName 数据库名。对于SQLite3,需要指出数据库文件的路径,并且会忽略DBUser和DBPassword。
该参数是必填参数 默认值:DBName= 配置文件默认值:DBName=zabbix
DBSchema Schema名。用于IBM DB2和PostgreS[……]

READ MORE

「Zabbix」- 数据可视化

内容简介
本部分整理了Zabbix数据可视化相关的内容。
章节列表
本部分的章节列表参照了官方「Visualisation」部分的列表。

1 Graphs
2 Network maps
3 Screens
4 Slide shows
5 Host screens

图(Graphs)
Zabbix Documentation 4.2/7. Configuration/6 Visualisation/1 Graphs
随着大量数据流入到Zabbix中,如果以图形的形式,来查看正在发生的事情,而不仅仅是数字,则对用户来说将变得更加容易,更加直观。
本部分整理了在Zabbix中的与“图”(Graphs)相关的内容。
不同类型的图
目前支持四种类型的图:Normal、Stacked、Pie、Exploded:

Normal
普通图,值是以线型显示的

Stacked
与普通图类似,但是进行了填充

Pie
饼图

Exploded
也是饼图的一种,只不过各个部分已经分离显示[……]

READ MORE

「Route Policy」- ACL in Route Policy

问题描述
通过 ACL 能够对路由条目进行匹配,然后在策略工具中使用该 ACL 以影响路由。
该笔记将记录:在 Route Policy 中,ACL 的行为及使用方法(不涉及 ACL 语法)。
解决方案
通常 ACL 用于数据过滤,但是也能用于 IP Route 的匹配。
语法格式
参考 Huawei VRP, ACL 笔记,以获取关于 ACL 语法说明。
匹配机制
ACL 技术总是与其他技术结合使用,当所结合的技术不同时,则“允许 (permit)”及“拒绝 (deny)”的实际作用也会不同。例如,当 ACL 与 Route Policy 技术结合使用时,permit 就是“匹配该条路由条目”的意思,deny就是“不匹配该条路由条目”的意思。

默认规则
在 Route Policy 中,ACL 的默认规则是 Deny(在 Traffic Filter 中,默认规则 Permit),即如果路由条目没有很任何 Rule 匹配,则结果为不匹配。
局限缺点
匹配前缀
ACL 仅能匹配路由条目的 Prefix(网络前缀)信息,无法用于匹配 Mask(前缀长度)。 鉴于此,我们很少使用 ACL 来匹配路由规则,转而使用 IP Prefix 来匹配路由条目。
示例如下,对于如下 ACL 规则,能够匹配诸多路由条目,而无法精确匹配某个特定条目:

10.1.1.0/24 – 10.1.1.0/24-32
||
vv
rule 15 permit source 10.1.1.0 0.0.0.255
||
vv
10.1.1.0/24
10.1.1.0/25
10.1.1.0/26
…[……]

READ MORE

「NAT」- 双向 NAT 技术、Bidirectional NAT

域内双向(同个局域网)
场景:解决内网访问 NAT Server 连接被重置的问题。
问题描述

在该实验拓扑中: 1)Client 2 请求 10.1.12.1:80 能够得到正常的响应; 2)但 Client 1 请求 10.1.12.1:80 会出现 TCP 连接被重置(RST)的问题;
补充说明
Q:然而,针对上面的实验拓扑,Client 1 请求 10.1.12.1:80 并不会出现 TCP 连接被重置(RST)的问题,而是 AR1 无任何响应。 A:我们猜路由器特性(这并非核心问题,这里我们仅记录该行为)。
为了问题能够被复现,我们在 AR1.AR1.GE0/0/1 增加与 AR1.AR1.GE0/0/0 相同的 NAT Server 配置(图中未标注)。
注意事项: 1)防火墙和路由器的实现不同,路由器 NAT Server 是接口的,而防火墙 NAT Server 是全局的,所以防火墙无需额外配置。 2)因此,该实验最好使用防火墙设备进行测试。
原因分析
1)Client1[192.168.1.1] 建立 TCP 连接 AR1[10.1.12.1:80],经过 NAT Server 处理, 2)报文变为 Client1[192.168.1.1] 连接 HTTP[192.168.1.100], 3)然后 HTTP[192.168.1.100] 进行 SYN ACK 响应,报文为 HTTP[192.168.1.100] 到 Client1[192.168.1.1] 地址, 4)此时,Client1 发现自己并没有主动发起到 HTTP[192.168.1.100] 连接,因此 TCP 建立失败并响应 HTTP[192.168.1.100] 链接重置;
解决方案
在 AR1.GE0/0/1 中,增加 nat outbount 配置,将流出的报文的源地址转为 AR1.GE0/0/1 接口地址,即可。
细节说明: 1)Client1[192.168.1.1] 建立 TCP 连接 AR1[10.1.12.1:80],经过 NAT Server 处理,报文变为 Client1[192.168.1.1] 连接 HTTP[192.168.1.100], 2)当报文流出 AR1.GE0/0/1 接口时,又被 nat outbount 配置处理成 AR1[192.168.1.254] 连接 HTTP[192.168.1.100], 3)然后 HTTP[192.168.1.100] 进行 SYN ACK 响应,报文为 HTTP[192.168.1.100] 到 Client1[192.168.1.254] 地址,AR1 收到该报文, 4)AR1 根据 NAT Session 把报文转[……]

READ MORE

「Huawei VRP」- 配置 NAT 转换

1)NAT 实在 Interface 上配置的,需要切换到 Interface View 进行操作;
Static NAT

[RTA] interface GigabitEthernet 0/0/1
[RTA-GigabitEthernet0/0/1] ip address 192.168.1.254 24

[RTA] interface Serial1/0/0
[RTA-Serial1/0/0] ip address 200.10.10.2 24

[RTA-Serial1/0/0] nat static global 200.10.10.1 inside 192.168.1.1
[RTA-Serial1/0/0] nat static global 200.10.10.2 inside 192.168.1.2

// 方式一、接口视图下配置静态 NAT
// global:用于配置外部公有地址
// inside:用于配置内部私有地址;
[Huawei-GigabitEthernet0/0/0] nat static global { global-address} inside {host-address }

// 方式二、系统视图下配置静态 NAT
[Huawei] nat static global { global-address} inside {host-address }
[Huawei-GigabitEthernet0/0/0] nat static enable # 再在具体的接口下开启静态 NAT

查看 Static NAT 配置:

[RTA] display nat static

补充说明
1)虽然没有绑定 IP 地址,但是做完 NAT 之后,global-address 能够从对端 RT ping 通;
Dynamic NAT

[RTA] nat address-group 1 200.10.10.1 200.10.10.200
[RTA] acl 2000
[RTA-acl-basic-2000] rule 5 permit source 192.168.1.0 0.0.0.255

[RTA-Serial1/0/0] nat outbound 2000 address-group 1 no-pat # no-pat: without port translation

对于动态 NAT 技术,eNSP 模拟器会为每个 ping 包分配不同的 IP 地址,而导致地址被分配完全,此时会出现 ping timeout 问题; 使用 display nat session all 来查看地址分配;
NAPT,PAT[……]

READ MORE

「NAT」- 内网穿透,NAT 穿透,NAT Traversal

问题描述
NAT 技术虽然能使私网访问公网,但是 NAT 技术也有一定缺陷: NAT 对于私网访问公网的流量会生成 NAT 映射表项,这些表项有老化时间,如果两端会话长期静默,则连接会中断; NAT 由于隐藏了私网 IP 地址,对于一些服务器来说,为了防止 DOS 攻击,会限制同一 IP 的访问频率。部分应用也没法有效溯源原始 I 设备,导致网络管理定位困难;
该笔记将记录:进行内网穿透的工具及方法,以及相关问题的解决方法;
解决方案
为了解决 IP 端到端应用在 NAT 环境下遇到的问题,产生了多种 NAT 穿越技术:
目前NAT穿越的方法很多,主要包括以下几种: UPnP(Universal Plug and Play) ALG(Application Layer Gatewqy) MIDCOM(Middlebox Communications) Full Proxy STUN(Simple Traversal of UDP Through Network Address Translators) TURN(Traversal Using Relay NAT) ICE(Interactive Connectivity Establish) STUNT
如果是网络工程师,我们能够直接在路由设备上完成内网穿透工作,我们主要学习 ALG、STUN 技术;
原理简述

使用 FRP(FAST REVERSE PROXY)工具
fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
首先,需要有公网服务器,才能进行后续操作
Access your computer in LAN by SSH
第一步、在服务端运行:

cat > /etc/frp/frp-server.ini <<EOF
# frps.ini
[common]
bind_port = 7000
EOF

./frps -c ./frp-server.ini

第二步、在客户端运行:

cat > /etc/frp/frp-client.ini <<EOF
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
EOF

./frpc -c ./frp-client.in[……]

READ MORE

「NAT」- ALG,Application Level Gateway,应用层网关

问题描述
应用层服务虽然使用应用层协议,但是在其应用层载荷中包含下层协议的信息。当数据包通过网关设备时,数据包的底层协议的信息发生变化,而应用层所包含的信息未发生变化,导致应用层协议依旧使用原始信息,而无法正常工作;
现网提供各类服务(比如 HTTP,DNS,FTP 等)的服务器一般部署在私网,因此需要在 NAT 上部署 NAT Server 功能使得外网用户能够访问这些服务。但是部分服务用到的协议是多通道协议,比如 FTP、DNS、SIP 等,部署 NAT Server 不能使外网用户访问这些服务;
多通道协议对于 NAT 的挑战(FTP)

FTP 无论使用主动模式还是被动模式都无法解决多通道协议导致外网无法访问 FTP 服务器的问题;
例如 FTP 协议属于应用层协议,但是:在被动模式下,Server 的响应报文包含网络层地址的信息(用于 Client 发起连接)。当 FTP 报文经过 NAT 网关时,网络层和传输层信息会发生变化,而应用层却依旧是原始的信息,导致 Client 连接 Server 失败;
解决方案
NAT ALG,应用层网关,用于处理应用层信息;
原理简述
根据 NAT 配置,将数据包的应用层信息进行处理,转换成其所对应的公网信息;
NAT ALG(Application Level Gateway)可以对报文的载荷字段进行解析,识别并转换其中包含的重要信息(比如 FTP 数据通道目标端口),基于这些重要信息形成 NAT 映射表项,帮助外部主机访问私网服务器;

特性特征
应用层信息转化,使其对外部表现为公网服务(而不是内网信息)
缺点: 由于NAT ALG需要读取协议报文内容,对于新协议需要升级NAT ALG特性,NAT ALG基本不支持私有多通道协议。 现网有大量设备不支持NAT ALG功能,导致部署成本比较高。 NAT ALG主要解决多通道协议在NAT Server场景下的问题,对于私网主机互通无法很好支持。
应用场景
NAT ALG/FTP:通过 NAT ALG 技术,我们便能够在内网使用 FTP 主动模式;
NAT ALG/DNS:DNS Server in LAN 返回的某个 Server 地址,会被 NAT ALG/DNS 转换为其映射到公网的地址; NAT ALG (Application Level Gateway)
配置使用
Huawei VRP (NAT ALG)

[Huawei]display nat alg

NAT Application Level Gateway Information:
———————————-[……]

READ MORE

「NAT」- STUN,Session Traversal Utilities for NAT,

问题描述
NAT 穿越技术除了使用 NAT ALG 之外,还有一种思路是利用 Cone NAT 的特性,通过事先建立 NAT 映射表项在 NAT 设备上“打洞”,通过 NAT 映射表项在私网之间建立连接;
解决方案
STUN,在 RFC3489 中定义,作为一个完整的 NAT 穿透解决方案,英文全称是 Simple Traversal of UDP Through NATs,即简单的用 UDP 穿透 NAT;
在新的 RFC5389 修订中把 STUN 协议定位于为穿透 NAT 提供工具,而不是一个完整的解决方案,英文全称是 Session Traversal Utilities for NAT,即 NAT 会话穿透效用。RFC5389 与 RFC3489 除了名称变化外,最大的区别是支持 TCP 穿透;
原理简述
在讲述 STUN 原理前,需要再次强调:如果外部主机以 NAT 映射表中的公网 IP+Port 为目标发送数据,数据是否会被转发?—— 数据是会被转发的,原因在于 NAT 并不强制检查源地址,即针对源地址的检查是配置的;
STUN(Session Traversal Utilities for NAT)的主要作用是获取 NAT 设备上的“打洞信息”(即私网 IP+端口与 NAT 后的公网 IP+端口的映射关系),NAT 穿越的数据通道需要使用其他方式建立;

STUN 采用客户端 / 服务器通信模式,通过 STUN Client 与 STUN Server 之间的报文交互,可以发现 NAT 设备的存在,并确定 NAT 设备分配的 IP 地址和端口号;

应用场景
SDWAN 场景下,可以通过 STUN 将 NAT 后的设备互联,建立数据通道;
1)STUN Client 向 STUN Server 发送 STUN 绑定请求报文(Binding Request); 2)STUN Server 收到 STUN 绑定请求报文后,获取该报文中的源 IP 地址和源端口;并构建 STUN 绑定响应报文(Binding Response)发送给客户端; 3)STUN Client 收到 STUN 绑定响应报文后,根据该报文获取 IP 地址和端口,与之前发送的 STUN 绑定请求报文中的源 IP 地址和源端口比较,如果不一致,则 STUN Client 前面存在 NAT 设备; 4)STUN Client 之间通过 BGP 学习对端的 NAT 信息(NAT 前的 IP 地址和端口、NAT 后的 IP 地址和端口); 5)STUN Client 使用本端 NAT 前的 IP 地址和端口与对端 NAT 前的 IP 地址和端口,构建 STUN 绑定请求报文发送给对端;同时 ST[……]

READ MORE

「Linux」- 通过 iptables 使用 NAT 功能

iptables 与 NAT
Linux 内核提供的 Netfilter 框架,允许对网络数据包进行修改(比如 NAT)和过滤(比如防火墙)。在这个基础上,iptables、ip6tables、ebtables 等工具,又提供了更易用的命令行接口,以便系统管理员配置和管理 NAT、防火墙的规则。
网络数据包的工作流向

绿色背景的方框,表示表(table),用来管理链,支持 4 种表:filter(用于过滤)、nat(用于 NAT)、mangle(用于修改分组数据)、raw(用于原始数据包)
跟 table 一起的白色背景方框,则表示链(chain),用来管理具体的 iptables 规则。每个表中可以包含多条链,比如: 1)filter 表中,内置 INPUT、OUTPUT 和 FORWARD 链; 2)nat 表中,内置 PREROUTING、POSTROUTING、OUTPUT 等
灰色的 conntrack,表示连接跟踪模块。它通过内核中的连接跟踪表(也就是哈希表),记录网络连接的状态,是 iptables 状态过滤(-m state)和 NAT 的实现基础。
实现 NAT 功能
这需要在 nat 表进行操作。而 nat 表内置了三个链: 1)PREROUTING,用于路由判断前所执行的规则,比如,对接收到的数据包进行 DNAT。 2)POSTROUTING,用于路由判断后所执行的规则,比如,对发送或转发的数据包进行 SNAT 或 MASQUERADE。 3)OUTPUT,类似于 PREROUTING,但只处理从本机发送出去的包。
SNAT,修改源地址,即在数据包发送出去时修改地址:

// 由 Linux 选择默认的出口 IP

# iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE

// 指定具体的 IP 地址配置 SNAT

# iptables -t nat -A POSTROUTING -s 192.168.0.2 -j SNAT –to-source 100.100.100.100

DNAT,修改目的地址,即要在数据包收到时进行修改,以进行路由决策和处理:

// 由 Linux 选择默认的出口 IP

# iptables -t nat -A PREROUTING -d 100.100.100.100 -j DNAT –to-destination 192.168.0.2

// 也可以在OUTPUT链中配置???

双向地址转换,同时添加 SNAT 和 DNAT 规则:

# iptables -t nat -A POSTROUTIN[……]

READ MORE

「Network」- MQC

问题描述
该笔记将记录:使用 MQC(Modular QoS Command-Line Interface,模块化QoS命令行)的方式控制报文的转发路径和进行流量过滤。
解决方案
MQC(Modular QoS Command-Line Interface,模块化 QoS 命令行)是指,通过将具有某类共同特征的数据流划分为一类,并为同一类数据流提供相同的服务,也可以对不同类的数据流提供不同的服务。
原理简述
MQC 是个框架,包含三个要素: 1)流分类(traffic classifier):能基于例如 VLAN Tag、DSCP、ACL 等等技术,来匹配感兴趣数据流, 2)流行为(traffic behavior):将感兴趣报文进行重定向。可以设置重定向的下一跳 IP 地址或出接口。 3)流策略(traffic policy):通过 TC 与 TB 组成 TP,以解决各类流量问题。
特性特征
WIP
应用场景
在 QoS 中,频繁使用 MQC 技术。
MQC 的 TB 支持重定向报文,所以能够通过 MQC 实现 IP 单播策略路由(PBR)。[……]

READ MORE

「MQC」- 概念、术语

流分类(Traffic Classifier,Tfc-Clf)
解释:定义一组流量匹配规则,以对报文进行分类,即用于匹配具有某类特征的数据包;
流分类支持的匹配项如下所示:
流分类中各规则之间的关系分为:and 或 or,缺省情况下的关系为 or; 1)and:当流分类中包含 ACL 规则时,报文必须匹配其中某条 ACL 规则,及所有非 ACL 规则;当流分类中没有 ACL 规则时,报文必须匹配所有非 ACL 规则; 2)or:报文只要匹配流分类中的某条规则,设备就认为报文匹配中该流分类;
流行为(Traffic Behavior,Tfc-Beh)
解释:用来定义执行的动作,支持报文过滤、重标记优先级、重定向、流量统计等动作,即用于修改数据包;
比如:过滤报文、流量统计、报文 VLAN Tag 添加、重新标记报文优先级、对报文执行策略路由
流策略(Traffic Policy,Tfc-Pol)
解释:其定义 Tfc-Clf 和 Tfc-Beh 的绑定关系;
Traffic Policy 由 Traffic Classifier 与 Traffic Behavior 组成, 即对分类后的报文执行对应 Traffic Behavior 定义的动作; 同个 Traffic Policy 能够绑定多个 Traffic Classifier 和 Traffic Behavior;
Tfc-Pol 支持在接口上调用,且存在方向(inbound、outbound)的概念: 1)策略中的流行为匹配入、出方向的报文, 2)对匹配中的报文执行相应的流动作;
注意,流策略并不是必须绑定在接口上,其取决于具体场景;

Tfc-Pol 不同于 Huawei/policy-based-route 实现:PBR 只能调用在三层接口,而 Tfc-Pol 支持调用在二层接口;[……]

READ MORE

「MQC」- 3.Problem Solving (how-to)

配置介绍(Huawei)

// 创建流分类
// 缺省情况下,流分类中各规则之间的关系为“或”(or)。流分类中的匹配规则配置可查阅产品手册。
[Huawei] traffic classifier classifier-name [ operator { and | or } ]

// 创建流行为
// 根据实际情况定义流行为中的动作,只要各动作不冲突,都可以在同一流行为中配置。流行为具体配置可查阅产品手册。
[Huawei] traffic behavior behavior-name

// 创建流策略,并绑定流分类与流行为
[Huawei] traffic policy policy-name
[Huawei-trafficpolicy-policyname] classifier classifier-name behavior behavior-name

开启流量统计:

[Traffic Behavior] statistic

[User View] display traffic policy statistic interface <intf> inbound[……]

READ MORE

「PBR」- 策略路由:通过 policy-based-route 实现

策略范围
PBR,分为:本地策略路由(Local-PBR);接口策略路由(Interface-PBR);智能策略路由(Smart-PBR);
Interface PBR

在缺省情况下,设备按照路由表的下一跳进行报文转发。如果配置 Interface-PBR,则设备按照 Interface PBR 指定的下一跳进行转发。
1)Interface-PBR 只对转发(接收)的报文起作用;对本地始发的报文无效; 2)Interface-PBR PBR 调用在接口下,对接口的入方向报文生效;
Local PBR

在缺省情况下,设备按照路由表的出接口进行报文转发。如果配置 Local-PBR,则设备按照 Local PBR 指定的下一跳进行转发。
1)Local-PBR 对本地始发的流量生效,例如本地始发的 ICMP 报文; 2)Local-PBR 在 System View 中调用。
Smart-PBR
WIP
配置简述
1)首先,通过 ACL 匹配特定的报文; 2)然后,针对该 ACL 应用 PBR 策略;
第一步、匹配报文
参考 ACL (Huawei) 笔记,以获取语法相关内容。
当ACL的rule配置为permit时,设备会对匹配该规则的报文执行本地策略路由的动作: 1)本地策略路由中策略点为permit时对满足匹配条件的报文进行策略路由; 2)本地策略路由中策略点为deny时对满足匹配条件的报文不进行策略路由,即根据目的地址查找路由表转发报文。
当ACL配置了rule,如果报文未匹配上任何规则,则根据目的地址查找路由表转发报文。
当ACL的rule配置为deny或ACL未配置规则时,应用该ACL的本地策略路由不生效,即根据目的地址查找路由表转发报文。
第二步、应用策略

PBR 与 Route-Policy 类似,由多个 Node 组成,每个 Node 由匹配条件(条件语句)和执行动作(执行语句)组成。
每个节点内可包含多个条件语句。
节点的多个条件语句间,关系为“与”:即匹配所有条件语句才会执行本节点内的动作。
节点间,关系为“或”:PBR根据节点编号从小到大顺序执行,匹配当前节点将不会继续向下匹配。

policy-based-route PBR permit node 10
if-match acl 2000
apply ip-address next-hop ip-address1

PBR 的节点匹配模式,即是否需要进行 PBR 处理: 1)permit,表示对满足匹配条件的报文进行策略路由 2)deny,表示对满足匹配条件的报文不进行策略路由
配[……]

READ MORE

「Huawei-VRP」- 配置 IPSec VPN 服务:IKE;隧道模式;客户端为动态地址;

问题描述
在广域互联场景中,总部与分支,总部为固定地址,分支为动态地址(例如 PPPoE 拨号);
此时,总部的 IPSec VPN 就无法配置 IKE Peer remote-address 为分支的公网地址;
解决方案
通过 IKEv1 协商
如果需要使用 IKEv1 协议,那么需要使用野蛮模式,才能处理客户端地址为动态地址的场景;
当配置华为网络设备时,在 IKE Peer 中: 1)通过 exchange-mode 使用野蛮模式; 2)并且该配置用于对方地址无法确定的场景,要向取消对该 Peer 的引用);
但是,在实际实践中,我们很少使用野蛮模式,所以这里不再叙述相关细节;
通过 IKEv2 协商

// ——————————————————– // IKE

// 配置 IKE 提议

ike proposal 10

// 配置 IKE Peer 信息

ike peer rmt-employee v1
ike-proposal 10
pre-shared-key cipher Huawei123
# nat traversal

// ——————————————————– // IPSec

// 配置 IPSec Proposal 信息

ipsec proposal rmt-employee
encapsulation-mode transport

// 配置 IPSec 策略

ipsec policy-template rmt-employee 10
ike-peer rmt-employee
proposal rmt-employee

ipsec policy rmt-employee_P 10 isakmp template rmt-employee

// ——————————————————– // 引用安全策略

interface GigabitEthernet 0/0/9
ipsec policy rmt-employee_P[……]

READ MORE

「L2TP」- 报文交换过程

概述工作过程
L2TP 能够传输数据,工作过程基本需要 3 个主要节点:

建立 L2TP 隧道(6)
LAC 收到远程用户的 PPP 协商请求时,LAC 向 LNS 发起 L2TP 隧道请求。LAC 和 LNS 之间通过 L2TP 的控制消息,协商隧道 ID、隧道认证等内容,协商成功后则建立起一条 L2TP 隧道,由隧道 ID 进行标识;
建立 L2TP 会话(7)
如果 L2TP 隧道已存在,则在 LAC 和 LNS 之间通过 L2TP 的控制消息,协商会话 ID 等内容,否则先建立 L2TP 隧道连接。会话中携带了 LAC 的 LCP 协商信息和用户认证信息,LNS 对收到的信息认证通过后,则通知 LAC 会话建立成功。L2TP 会话连接由会话 ID 进行标识;
传输 PPP 报文(8)
L2TP 会话建立成功后,PPP 终端将数据报文发送至 LAC,LAC 根据 L2TP 隧道和会话 ID 等信息,进行 L2TP 报文封装,并发送到 LNS,LNS 进行 L2TP 解封装处理,根据路由转发表发送至目的主机,完成报文的传输;
数据报文交换
在建立 L2TP 连接时,在「服务器」和「客户端」间交换许多「控制包」,以为每个方向建立「隧道」和「会话」。「一个对等体」请求「另一个对等体」通过这些「控制包」分配特定的「隧道」和「会话 ID」,然后使用此「隧道」和「会话 ID」,「数据包」同「压缩的 PPP 帧」作为有效负载进行交换;
「LAC」和「LNS」间交换的 L2TP「控制包」列表,用于握手(在「自愿隧道」方法中建立「隧道」和「会话」之前):

Start-Control-Connection-Request (SCCRQ)
通过 Wireshark 进行抓包,其交互过程如下:

708 38.269742497 172.31.252.20 1701 60.176.11.162 1701 L2TP 156 Control Message – SCCRQ (tunnel id=0, session id=0)
709 38.271743904 60.176.11.162 1701 172.31.252.20 1701 L2TP 119 Control Message – SCCRP (tunnel id=57980, session id=0)
710 38.271820108 172.31.252.20 1701 60.176.11.162 1701 L2TP 62 Control Message – SCCCN (tunnel id=2, session id=0)
711 38.272129481 172.31.252.20 1701 60.176[……]

READ MORE

「Huawei VRP」- 配置 L2TP 服务、连接 L2TP 服务

问题描述
L2TP 具有多种应用方式,我们的场景是: 1)在两个出口网络设备上,配置 L2TP 服务(LNS、LAC)以实现两个网络互联; 2)而两个内部网络内的用户对此并无感知,用户无需进行任何操作;

该笔记将记录:在 Huawei 中,如何配置网络设备来提供 L2TP 服务(LNS),并用华为设备来连接 LNS,以及相关问题解决办法;
解决方案
该笔记内容参考自官方文档,目的是熟悉配置过程(实验目的),了解相关的常见问题;
建议参考华为设备手册(配置 L2TP Client 发起 L2TP 连接),以获取更加详细的说明;
网络拓扑概述

配置 LNS 服务

[AR2]aaa
[AR2-aaa]local-user huawei password cipher Huawei@123
[AR2-aaa]local-user huawei service-type ppp

[AR2]l2tp enable

[AR2]ip pool l2tp-srv-pool
[AR2-ip-pool-l2tp-srv-pool]network 192.168.10.1 mask 24
[AR2-ip-pool-l2tp-srv-pool]gateway-list 192.168.10.254

[AR2]interface Virtual-Template 0
[AR2-Virtual-Template0]ip address 192.168.10.254 24 # L2TP 网关地址
[AR2-Virtual-Template0]remote address pool l2tp-srv-pool
[AR2-Virtual-Template0]ppp authentication-mode chap

[AR2]l2tp-group 2
[AR2-l2tp2]tunnel password cipher Huawei@123
[AR2-l2tp2]tunnel name AR2 # 根据我们对文档的理解,LNS 的 Tunnel Name 并不参与验证,仅是标识
[AR2-l2tp2]allow l2tp virtual-template 0 remote AR1-to-AR2 # 仅允许特定隧道名来发起连接(非 l2tp group 1 必须指定 remote 参数)

配置 LAC 服务

[AR1]l2tp enable

[AR1]interface Virtual-Template 0
[AR1-Virtual-Template0]ip address ppp-negotiate
[AR[……]

READ MORE

「Linux」- 通过 NetworkManager 连接 L2TP over IPSec 服务

问题描述
该笔记将记录:在 Linux 中,如何使用 Network Manager 连接 L2TP/IPSec VPN 服务;
解决方案
补充说明: 1)本文中的“NetworkManager”实际上指的是使用 NetworkManger 的前端程序; 2)操作系统:Ubuntu 16.04 TLS
通过 nmcli(1) 命令(CLI)
nmcli connection add type vpn con-name k4nz00 ifname ppp0 vpn-type l2tp
通过 nm-applet 程序(GUI)
在 GNOME 中,系统托盘的网络设置功能便是 nm-applet 提供的。这里使用 nm-applet(1) 来实现 VPN 配置,它常用是 Network Manager 的 GUI 程序;
配置过程按照如下步骤进行:
第一步、安装 NetworkManage 及相关的软件包
实际上,大多数桌面发行版中已经预先安装了 NetworkManage 软件,不需要我们自己手动安装。而需要我们手动安装的是 NetworkManager 的 L2TP 模块。有了该模块之后,NetworkManager 才能连接 L2TP/IPSec 服务。下面是安装 L2TP 模块的教程:

#!/bin/sh

################################################################################
# 安装相关依赖;
################################################################################
apt install intltool libtool network-manager-dev libnm-util-dev \
libnm-glib-dev libnm-glib-vpn-dev libnm-gtk-dev libnm-dev \
libnma-dev ppp-dev libdbus-glib-1-dev libsecret-1-dev \
libgtk-3-dev libglib2.0-dev xl2tpd strongswan

################################################################################
# 下载、编译、安装 network-manager-l2tp 模块
#####################################################################[……]

READ MORE

「L2TP over IPSec」- 服务搭建(华为网络设备)

问题描述
我们需要配置 L2TP over IPSec 服务,以使出差员工能够远程接入办公网络环境;配置环境为华为网络设备(AR1220);
该笔记将记录:在华为路由器中,配置 L2TP over IPSec VPN 以实现远程办公接入的方法,以及相关问题的解决办法;
解决方案
网络拓扑:

|<—– User Network ——->| |<—– Enterrise Network —–>|
Client ====> Router (with NAT) <====(WAN, Internet)====> Gateway(L2TP over IPSec) ====> LAN

实现 L2TP over IPSec 服务,配置分为两个阶段: 1)第一阶段:通过 L2TP 服务,实现二层隧道; 2)第二阶段:通过 IPSec 服务,以其加密模式来保护数据;
Default encryption settings for the Microsoft L2TP/IPSec VPN Client
Default encryption settings for the Microsoft L2TP/IPSec VPN client – Windows Client Troubleshoot L2TP/IPSec VPN client connection – Windows Client | Microsoft Learn
Data Encryption Standard: 3DES Secure Hash Algorithm: SHA1 Diffie-Hellman Medium: Group 2 Transport mode: Transport mode; Tunnel mode (not supported); IPSec Security Protocols: ESP; AH (not supported);
第一阶段、实现 L2TP 服务
在 L2TP over IPSec 中,常规 L2TP 配置,并无较大差异,能实现两端互通即可;
参考 Huawei/L2TP/LNS 笔记,具体细节不再赘述;
第二阶段、实现 IPSec 服务
第一步、网络路由可达
FIXME !!! Huawei !!! 部署 L2TP over IPSec VPN 服务,摆脱客户端;
参考文献[……]

READ MORE

「NTP」- Network Time Protocol

问题描述
随着网络拓扑的日益复杂,整个网络内设备的时钟同步将变得十分重要。如果依靠管理员手工修改系统时钟,不仅工作量巨大,而且时钟的准确性也无法得到保证;
当今企业园区网络中很多场景都需要所有设备保持时钟一致: 1)网络管理:对从不同路由器采集来的日志信息、调试信息进行分析时,需要以时间作为参照依据; 2)计费系统:要求所有设备的时钟保持一致; 3)多个系统协同处理同一个复杂事件:为保证正确的执行顺序,多个系统必须参考同一时钟; 4)备份服务器和客户机之间进行增量备份:要求备份服务器和所有客户机之间的时钟同步; 5)系统时间:某些应用程序需要知道用户登录系统的时间以及文件修改的时间;
解决方案
NTP 的出现就是为了解决网络内设备系统时钟的同步问题。为此可以使用 NTP(Network Time Protocol) 技术来同步设备的时钟;
网络时间协议 NTP(Network Time Protocol)是 TCP/IP 协议族里面的一个应用层协议。NTP 用于在一系列分布式时间服务器与客户端之间同步时钟。NTP 的实现基于 IP 和 UDP。NTP 报文通过 UDP 传输,端口号是 123;
通过网络进行时间同步的网络协议。通过分组交换、可变延迟数据网络在计算机系统之间进行时钟同步。自 1985 年以来,NTP 就是目前使用最早的互联网协议之一;
NTP 是由特拉华大学的 David L. Mills 设计的。NTP 旨在在协调世界时(UTC)的几毫秒内同步所有参与的计算机。它使用「交集算法」(Marzullo 算法的修改版本)来选择用于准确的时间服务器,并且旨在减轻可变网络延迟的影响。NTP 通常可以在公共互联网上维持几十毫秒的时间,在理想情况下可以达到局域网内一毫秒以上的精度。不对称路由和网络拥塞可能导致 100ms 或更多的错误;
原理简述

特性特征
能够通过单播、组播、广播完成时间同步;
应用场景
时间同步,NTP 主要应用于网络中所有设备时钟需要保持一致的场合
网络管理:对从不同路由器采集来的日志信息、调试信息进行分析时,需要以时间作为参照依据; 计费系统:要求所有设备的时钟保持一致; 多个系统协同处理同一个复杂事件:为保证正确的执行顺序,多个系统必须参考同一时钟; 备份服务器和客户机之间进行增量备份:要求备份服务器和所有客户机之间的时钟同步; 系统时间:某些应用程序需要知道用户登录系统的时间以及文件修改的时间;
参考文献
Wikipedia/Network Time Protocol: https://en.wikipedia.org/wiki/Network_Time_Protocol Doc:https://www.eecis.ude[……]

READ MORE

「NTP」- 概念、术语

概述介绍

主时间服务器
通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是 Radio Clock 或卫星定位系统等;
二级时间服务器
通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过 NTP 将时间信息传送到局域网内部的其它主机;
层数(stratum)
层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围 1~15,数值越小,精确度越高;
1:表示时钟精确度最高;15:表示未同步;[……]

READ MORE

「NTP」- 使用客户端来更新时间

可用 NTP 服务器
NTP 授时快速域名服务 官网的 NTP 服务器列表
很少,甚至不敢立“亲测”、“100% 有效”这种 FLAG。但是,本文提供的 NTP 服务器列表以及获取 NTP 服务器地址的方法是很可靠的;
获取有效可用的 NTP 服务器的方法
官网的 NTP 服务器列表:http://www.pool.ntp.org/zone NTP 授时快速域名服务:http://www.ntp.org.cn/pool.php
国内 NTP 服务器列表
这个 NTP 地址来自于腾讯云服务器的定时任务里:

ntpdate ntpupdate.tencentyun.com

下面的地址来自于「NTP 官网中的中国区域」,地址如下:

ntpdate 0.cn.pool.ntp.org
ntpdate 1.cn.pool.ntp.org
ntpdate 2.cn.pool.ntp.org
ntpdate 3.cn.pool.ntp.org

亚洲 NTP 服务器列表
下面的地址来自于「NTP 官网中的亚洲区域」。地址如下:

ntpdate 0.asia.pool.ntp.org
ntpdate 1.asia.pool.ntp.org
ntpdate 2.asia.pool.ntp.org
ntpdate 3.asia.pool.ntp.org

参考文献
How to Install and Configure Linux NTP Server and Client[……]

READ MORE

「Linux」- 使用 chrony 服务

问题描述
是 NTP Server 的另一种实现。适用于经常当关机,经常服务访问网络的系统。
解决方案
第一步、部署 chrony 服务
安装并启动服务

yum install -y chrony

systemctl enable chronyd
systemctl start chronyd

验证服务

chronyc tracking

附加说明
默认情况下 chronyd 对时间的调整是逐步进行的,并不是一次性把时间调整成正确时间。这么做的其中一个原因就是:时间跳跃对某些应用程序是不利的。但是也可以使用 makestep 指令进行时间的快速同步。
实际上 timedatectl 属于 systemd,并不属于 chrony 服务。
参考文献
CentOS / RHEL 7 : Configuring NTP using chrony Chrony client do not change system and hardware date[……]

READ MORE

「Linux」- 搭建 NTP 服务

问题描述
该笔记将记录:在 Linux 中,如何使用 ntpd 搭建 NTP 服务,以及常见问题解决方案。
解决方案
第一步、安装服务

# 系统环境:Ubuntu 14.04.5 LTS
# ntp中包含的是服务端相关的程序文件。
# ntpdate中包含的是客户端相关的程序文件。
apt-get install ntp ntpdate

参考 BLFS7.1.0/ntp-4.2.8p8 文档,以获取源码编译安装的方法。
安装的可执行程序: calc_tickadj,calculates optimal value for tick given ntp drift file. ntp-keygen,generates cryptographic data files used by the NTPv4 authentication and identification schemes. ntp-wait,is useful at boot time, to delay the boot sequence until ntpd has set the time. ntpd,is a ntp daemon that runs in the background and keeps the date and time synchronized based on response from configured ntp servers. It also functions as a ntp server. ntpdate,is a client program that sets the date and time based on the response from an ntp server. This command is deprecated. ntpdc,is used to query the ntp daemon about its current state and to request changes in that state. ntpq,is a utility program used to monitor ntpd operations and determine performance. ntptime,reads and displays time-related kernel variables. ntptrace,traces a chain of ntp servers back to the primary source. sntp,is a Simple Network Time Protocol (SNTP) client. tickadj,reads, and optiona[……]

READ MORE

「NETWORK」- 网络的生命周期

解决方案
Administration represents creating plans and actions to achieve the objectives of the company. Management is the process of implementing these plans to achieve the final goal.
大致包括:网络规划、网络设计、网络实施、网络维护
网络规划
网络规划是一个项目的起点,完善细致的规划工作将为后续的项目具体工作打下坚实的基础。
具体的工作内容如下: 在项目规划阶段需要调查掌握项目的背景。为项目实施提供良好的外部条件,保证项目的顺利推进; 在项目规划阶段需要明确网络项目的实施工作范围; 需要根据项目目标,工程范围,工作内容等各方面的内容制订项目的预算; 在项目规划阶段需要明确网络设计的指导思想,为后续的网络设计提供指导和依据;
网络设计
网络设计阶段负责把网络规划阶段获得的客户需求运用技术手段予以规范化体现。
在网络设计过程中,设计的网络方案需要把握以下要点: 1)高性能:需要与经济性取得平衡。网络的性能常用可用带宽,延迟,抖动,误码率,利用效率等进行描述; 2)经济性:首先需要遵从客户的预算,在预算范围内提供匹配的解决方案; 3)可靠性:使用平均故障间隔时间 MTBF(Mean Time Between Failures)和平均修复时间 MTTR(Mean Time to Repair)这两个技术指标来评价系统的可靠性;MTBF 是指一个系统无故障运行的平均时间,通常以小时为单位。MTBF 越多,可靠性也就越高。MTTR 是指一个系统从故障发生到恢复所需的平均时间; 4)扩展性:指网络适应未来发展的能力; 5)安全性:网络设计中需要考虑安全性,以提高网络的持续服务能力,防止承载信息的泄密; 6)可管理性:网络管理包括设备管理,配置管理,故障管理,计费管理等多个方面;
网络实施
网络实施是工程师交付项目的具体操作环节;
网络维护
网络管理、日常巡检、网络割接[……]

READ MORE

「NETWORK-ADMINISTRATION」- 管理,运维

问题描述
随着人工智能、大数据、云计算等新技术快速发展,未来各行业将面临数字化转型,企业业务随着数字化转型也变得丰富多样,使网络管理成为网络管理员面临的最具挑战的问题之一。我们无法仅依赖人手工来完成整个的网络管理的工作,迫切的需要一种自动化和智能化的工具协助我们管理网络中的设备和资源。因此,数字化带来网络模型的变化,传统的网络管理模式已经不能适应数字化业务带来的新需求。传统网络的建设、管理和运维手段已无法满足数字化带来的新的网络需求;
当前网络的发展现状
呈现出 网络规模日益扩大、设备种类日益繁多、网络维护日益复杂、维护人员要求更高 趋势;
传统网管面临的挑战
网络规模大、业务开通慢、排障效率低
故障损失:每小时停机损失百万美元,在不同行业,网络故障也带来不同程度的损失; 业务开通慢:>70% 的网络通过 CLI 方式管理网络,响应速度比较慢; 故障定位难:一个故障定位平均耗时 76min;
该笔记将记录:网络管理相关内容,形成网络管理整体认识,以及在网络管理中使用到的各种技术方案。该部分笔记偏向于技术手段、实践方案、概念理念,并不包含过多的网络协议、通信技术;
解决方案
维护又有“运维”、“运营”、“操作与维护”等不同的说法,但表达的是同个概念;
网络管理,简单地说是对网络的管理,是一个网络的基本诉求。当前,用户能够通过各种协议、工具、应用或设备来实现对网络的管理,其管理对象包括网络中的硬件及软件。通过对网络中设备的管理,保证设备工作正常,使通信网络正常地运行,以提供高效、可靠和安全的通信服务,是通信网络的重要组成部分;
网络管理的目标:实现对网络软硬件的监控、测试、配置、分析、评价及控制等,确保网络运行正常;
网络管理的典型架构
通常情况下,网络管理系统具有相同的基本体系结构;
该体系结构包含两个关键元素: 1)管理设备,也被称为网络管理站; 2)被管设备,也被称为代理设备;

企业网的管理结构:
网络管理的四大模型
OSI Network Management Model 由四个主要的模型组成:
1)组织结构模型(Organization Model):描述网络管理系统组件的功能和基础架构; 该模型定义 管理者、代理、被管理对象。它描述网络管理系统的 组件、组件的功能、基础架构;
2)信息模型(Information Model):描述被管理对象及其关系的信息库; 该模型与信息结构和存储有关。它指定用于描述被管理对象及其关系的信息库; 管理信息结构(SMI)定义存储在管理信息库(MIB)中的管理信息的语法和语义。代理进程和管理器进程都使用 MIB 进行管理信息交换和存储;
3)通信模型(Communi[……]

READ MORE

「NETWORK-ADMINISTRATION」- 设备:配置、管理

设备数据的分类
数据是信息的载体。运行设备上可获取的信息被分为两类: 1)配置数据,是类可写(writable)的数据。它可以改变系统的状态,例如从初始状态变为当前状态。 2)状态数据,是系统上的只读(read-only)的非配置数据。例如 表示状态信息、统计信息 等等;
设备数据的管理(常见网管方式)
更改设备数据有多种方法,既可以基于命令行(人工),也可以基于特定协议(自动)。
配置数据:能够通过 CLI NETCONF RESTCONF 进行操作; 状态数据:能够通过 SNMP Telemetry CLI 进行操作;CLI 和 SNMP 是最经典的获取设备数据的方法。
传统网管:Traditional Network Management 现代网管:NETWORK-AUTOMATION-DEVELOPMENT

章节列表
「YANG」- Yet Another Next Generation 「SSH」- 找出登录服务器所使用的公钥 「RESTCONF」- RESTful in NETCONF 「Linux」- 安装 SNMP 服务 「NETWORK-ADMINISTRATION」- 通过 CLI 、Web 网管(传统网络管理)[……]

READ MORE

「NETWORK-ADMINISTRATION」- 通过 CLI 、Web 网管(传统网络管理)

网络管理方式
对于设备的配置管理,工程师更习惯使用 CLI 命令行的方式与设备交互。该方式简单直接,便于理解。

对于网络管理员
CLI(Command-Line Interface,命令行界面):在图形用户界面得到普及前,其是使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,设备接收到指令后,予以执行。既可以支持网络配置管理,也可以支持网络监控管理。例如 Telnet、SSH、Console 等等;
Web 网管方式:通过 Web 图形化界面,以完成对网络设备的简单管理工作;
通过网络管理站
基于 SNMP 集中管理:其 Set 功能可以支持网络配置管理,其 Trap 功能可以支持网络监控管理。
网络管理工具
Telnet和SSH是两种远程管理设备的方式,其中SSH连接方式较Telnet更为安全,因此目前网络都会要求部署SSH。
Telnet 是电信(Telecommunications)和网络(Networks)的联合缩写: 1)Telnet使用专用的TCP端口号23,它不是一种安全通信协议,通过网络/互联网传输明文格式的数据,包括密码。 2)Telnet中没有使用任何验证策略及数据加密方法。
SSH(Secure Shell,安全外壳) 1)SSH使用专用的TCP端口号22,它是一种非常安全的协议,通过网络/互联网传输加密格式的数据,一旦经过加密就极难解压和读取该数据。 2)SSH还使用公钥用于对访问者的用户身份验证,这种方式提供了更高的安全性。

设备配置流程
1)命令行是人类与设备的交互语言。工程师查询产品文档,使用命令行方式配置设备。 2)命令行采用了嵌套的方式实现设备配置。

特性及优势

当网络规模较小时,CLI 和 Web 方式是常见的网络管理方式: 1)网络管理员通过HTTPS、Telnet、Console等方式登录设备后,对设备逐一进行管理。 2)这种管理方式不需要在网络中安装任何程序或部署服务器,成本较低。 3)网络管理员自身需要熟练掌握网络理论知识、各设备厂商网络配置命令。
缺陷与不足
网络管理员可以采用CLI对设备进行配置和网络监控,操作简单便捷。但是一旦进行大规模部署,就必须借助于自动化工具来进行批量配置。
通过 CLI、Web 管理网络,存在如下问题: 1)需要人工接入,否则无法及时发现问题; 2)数据展示比较简单,比如无法查看长期数据; 3)各厂商定义的CLI各不相同,运营商和企业需要针对各厂商分别学习和开发适配脚本。 4)配置脚本有非结构化、不可预测、容易变化等特性,导致解析复杂,CLI脚本维护困难,很难实现自动化解析。 5)当网络规模较大,网络拓扑较为复杂时,这种方式[……]

READ MORE

「SNMP」- 简单网络管理协议(Simple Network Management Protocol)

问题描述
该笔记将记录:SNMP 相关内容,以及常见相关问题的解决办法。
解决方案
SNMP(Simple Network Management Protocol,简单网络管理协议)是广泛用于 TCP/IP 网络的网络管理标准协议,提供一种通过运行网络管理软件的中心计算机(NMS,Network Management Station,网络管理工作站)来管理网元的方法。
原理简述
在 NMS(网络管理站)中,配置 SNMP 管理程序; 在被管理设备端,启用 Agent 代理程序,同时在组网中配置 SNMP 协议。
通过 SNMP 协议: NMS 通过 Agent 获取或变更设备的信息,实现远程监控和管理。 Agent 能够及时地向 NMS 报告设备的状态。

网络管理员可以利用 NMS 在网络上的任意节点完成信息查询、信息修改和故障排查等工作,提升工作效率。屏蔽不同产品之间的差异,以实现不同种类和厂商的网络设备之间的统一管理。
特性特征
通过“利用网络管理网络”的方式,SNMP 实现对网络设备的高效和批量的管理; 简单:SNMP采用轮询机制,提供基本的功能集,适合快速、低价格的场景使用,而且SNMP以UDP报文为承载,因而得到绝大多数设备的支持。 强大:SNMP的目标是保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。
注意,SNMP 主要还是用于信息采集,而很少用于管理网元设备: 1)SNMP 基于 UDP,对于配置管理来说无状态、无序、不可靠。 2)SNMP 只能对一个对象单独配置,而不是面向一个业务。多个对象同时配置时,如果有些成功有些失败,会对网络造成未知影响。
应用场景
通过 SNMP 完成 配置 与 监控:[……]

READ MORE

「SNMP」- 概念术语

典型架构

在基于 SNMP 进行管理的网络中:

NMS(网络管理站,Network Management Station):向被管理设备发送各种查询报文,以及接收被管理设备发送的告警。是整个网络的网管中心,在它之上运行管理进程。NMS 是一个采用 SNMP 协议对网络设备进行管理/监控的系统,运行在 NMS Server 上。
Device(被管理设备):也就是网络中的各种接受网管的设备,即被 NMS 管理的设备。每个被管理设备需要运行代理进程(Agent),代理进程运行于被管理设备上,用于维护被管理设备的信息数据并响应来自 NMS 的请求,把管理数据汇报给发送请求的 NMS。管理进程和代理进程利用 SNMP 报文进行通信。
Agent(代理):驻留在 Device 上的一个进程。接收、解析来自 NMS 的查询报文。
Agent 的作用如下: 1)根据报文类型对管理变量进行Read或Write操作,并生成响应报文,返回给网管站。 2)根据各协议模块对告警触发条件的定义,当发生某个事件(如端口UP/DOWN,STP拓扑变更、OSPF邻居关系DOWN掉等)的时候,主动触发一个告警,向网管站报告该事件。
信息交互

NMS 和 Device 的信息交互分为两种: 1)拉取:NMS 通过 SNMP 协议,给被管理设备发送修改配置信息请求或查询配置信息请求。被管理设备上运行的代理进程根据NMS的请求消息做出响应。 2)上送:被管理设备可以主动向 NMS 上报告警信息(Trap)以便网络管理员及时发现故障。
管理对象,Managed Object
可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。每一个设备可能包含多个被管理对象。
MIB / OID

MIB(Management Information Base )是个数据库,指明被管理设备所维护的变量(即能够被 Agent 查询和设置的信息)。MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。
OID(Object IDentifier):MIB 是以树状结构进行存储的,树的节点表示管理对象(Object),对象可以用从根Root开始的一条路径来唯一的识别,这就是OID也即对象标示符
SNMP规定通过 MIB(Management Information Base,管理信息库)去描述可管理实体的一组对象。
MIB在数据库中定义被管理设备的系列属性: 1)对象标识符(Object IDentifier,OID) 2)对象的状态 3)对象的访问权限 4)对象的数据类型等
MIB给出了一个数据结构,[……]

READ MORE

「SNMPv1」- 协议交互

1)使用 UDP 报文 2)当故障时主动发送报文;

访问认证
1)对于 SNMPv1 与 SNMPv2c 协议,本身没有提供直接的认证机制,而采用基于团体名的有限的安全认证机制,团体名明文传输。 2)不推荐在非完全信任的网络使用 SNMPv1/SNMPv2c 版本;[……]

READ MORE