Nagios check_http Invalid option - SSL is not available

环境检测 - openssl

1
2
3
4
5
6
7
8
9
10
11
[root@localhost libexec]# yum install openssl openssl-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* extras: mirrors.cn99.com
* updates: mirrors.163.com
软件包 1:openssl-1.0.1e-51.el7_2.5.x86_64 已安装并且是最新版本
软件包 1:openssl-devel-1.0.1e-51.el7_2.5.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost libexec]# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz

编译安装 - 指定 openssl 路径

1
2
3
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl
make
make install

检测 - 切换到 /usr/local/nagios/libexec/ 目录

1
./check_http -H api.jpush.cn -u /v3/push -S

华为交换机对通过 SNMP 访问交换机的用户的 ACL 控制配置

需求:仅允许来自指定IP的 SNMP 用户访问交换机


1
2
3
4
5
6
7
8
9
<HUAWEI>system-view 
Enter system view, return user view with Ctrl+Z.
# 定义基本访问控制列表和子规则
[HUAWEI]acl number 2000 match-order config
[HUAWEI-acl-basic-2000]rule 1 permit source 192.168.200.91 0
[HUAWEI-acl-basic-2000]rule 2 deny source any
[HUAWEI-acl-basic-2000]quit
# 应用访问控制列表
[HUAWEI]snmp-agent community read cipher public acl 2000

ACL match-order 中的 config 和 auto 的应用区别

一个 ACL 由一条或多条描述报文匹配选项的判断语句组成,这样的判断语句就称为“规则”。由于每条规则中的报文匹配选项不同,从而使这些规则之间可能存在重复甚至矛盾的地方,因此在将一个报文与ACL 的各条规则进行匹配时,就需要有明确的匹配顺序来确定规则执行的优先级。

ACL 的规则匹配顺序有以下两种:

  • 配置顺序:按照用户配置规则的先后顺序进行匹配,但由于本质上系统是按照规则编号由小到大进行匹配,因此后插入的规则如果编号较小也有可能先被匹配。

  • 自动排序:按照“深度优先”原则由深到浅进行匹配,

不同类型ACL的“深度优先”排序法则如下所示:

  • IPv4基本ACL

先比较源IPv4 地址范围,范围较小者优先
如果源IP 地址范围相同,再比较配置顺序,配置在前者优先

  • IPv4高级ACL

先比较协议范围,指定有IPv4 承载的协议类型者优先
如果协议范围相同,再比较源IPv4 地址范围,较小者优先
如果源IPv4 地址范围也相同,再比较目的IPv4 地址范围,较小者优先
如果目的IPv4 地址范围也相同,再比较四层端口(即TCP/UDP 端口)号范围,较小者优先
如果四层端口号范围也相同,再比较配置顺序,配置在前者优先

Authentication password 与 scheme 区别

authentication-mode 常见的配置参数有三种

  1. authentication-mode password
    直接在 user-interface vty 下使用 password 设置密码
  2. authentication-mode aaa 或 authentication-mode scheme
    创建本地用户并启用 AAA 验证
  3. authentication-mode none
    远程维护不需要密码

scheme 是组合的意思,就是组合认证方式,即输入:用户名+密码 认证
配置示例:

1
2
3
4
5
6
7
user-interface 0 4 # 进入用户界面,0 4 是指可以有 5 个用户会话同时连接,0、1、2、3、4
authentication-mode scheme # 设置认证模式为组合模式(用户名+密码)
local-user 用户名 # 建立本地用户名
password simple 密码(明文)或者 password cipher 密码(加密密码) # 设置用户密码
service-type telnet # 设置服务访问类型
level 3 # 设置授权访问级别,3为最高级别,0为最低级别
quit # 退出

user privilege level 0 1 2 3 几个级别的区别

  • 0 参观 ping tracert telnet rsh super language-mode display quit
  • 1 监控 msdp-tracert mtracert reboot reset send terminal undo upgrade debugging
  • 2 系统 所有配置命令(管理级的命令除外)和0、1级命令
  • 3 管理 所有命令

交换机链路聚合

