方舟笔记

方舟笔记

Windows 配置静态路由和配置永久静态路由

Windows 配置静态路由和配置永久静态路由

在使用多网卡多网段的情况下只能给其中一个配置default gate way(如果配置多个default gate way,会造成无法上网),其他的网段就需要配置静态路由。

浪潮SA5112M4一共四个网卡接口,接口配置信息如下

网卡1:
116.255.166.188
255.255.255.0
116.255.166.1

网卡2:
10.140.88.140
255.255.0.0
10.140.0.1

Windows 配置静态路由
route add 10.0.0.0 mask 255.0.0.0 10.140.0.1

Windows 配置永久静态路由
route -p add 10.0.0.0 mask 255.0.0.0 10.140.0.1

-f 清除所有网关项的路由表。如果与某个
命令结合使用,在运行该命令前,
应清除路由表。

-p 与 ADD 命令结合使用时,将路由设置为
在系统引导期间保持不变。默认情况下,重新启动系统时,
不保存路由。忽略所有其他命令,
这始终会影响相应的永久路由。
win_default_route (1)

win_default_route (2)

IPV6链路地址分类

Aggregate global unicast address
可聚集全球单播地址 001x xxxx xxxx xxxx::
2400 0010 0100 0000 0000
2400:6180:0:d0::47f:1001/64
2400:6180:0:d0:0000:0000:47f:1001/64
#ping6 2400:6180:0:d0:0000:0000:47f:1001
PING 2400:6180:0:d0:0000:0000:47f:1001(2400:6180:0:d0::47f:1001) 56 data bytes
64 bytes from 2400:6180:0:d0::47f:1001: icmp_seq=1 ttl=64 time=3.23 ms

Unspecified address
IPv6中的未指定地址即0:0:0:0:0:0:0:0/128 或者::/128

Loopack address
IPv6中的环回地址即0:0:0:0:0:0:0:1/128 或者::1/128 相当于IPv4中的127.0.0.1/8,主要用于设备给自己发送报文。
#ping6 ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from ::1: icmp_seq=2 ttl=64 time=0.046 ms

Link Local Address 链路本地地址 FE80::/10(最高10位值为1111111010)(1111 1110 1000 0000)唯一本地单播地址
链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。似于ipv4中,当DHCP分配失败时自动生成的类似于169.254.0.0/16这样的地址,凡是源地址或目的地址中含有link-local address的报文,路由器都不应当转发它,这样的报文只能在一个LAN中互通。

(ULA,unique local address)唯一区域地址FC00::/7(最高7位值为1111110) (1111 1100 0000 0000)
唯一本地地址是另一种应用范围受限的地址,它仅能在一个站点内使用。由于本地站点地址的废除(RFC3879),唯一本地地址被用来代替本地站点地址(RFC4193)
唯一本地地址的作用类似于IPv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。

IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。IPv6组播地址的前缀是FF00::/8
IPv6中没有为任播规定单独的地址空间,任播地址和单播地址使用相同的地址空间。

Server1:inet6 addr: fe80::250:56ff:fe90:32d8/64 Scope:Link
Server2:inet6 addr: fe80::250:56ff:fe90:4625/64 Scope:Link

#ping6 fe80::250:56ff:fe90:4625
connect: Invalid argument

ping6 -I eth0 fe80::250:56ff:fe90:4625
PING fe80::250:56ff:fe90:4625(fe80::250:56ff:fe90:4625) from fe80::250:56ff:fe90:32d8 eth0: 56 data bytes
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=1 ttl=64 time=2.02 ms
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=2 ttl=64 time=0.169 ms
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=3 ttl=64 time=0.147 ms
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=4 ttl=64 time=0.224 ms
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=5 ttl=64 time=0.187 ms
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=6 ttl=64 time=0.172 ms
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=7 ttl=64 time=0.157 ms
64 bytes from fe80::250:56ff:fe90:4625: icmp_seq=8 ttl=64 time=0.153 ms

ping6 -I enp0s3 fe80::1
PING fe80::1(fe80::1) from fe80::1 enp0s3: 56 data bytes
64 bytes from fe80::1: icmp_seq=1 ttl=64 time=0.017 ms
64 bytes from fe80::1: icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from fe80::1: icmp_seq=3 ttl=64 time=0.032 ms

Google to the rescue, you have to specify the network interface you want to use to send the packet. It’s ok ping6 has a -I parameter that allows you to select the one you want, and you also find that there is a weird syntax that allows you to do that inline
fe80 (1)

fe80 (2)

CentOS 6.x 安装cacti-0.8.8 使用SNMPv2 监控服务器

CentOS 6.x 安装cacti-0.8.8 使用SNMPv2 监控服务器

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形。
首先需要安装配置运行环境
Nginx/1.9.14
PHP5.6.20 PHP需要支持SNMP(php-snmp)
Mysql5.6.30 Cacti导入数据库的时候,数据库格式要是utf8 (-DDEFAULT_CHARSET=utf8)或者使用phpMyAdmin导入特定格式

