Cisco 的大旨配置实例之四—-管理vlan的规划及安插(接入交流机)

本文将在偏下三片段开展编制:

4.2 连着互换机的相干配置

  1. POM文件分析
  2. 创设顺序
  3. 可拔取性安顿

##
在此例中,大家联入的是一台接入交流机,此互换机的gi0/1口上联至中央互换机。也就意味着大家需求陈设gi0/1为trunk口。具体的陈设如下:


D-2960-3(config)#int gi0/1

 Maven聚合即能够将七个子模块聚合在一块儿开展营造,继承即全数子模块均可以持续父模块的品质、倚重和插件等,可解除重复配置。

D-2960-3(config-if)#switchport mode
trunk      

Maven基础性的学识不在此赘述,本文中提到的Maven关键标签包涵:

##
配置此接口的方式为trunk,在cisoc2960沟通机中,配置完接口方式为trunk后就可以了,不需求越来越陈设此trunk口的卷入状态,因为其专擅认同的也是绝无仅有的封装类型就是dot1q,并且此种类交流机并不曾尤其的包装配置命令。

  • packaging:打包格局,常见的有jar(暗中同意)、war和pom等;
  • module:子模块表明
  • properties:属性,可定义重视报的本子号、定义有些插件的布署等;
  • dependencyManagement:倚重管理,具有正视管理的POM,即不会给父模块引入正视,也不会给子模块引入倚重。唯有子模块申明信赖的拔取(只需groupId和artifactId即可指明所用看重),才会引入倚重包。使用import范围依赖导入倚重管理配置暂不切磋;
  • pluginManagement:插件管理,与依靠管理类似,该因素的配备不会实际插件调用的一举一动,唯有当POM中正在布置相应的plugin成分才起效果;
  • repositories:用于注脚远程仓库,可以是私家仓库(可由nexus搭建)。全数POM文件都会延续Maven一流POM,其中饱含Maven中心仓库。
  • distributionManagement:安插管理,可配备到长途Maven仓库,辅助snapshotRepository和repository分别对应快照和平静版本。

 D-2960-3(config-if)#exit

举五个相比较常见的事例,假若某项目project包蕴多个模块,分别是:project_a、project_b、project_c,其文件结构如下,八个子模块与pom.xml在同一级,与父模块是父子目录结构:

D-2960-3(config)#exit

/project
    /project_a
    /project_b
    /project_c
    pom.xml

D-2960-3#sh int
tru                     #
退至特权配置方式验证一下方才的陈设

1. POM文件分析

 

父模块project

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3   <modelVersion>4.0.0</modelVersion>
 4   <groupId>com.test</groupId>
 5   <artifactId>project</artifactId>
 6   <version>0.0.1-SNAPSHOT</version>
 7   <packaging>pom</packaging>
 8   <modules>
 9     <module>project_a</module>