链路聚合是将两个或更多数据信道结合成一个单个的信道,该信道以一个单个的更高带宽的逻辑链路出现。链路聚合一般用来连接一个或多个带宽需求大的设备,例如连接骨干网络的服务器或服务器群。

简介

链路聚合(Link Aggregation),是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出/入流量在各成员端口中的负荷分担,交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算报文发送端口。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。
如果聚合的每个链路都遵循不同的物理路径,则聚合链路也提供冗余和容错。通过聚合调制解调器链路或者数字线路,链路聚合可用于改善对公共网络的访问。

原理

逻辑链路的带宽增加了大约(n-1)倍,这里,n为聚合的路数。另外,聚合后,可靠性大大提高,因为,n条链路中只要有一条可以正常工作,则这个链路就可以工作。除此之外,链路聚合可以实现负载均衡。因为,通过链路聚合连接在一起的两个(或多个)交换机(或其他网络设备),通过内部控制,也可以合理地将数据分配在被聚合连接的设备上,实现负载分担。

链路聚合有如下优点:

  1. 增加网络带宽

链路聚合可以将多个链路捆绑成为一个逻辑链路,捆绑后的链路带宽是每个独立链路的带宽总和。

  1. 提高网络连接的可靠性

链路聚合中的多个链路互为备份,当有一条链路断开,流量会自动在剩下链路间重新分配。
链路聚合的方式主要有以下两种:

  • 静态Trunk

静态Trunk将多个物理链路直接加入Trunk组,形成一条逻辑链路。

  • 动态LACP

激活某端口的LACP协议后,该端口将通过发送LACPDU向对端通告自己的系统优先级、系统MAC地址、端口优先级和端口号。对端接收到这些信息后,将这些信息与自己的属性比较,选择能够聚合的端口,从而双方可以对端口加入或退出某个动态聚合组达成一致。


链路聚合往往用在两个重要节点或繁忙节点之间,既能增加互联带宽,又提供了连接的可靠性。

华为交换机命令释义

  1. 批量创建 vlan
1
2
3
vlan batch 1 t0 100 105 to 108 1023
一次性创建 vlan 1 - vlan2 ,vlan 105 - vlan 108 ,以及 vlan 1023
#
命令 释义
sysname 改设备名
save 保存配置
system-view 进入系统试图
display current-configuration 查看当前配置
stp mode stp 设置 STP 模式为 STP
stp instance 0 root primary 指定该交换机为根桥
stp enable 开启 STP
http server enable 使能 HTTP 服务功能,可用 undo http server enable 去使能状态
interface Eth-Trunk1 建立链路聚合 1
prot link-type trunk 链路聚合后的模式
port trunk allow-pass vlan 2 to 200 允许通过 vlan 标签

VRRP 协议

工作过程

  1. 路由器开启 VRRP 功能后,会根据优先级确定自己在备份组中的角色。优先级高的路由器称为主用路由器,优先级低的成为备用路由器。主用路由器定期发送 VRRP 通告报文,通知备份组内的其它路由器自己工作正常;备用路由器则启动定时器等待通告报文的到来。

  2. VRRP 在不同的主用抢占方式下,主用角色的替换方式不同:

  • 抢占方式下,当备用路由器收到 VRRP 通告报文后,会将自己的优先级与通告报文中的优先级进行比较。如果大于通告报文中的优先级,则称为主用路由器,否则将保持备用状态。
  • 非抢占方式下,只要主用路由器没有出现故障,备份组中的路由器始终保持主用或者备用状态,备份组中的路由器即使随后被配置了更高的优先级也不会成为主用路由器
  1. 如果备用路由器的定时器超时后仍未收到主用路由器发送来的 VRRP 通告报文,则认为主用路由器已经无法正常工作,此时备用路由器会认为自己是主用路由器,并对外发送 VRRP 通告报文。备份组内的路由器根据优先级选举出主用路由器,承担报文的转发功能。

VRRP 负载分担