Cacti
http://www.cacti.net/
http://docs.cacti.net/manual:088:1_installation.1_install_unix.5_install_and_configure_cacti

安装准备
yum -y install rrdtool-devel net-snmp* epel-release
sudo rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
wget http://www.cacti.net/downloads/cacti-0.8.8g.tar.gz;tar -zxvf cacti-0.8.8g.tar.gz;mv cacti-0.8.8g cacti;

vi /home/www/web/cacti/include/config.php //编辑配置文件
mysql>/home/www/web/cacti/cacti.sql; //导入cacti数据库文件,数据库需要utf8格式

测试采集
/usr/local/php/bin/php /home/wwwroot/default/cacti/poller.php

PHP Warning: system() has been disabled for security reasons in /home/www/web/cacti/lib/poller.php on line 141
PHP Warning: exec() has been disabled for security reasons in /home/www/web/cacti/lib/poller.php on line 129
PHP Warning: popen() has been disabled for security reasons in /home/www/web/cacti/lib/rrd.php on line 52

开放被禁用的函数exec() popen() system()
vim /usr/local/php/etc/php.ini

设置定时任务 crontab -e
*/5 * * * * /usr/local/php/bin/php /home/wwwroot/default/cacti/poller.php > /dev/null 2>&1

防火墙设置
iptables -I INPUT -p udp --dport 161 -j ACCEPT;service iptables save;service iptables restart;
iptables -I OUTPUT -p udp --dport 161 -j ACCEPT;service iptables save;service iptables restart;

增加 cacti 用户以用来写入rrd和log目录的数据,否则就会生成不了图片
[root@Cacti ~]#useradd -M -s /sbin/nologin cacti
[root@Cacti ~]#cd /home/wwwroot/default/cacti
[root@Cacti ~]#chown -R cacti rra/ log/

tail /home/wwwroot/default/cacti/log/cacti.log #查看日志文件
cd /home/wwwroot/default/cacti/rra/ #保存的图形数据

SNMPv2

使用 SNMPv2-MIB监控VMWARE ESXi 5.5 的设备

使用 SNMPv2-MIB监控ESXi的设备
VMware MIB 文件为 SNMP 管理软件定义 ESXi 主机和 vCenter Server 提供的信息。

SNMPv2-MIB
[root@cacti ~]# snmpwalk -v 2c -c public 122.122.122.122 .1 | more #查看所有信息

SNMPv2-MIB::sysDescr.0 = STRING: VMware ESXi 5.5.0 build-2143827 VMware, Inc. x86_64
SNMPv2-MIB::sysName.0 = STRING: QVPS101101109
HOST-RESOURCES-MIB::hrDeviceDescr.1 = STRING: CPU Pkg/ID/Node: 0/0/0 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GH
HOST-RESOURCES-MIB::hrDeviceDescr.33 = STRING: LUN DELL PERC H730P Adp 4.25 naa.614187706c5cdf001e8d753c1209da
HOST-RESOURCES-MIB::hrDeviceDescr.34 = STRING: LUN DELL PERC H730P Adp 4.25 naa.614187706c5cdf001e8d747105f3ff
HOST-RESOURCES-MIB::hrSWInstalledDate.1 = STRING: 2016-3-29,0:0:0.0
SNMPv2-SMI::mib-2.47.1.1.1.1.2.1 = STRING: "Dell Inc. DSS1500"
SNMPv2-SMI::mib-2.47.1.2.1.1.2.1 = STRING: "VMware vCenter Server"
SNMPv2-SMI::enterprises.6876.1.1.0 = STRING: "VMware ESXi"
SNMPv2-SMI::enterprises.6876.1.2.0 = STRING: "5.5.0"
SNMPv2-SMI::enterprises.6876.3.5.2.1.5.1 = STRING: "LSI Logic / Symbios Logic PERC H730P Adapter"
SNMPv2-SMI::enterprises.6876.3.5.2.1.5.2 = STRING: "Intel Corporation Haswell-E DMI2"
SNMPv2-SMI::enterprises.6876.4.20.102.0 = Timeticks: (247129720) 28 days, 14:28:17.20
......
.....

OID具体数值
snmpwalk -v 2c -c public 122.122.122.122 sysDescr.0

snmpwalk -v 2c -c public 122.122.122.122 hrDeviceDescr.1

snmpwalk -v 2c -c public 122.122.122.122 mib-2.47.1.1.1.1.2.1

snmpwalk -v 2c -c public 122.122.122.122 enterprises.6876.3.5.2.1.5.1

ESXi 的snmp默认配置
/etc/vmware/snmp.xml

# cat /etc/vmware/snmp.xml

esxi-snmp

已经把真正ESXi主机的IP地址修改为122.122.122.122

CentOS6.x配置静态路由和配置永久静态路由

Centos6.xConfiguring Static Routes
CentOS6.x配置静态路由(重启服务器或者网络服务会失效)
CentOS6.x配置永久静态路由(重启服务器或者网络服务不会失效)