10     <module>project_b</module>
11     <module>project_c</module>
12   </modules>
13   
14   <properties>
15       <spring.version>4.3.1.RELEASE</spring.version>
16   </properties>
17   
18   <dependencyManagement>
19       <dependencies>
20           <dependency>
21             <groupId>org.springframework</groupId>
22             <artifactId>spring-aop</artifactId>
23             <version>${spring.version}</version>
24         </dependency>
25         ......
26         <dependency>
27             <groupId>org.springframework</groupId>
28             <artifactId>spring-core</artifactId>
29             <version>${spring.version}</version>
30         </dependency>
31       </dependencies>
32   </dependencyManagement>
33   
34   <build>
35       <pluginManagement>
36           <plugins>
37               <plugin>
38                 <groupId>org.apache.maven.plugins</groupId>
39                 <artifactId>maven-compiler-plugin</artifactId>
40                 <version>3.1</version>
41                 <configuration>
42                     <source>1.7</source>
43                     <target>1.7</target>
44                 </configuration>
45             </plugin>
46               ......
47               <plugin>
48                 <groupId>org.apache.maven.plugins</groupId>
49                 <artifactId>maven-surefire-plugin</artifactId>
50                 <version>2.12.4</version>
51                 <configuration>
52                     <skipTests>true</skipTests>
53                 </configuration>
54             </plugin>
55           </plugins>
56       </pluginManagement>
57   </build>
58   
59   <repositories>
60         <repository>
61             <id>nexus</id>
62             <name>maven repository</name>
63             <url>http://serverip:port/nexus/content/groups/public/</url>
64             <snapshots>
65                 <enabled>true</enabled>
66             </snapshots>
67             <releases>
68                 <enabled>true</enabled>
69             </releases>
70         </repository>
71     </repositories>
72     
73     <!-- 发布 构件 到 私服 -->
74     <distributionManagement>
75         <repository>
76             <id>nexus</id>
77             <name>releases</name>
78             <url>http://serverip:port/nexus/content/repositories/releases/</url>
79         </repository>
80 
81         <snapshotRepository>
82             <id>nexus</id>
83             <name>snapshots</name>
84             <url>http://serverip:port/nexus/content/repositories/snapshots/</url>
85         </snapshotRepository>
86     </distributionManagement>
87 </project>
  •  4-6行:申明该构件在Maven仓库中的唯一坐标;
  • 7行:
    打包方式为pom,起聚合作用的父模块必须评释为pom格局,否则营造失利;
  • 8-12行:聚合几个子模块project_a、project_b、project_c,逐个module的值代表当前POM的周旋目录,如若七个子模块与父模块是平行目录结构,则值应该为
    ../project_a
  • 14-16行:定义POM属性,其可由子模块继承,在此表明为spring版本号;
  • 18-32行:配置依赖管理,对工程不会引入正视,惟有真正注解对应倚重才会引入;
  • 34-57行:配置插件管理,同着重管理;
  • 59-71行:配置远程Maven仓库,必要在setting.xml中配备远程Maven仓库的用户名与密码等音讯,如下:



    nexus
    admin admin123

  •  74-86行:揭橥构件到私服配置,其他开发者可以拔取该构件

Port        Mode         Encapsulation  Status        Native vlan

子模块(project_a)

 1 <?xml version="1.0"?>
 2 <project
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
 4     xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 5     <modelVersion>4.0.0</modelVersion>
 6     <parent>
 7         <groupId>com.test</groupId>
 8         <artifactId>project</artifactId>
 9         <version>0.0.1-SNAPSHOT</version>
10     </parent>
11     <artifactId>project_a</artifactId>
12     <name>project_a</name>
13     
14     <dependencies>
15         <dependency>
16             <groupId>org.springframework</groupId>
17             <artifactId>spring-aop</artifactId>
18         </dependency>
19         ......
20         <dependency>
21             <groupId>org.springframework</groupId>
22             <artifactId>spring-core</artifactId>
23         </dependency>
24     </dependencies>
25     
26     <build>
27         <plugins>
28             <plugin>
29                 <groupId>org.apache.maven.plugins</groupId>
30                 <artifactId>maven-compiler-plugin</artifactId>
31             </plugin>
32               ......
33               <plugin>
34                 <groupId>org.apache.maven.plugins</groupId>
35                 <artifactId>maven-surefire-plugin</artifactId>
36             </plugin>
37         </plugins>
38     </build>
39 </project>
  •  6-10行:由parent成分申明该模块的父模块为project,其中省略了<relativePath>,该因素标识父模块POM的争论地点(由父模块与子模块的目录结构决定),暗许值为
    ../pom.xml,在本例子中为暗中同意值;
  • 11-12行:由于后续了父模块中的所有配置,此处只须求申明artifactId即可,groupId与version继承自父模块。name成分用于描述,在打造日志找那多少个将显示该名;
  • 14-24行:真正表明所需依靠,会为该模块引入对应依赖,只需groupId和artifactId;
  • 26-38行:真正讲明所需插件,也只需groupId和artifactId;

Gi0/1       auto         802.1q         trunking     
1                   

2. 创设顺序

在对工程只需 mvn clean
install等一声令下的时候,Maven会首先分析聚合模块的POM、分析要营造的模块、并总括出三个反应堆营造顺序(Reactor
Build
Order),然后依据那个顺序依次打造模块。其中反应堆是负有模块组成的三个营造结构,包罗各模块之间的后续与依靠关系,总计合理的模块打造顺序。(模块创设具体经历过什么进度,可学习Maven中的生命周期)。

即使几个模块之间存在一定的依靠关系,如图:

管理 1

本工程的创设顺序如下,聚合模块project、project_a、project_c、project_b:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] project
[INFO] project_a
[INFO] project_c
[INFO] project_b
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------

 还足以因而命令行对反应堆举行裁剪,包含:

  • -am, –also-make 同时打造所列模块的看重性模块
  • -amd, –also-make-dependents 同时创设倚重于所列模块的模块
  • -pl, –projects <arg> 营造钦命的模块,模块间用逗号分隔
  • -rf,-resume-form <arg> 从钦点模块开首构建

举例:mvn clean install -pl project_a,project_b

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] project_a
[INFO] project_b
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------

 mvn clean install -pl project_a -am

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] project
[INFO] project_a
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------

 mvn clean install -pl project_a -amd

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] project_a
[INFO] project_c
[INFO] project_b
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------

 mvn clean install -pl project_a -amd -rf project_c

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] project_c
[INFO] project_b
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------

#
那个端口已经配备成trunk格局,并且封装成802.1q了

3. 可选用性安插

在父模块中声称了distributionManagement,在执行 mvn
deploy的时候,会将装有的模块布置到长途服务器上。如何成功有选拔性的的部署呢?比如不想将project_a陈设到Maven仓库,有两种办法:

(1)在properties成分中扬言 maven.deploy.skip

  在project_a模块的POM文件中添加如下配置:

<properties>
      <maven.deploy.skip>true</maven.deploy.skip>
</properties>

 (2)注解子模块插件,覆盖父模块插件

在project_a模块的POM文件中,添加属于本人的安排插件:

<plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-deploy-plugin</artifactId>
       <version>2.4</version>
       <configuration>
            <skip>true</skip>
       </configuration>
 </plugin>

注意
在安排的时候,不想将父POM工程安插到长途仓库,此时如何做?须要小心的是只要在父POM中表明跳过安排,则拥有子POM工程继续该属性而跳过计划。消除方案:父POM申明跳过安插,子POM覆盖该属性,注解为false。

Port        Vlans allowed on trunk

总结

  • POM的集结与持续,前者方便飞速营造项目,后者可以防去重复配置;
  • 除却本文举的例证,可以在聚集模块任意文件夹什么父模块,只须要变更module和relativePath的相对路径即可;
  • 据悉反应堆对各模块间依赖关系的一个钱打二15个结,形成合理的构建顺序,并得以对营造顺序举办裁剪;
  • 可以通过插件属性配置,已毕模块可选用的布置;

Gi0/1       1-4094

参考:

 

Port        Vlans allowed and active in management domain

Gi0/1       1-2,10,20,30,40,50,60,70,80,100,110,120,150,160

 

Port        Vlans in spanning tree forwarding state and not pruned

Gi0/1       1-2,10,20,30,40,50,60,70,80,100,110,120,150,160

 

D-2960-3#conf t                                             
       # 进入到全局配置格局

 

D-2960-3(config)#vtp mode client
           

#
配置vtp格局为client,与主导互换机的server情势相对应。

D-2960-3(config)#vtp domain
pjoe            

#
配置vtp域为pjoe,只有2个域中的交流机才能互传vlan新闻。

D-2960-3(config)#vtp password pjoeserver 
              # 配置vtp密码

D-2960-3(config)#end

 

D-2960-3#sh vtp status
                             #
退出到特权方式验证一下方才的有关vtp的布局

VTP Version                       : 2

Configuration Revision                : 23

Maximum VLANs supported locally    : 255

Number of existing VLANs           : 19

VTP Operating Mode              : Client            # 形式已经设置成client

VTP Domain Name                 : pjoe             # 域名曾经设置成pjoe

VTP Pruning Mode                : Disabled

VTP V2 Mode                     : Disabled

VTP Traps Generation                : Disabled

MD5 digest                      : 0xEC 0x30 0xEF 0x6F 0xA5 0x9A 0x39
0x7B

#
密码已经配备完结,不过被加密显示了

Configuration last modified by 192.168.113.254 at 12-3-07 22:58:54

 

##稍等一会后,验证一下是还是不是学习到了基本交流机的vlan音信,它的就学有一小段的长河30秒的规范。

 

