# snmp.conf相关
**snmpd.conf**用来配置代理和管理端通信时的参数
该文件中用到了4条指令:**com2sec**,**group**, **view**, **access**
1. **com2sec**
命令格式
**com2sec [-Cn context] sec.name source community**
功能
map an SNMPv1 or SNMPv2c community string to a security name,即将实体(community)字符串映射为安全的名字,v1 和v2版本都是明文密码,也就无所谓安全性了。v3中增加了安全性。
参数说明
1. **-Cn context**:可选的,在v3版本中使用
2. **sec.name**:内部映射的名字,字符串,后面用到
3. **community**:实体字符串,外部使用的名字
4. **source**:可以访问的ip地址范围,默认值"default”,即任何ip都可以访问。也可以限制ip范围。有两种方式:IP/MASK和IP/BITS
```
IP/MASK:10.10.10.0/255.255.255.0
IP/BITS :10.10.10.0/24:只有ip地址在10.10.10.0,mask为24个1,即255.255.255.0
```
命令格式
**com2sec6 [-Cn context] sec.name source community**
针对ipv6,其他和com2sec相同
命令格式
**com2secunix [-Cn context] sec.name sockpath community**
只限本地socket可以访问
用例
```
com2sec 设置可访问的IP地址,访问的口令以及分组
# sec.name source community
com2sec local localhost private
com2sec mynetwork 10.8.0.0/16 private
```
2. **group**
命令格式
**group groupName securityModel sec.name**
功能
将sec.name映射到一个group中,组中具有相同的存取权限。组中至少有两个
sec.name,如果只有一个sec.name,也会被解释为两个。即有两个相同的
参数说明
1. **groupName**:组名
2. **securityModel**:v1、v2c、usm、tsm、ksm其一
用例
**group** 设置安全用户名的组
```
group MyRWGroup v1 local
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork
```
3. **view**
命令格式 **view viewName type oid[mask]**
功能 定义一个view,表示整个OID树的子树,同一个子树可以定义多个view
参数说明
1. **viewName**: view名字
2. **type**: 有两个值,include 和 exclude
3. **oid**:可以访问的oid
4. **/[mask]**:对oid的mask
例如 view all include 1.3.6.1.2.1.4 0xf0
其中,0xf0(1111 0000),即访问的oid的前4位必须是1.3.6.1,否则不能访问,即 可以访问1.3.6.1下所有的子oid
用例
view 表示可以对哪些MIB子树进行访问
```
view all included .1
```
4. **access**
命令格式 **access groupName context model level prefx read write notify**
功能 设置访问某一个view的存取权限
参数说明
1. **groupName** :控制存取权限的组名
2. **context**:v1和v2c版本,context必须设置为""
3. **model**:v1、v2c、usm、tsm、ksm,最后3中是v3版本的授权模式,usm(User-Based Security Model)是默认授权模式,tsm用于SSH or DTLS,ksm用于支持Kerberos
4. **level**:可以去3种值:noauth、auth、priv
5. **noauth**:允许无权限访问(v1,v2c使用)
6. **auth**:必须有权限才能访问
7. **priv**:强制加密访问
8. **prefx**:exact or prefix
9. **read、write、notify**:指明某一个view的权限是否可以GET\*, SET\*,TRAP/INFORM,如果该view不能read,则置none
用例
```
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
```