在实际组网中一般会进行 VRRP 负载分担方式的设置。负载分担方式是指多台路由器同时承担业务,避免设备闲置,因此需要建立两个或更多的备份组实现负载分担。VRRP 负载分担方式具有以下特点:

  • 每个备份组都包括一个主用路由器或若干个备用路由器
  • 各备份组的主用路由器可以不相同
  • 同一台路由器可以加入多个备份组,在不同备份组中具有不同的优先级,使得该路由器可以在一个备份组中作为主用路由器,在其它备份组中作为备用路由器

VRRP 在提高可靠性的同时,简化了主机的配置。在具有多播或者广播能力的局域网中,借助于 VRRP 能在某台路由器出现故障时仍然提供可靠的缺省链路,有效避免单一链路故障发生后网络中断的问题,而无需修改动态路由协议、路由发现协议等配置信息。

Centos 7 安装 postfix

安装

安装没什么好说的,无非是卸载 sendmail,安装 postfix 即可。

配置

  1. /etc/postfix/main.cf 配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@mail ~]# cat /etc/postfix/main.cf | grep -v ^# | grep -v ^$
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = mail.ttlop.cn
mydomain = ttlop.cn
myorigin = $mydomain
inet_interfaces = $myhostname
inet_protocols = all
mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.16.0/24, 127.0.0.0/8, 192.168.200.91/32
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases


debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
  1. /etc/hostname 配置
1
2
[root@mail ~]# cat /etc/hostname 
mail.ttlop.cn
  1. /etc/hosts 配置
1
2
3
4
[root@mail ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.16.115 mail.ttlop.cn mail
  1. /etc/resolv.conf 配置
1
2
3
4
[root@mail ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search ttlop.cn
nameserver 222.246.129.80
  1. 域名解析配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@mail ~]# nslookup
> set q=mx
> ttlop.cn
Server: 222.246.129.80
Address: 222.246.129.80#53

Non-authoritative answer:
ttlop.cn mail exchanger = 1 mail.ttlop.cn.

Authoritative answers can be found from:
> set q=a
> mail.ttlop.cn
Server: 222.246.129.80
Address: 222.246.129.80#53

Non-authoritative answer:
Name: mail.ttlop.cn
Address: 222.240.236.201
> set q=txt
> ttlop.cn
Server: 222.246.129.80
Address: 222.246.129.80#53

Non-authoritative answer:
ttlop.cn text = "v=spf1 ipv4:58.20.58.192/27 ipv4:58.20.58.224/27 ipv4:222.240.240.240/28 ipv4:222.240.236.192/28 ~all"

Authoritative answers can be found from:
  1. 防火墙配置
1
2
firewall-cmd --add-service=smtp --permanent
systemctl restart firewalld

至此配置完成。

测试

  1. 测试内外网 smtp 端口是否开放

  2. 测试邮件是否可以发出:echo “Mail Content” | mail -s “Mail Subject” 18675850419@wo.cn,建议先从 wo 邮箱往这边发送测试邮件

  3. 查看 /var/log/maillog、postqueue -p 等信息确认发送是否正常

  4. 测试邮件是否可以收到,如果当前操作均在 root 下进行,可以直接在 wo 邮箱中发送邮件到 root@ttlop.cn,通过在服务器命令行输入 mail 来确认是否可以收到邮件


至此测试完成,实际环境中发现发送到 qq 邮箱的邮件均被拒绝,建议多用几个邮箱帐号来测试,有时环境搭建正常,但依然会出现邮件发不出去的情况。

Centos 7 更改 hostname

Centos 7 永久修改

1
vim /etc/hostname

临时修改

1
hostname newhostname

修改 hostname 后,/etc/hosts 文件并不会自动更新,所以每次在修改主机名后一定要手动更新 /etc/hosts,之后再重启 Centos 7,否则系统再启动时会很慢。

手动更新 /etc/hosts

第一部分:网络 IP 地址
第二部分:主机名.域名
第三部分:主机名(主机名别名),其实就是主机名

1
2
3
4
[root@mail ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.16.115 mail mail.ttlop.cn

在 CentOS 7 中,有三种定义的主机名:

  • 静态的(static)
  • 瞬态的(transient)
  • 灵活的(pretty)

“静态”主机名也称为内核主机名,是系统在启动时从 /etc/hostname 自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过 DHCP 或 mDNS 服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如 Dan’s Computer)。