D-2960-3#sh vlan                                                   
# 验证一下vlan消息是不是全部学到。

 

管理 2管理 3

VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

1    default                                active    Fa0/1, Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6, Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11,Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17, Fa0/18, Fa0/19, Fa0/20, Fa0/21,Fa0/22, Fa0/23, Fa0/24, Fa0/25, Fa0/26, Fa0/27, Fa0/28, Fa0/29, Fa0/30, Fa0/31,Fa0/32, Fa0/33, Fa0/34, Fa0/35, Fa0/36, Fa0/37, Fa0/38, Fa0/39, Fa0/40, Fa0/41,a0/42, Fa0/43, Fa0/44, Fa0/45, Fa0/46, Fa0/47, Fa0/48, Gi0/2

2    firewall                                active   

# ok,核心交换机上配置好的vlan信息已经被这台交换机学习到了,剩下的工作仅需要将相应的端口添加到相应的vlan中就可以了,此处不赘述。   

10   Engineering                            active     

20   Procurement                           active   

30   QAQC                             active   

40   Operation                             active   

50   Yard                                 active   

60   BM                                 active   

70   HRAD                             active   

80   Facility                                active   

100  Finance                               active   

110  GO                                 active   

120  Wlan                                active   

150  Server                                active   

160  Client                                 active   

1002 fddi-default                              act/unsup

1003 token-ring-default                         act/unsup

1004 fddinet-default                            act/unsup

1005 trnet-default                              act/unsup



VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2

---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------

1    enet  100001     1500  -      -      -        -    -        0      0  

2    enet  100002     1500  -      -      -        -    -        0      0  

10   enet  100010     1500  -      -      -        -    -        0      0  

20   enet  100020     1500  -      -      -        -    -        0      0  

30   enet  100030     1500  -      -      -        -    -        0      0  

40   enet  100040     1500  -      -      -        -    -        0      0  

50   enet  100050     1500  -      -      -        -    -        0      0  

60   enet  100060     1500  -      -      -        -    -        0      0  

70   enet  100070     1500  -      -      -        -    -        0      0  

80   enet  100080     1500  -      -      -        -    -        0      0  

100  enet  100100     1500  -      -      -        -    -        0      0  

110  enet  100110     1500  -      -      -        -    -        0      0  

120  enet  100120     1500  -      -      -        -    -        0      0  

150  enet  100150     1500  -      -      -        -    -        0      0  

160  enet  100160     1500  -      -      -        -    -        0      0  

1002 fddi  101002     1500  -      -      -        -    -        0      0

View Code

 

D-2960-3#

# 配置那台互换机的管住IP

D-2960-3(config)#int vlan 1 
                                          # 管理ip地址大家安排在vlan1上

D-2960-3(config-if)#ip address
192.168.113.222 255.255.255.0 #
设置实际的ip地址

D-2960-3(config-if)#exit

D-2960-3(config)#ip default-gateway
192.168.113.254     #
设置那台交流机的网关,此地点即为核心沟通机vlan1的地方。

 D-2960-3(config)#end

D-2960-3#sh run                  #
验证一下完完全全的布署。

管理 4管理 5

Building configuration...



Current configuration : 2087 bytes

!

version 12.2

no service pad

service timestamps debug uptime

service timestamps log uptime

service password-encryption

!

hostname D-2960-3

!

enable password 7 12090F18170805172924

!

no aaa new-model

system mtu routing 1500

ip subnet-zero

!

no file verify auto

spanning-tree mode pvst

spanning-tree extend system-id

!

vlan internal allocation policy ascending

!

interface FastEthernet0/1

!

interface FastEthernet0/2

!

interface FastEthernet0/3

!

(省略… …)

interface FastEthernet0/45

!

interface FastEthernet0/46

!

interface FastEthernet0/47

!

interface FastEthernet0/48

!

interface GigabitEthernet0/1

!

interface GigabitEthernet0/2

!

interface Vlan1

 ip address 192.168.113.222 255.255.255.0

 no ip route-cache

!

ip default-gateway 192.168.113.254

ip http server

!

control-plane

!

!

line con 0

 password 7 12090F18170805172924

line vty 0 4

 password 7 12090F18170805172924

 login

line vty 5 15

 login

!

end

View Code

 

D-2960-3#  

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注