在使用多网卡多网段的情况下只能给其中一个配置default gate way(如果配置多个default gate way,会造成无法上网),其他的网段就需要配置静态路由。

浪潮SA5112M4一共四个网卡接口,接口配置信息如下

网卡1:
116.255.166.188
255.255.255.0
116.255.166.1

网卡2:
10.68.44.44
255.255.0.0
10.68.0.1

CentOS6.x配置静态路由(重启服务器或者网络服务会失效)
ip route add 10.0.0.0/8 via 10.68.0.1 dev eth1

CentOS6.x配置永久静态路由(重启服务器或者网络服务不会失效)单网卡多网段
vi /etc/sysconfig/network-scripts/route-eth0

default 192.168.0.1 dev eth0
10.10.10.0/24 via 192.168.0.1 dev eth0
172.16.1.0/24 via 192.168.0.1 dev eth0

CentOS6.x配置永久静态路由(重启服务器或者网络服务不会失效)

vi /etc/sysconfig/network-scripts/route-eth1
10.0.0.0/8 via 10.68.0.1 dev eth1

参考资料
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html
https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html

CentOS6.x SNMPv2 详细配置与获取SNMP数据

CentOS6.x SNMPv2 详细配置与获取SNMP数据
简单网络管理协议(SNMP) Simple Network Manage Protocol 使用UDP协议,端口号161、162
snmpd 占用161号端口
snmptrapd 占用162号端口

SNMP共有三个版本
SNMPv1
SNMPv2c ,community (SNMPv2u ,user)
SNMPv3

MIB数据库http://a.hiphotos.baidu.com/baike/c0%3Dbaike116%2C5%2C5%2C116%2C38/sign=e53d3b44f1deb48fef64a98c9176514c/810a19d8bc3eb1352b3d169ea41ea8d3fd1f4418.jpg
SNMP协议使用MIB数据库保存数据信息
MIB使用树状结构组织管理数据
MIB使用OID定位数据

OID:.1.3.6.1.2.1.1 #从上到下,.0代表所包含的元素


GET 获取数据
GET NEXT 获取下一个
GET BULK 获取大量数据
SET 设置数据信息,可以修改主机名等待

监控设备 被监控设备

TRAPS 反馈给监控设备
INFORM 反馈给监控设备,监控设备会发送接收完毕的反馈信息
RESPONSE

安装 net-snmp
yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils
或者
yum install -y net-snmp*

cd /etc/snmp/
[root@vultr snmp]# ls
snmpd.conf snmptrapd.conf snmptt.conf snmptt.ini
161端口 162端口

service snmpd restart #启动net-snmp
netstat -tulpn TCP、UDP、programs、listenin、numeric #查看snmpd运行状态已经占有的端口号

udp 0 0 0.0.0.0:161 0.0.0.0:* 30021/snmpd

添加开机启动
chkconfig --list | grep snmp
snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
snmptrapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig snmpd on

/etc/snmp/snmpd.conf #配置文件
community = password

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bck
vi /etc/snmp/snmpd.conf

# sec.name source community
com2sec yonghuming default mima

# groupName securityModel securityName
group yonghuzu v2c yonghuming

# Finally, grant the group read-only access to the systemview view.

# group context sec.model sec.level prefix read write notif 指定组的权限到一个权限视图
access yonghuzu "" any noauth exact systemview none none

# Make at least snmpwalk -v 1 localhost -c public system fast again. 设置systemview能访问那些权限
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1 #所有都能访问

service snmpd restart #重启snmp服务

-----------

如果需要获取更多的数据,可以把系统视图权限修改为所有权限

access yonghuzu "" any noauth exact systemview none none
修改为
access yonghuzu "" any noauth exact all none none

修改对all的定义
## incl/excl subtree mask
view all included .1 80

service snmpd restart #重启snmp服务

snmpget获取一个指定OID的数据
snmpget -v 2c -c mima 108.61.247.227 1.3.6.1.2.1.1.1.0

snmpwalk获取从一个OID开始后所有的数值
snmpwalk -v 2c -c mima 108.61.247.227 .1

SNMP错误提示
Timeout: No Response from 108.61.247.227.
解决办法:
1 查看密码是否设置正确
2 配置防火墙允许SNMP数据通过
iptables -I INPUT -p udp --dport 161 -j ACCEPT
service iptables save;service iptables restart;

CentOS6.x 更新系统默认Python版本带来的yum异常:File “/usr/bin/yum”, line 30

CentOS6.x 更新系统默认Python版本带来的yum异常:File "/usr/bin/yum", line 30

CentOS6.x 升级Python到 Python3.4.3,并更新系统默认Python版本,当使用yum安装或升级软件的时候提示下列错误

#yum update -y
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax

错误原因:

这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.6版本与3.4版本之间存在语法不一致问题。而CentOS 6自带的yum采用的是

python2.6.6,当系统将python升级到3.x后,出现语法解释错误。

解决办法:
修改yum的解释器为旧版本python2.6(如果你没有采用覆盖升级的话)。

#vi /usr/bin/yum
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.6"即可。

yum_error

yum_error2