路由交换技术综合
1、拓扑图和IP地址规划:
目标实现全网互通和服务器的访问
2、第一步添加vlan
Vlan的目的是为了防止整个区域的广播风暴,vlan限制了广播风暴的传播范围,只允许在同一vlan下传播广播风暴
[SW1]vlan batch 10 20 30
Info: This operation may take a few seconds. Please wait for a moment...done.(Info:…显示为添加成功)
[SW2]vlan batch 10 20 30
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW3]vlan batch 10 20 30
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW4]vlan batch 10 20 30
Info: This operation may take a few seconds. Please wait for a moment...done.
4台交换机添加vlan后给每个接口打上vlan标签
注:交换机与交换机之间打trunk标签,而主机和交换机之间打上access标签
PC1:
[SW3]interface Ethernet 0/0/1 #进入对应接口给PC1打上vlan10标签
[SW3-Ethernet0/0/1]port link-type access
[SW3-Ethernet0/0/1]port default vlan 10 #打上vlan10
[SW3-Ethernet0/0/1]q #退出
PC2:
[SW3]interface Ethernet 0/0/2
[SW3-Ethernet0/0/2]port link-type access
[SW3-Ethernet0/0/2] port default vlan 20
[SW3-Ethernet0/0/2]q
PC3:
[SW3]interface Ethernet 0/0/3
[SW3-Ethernet0/0/3]port link-type access
[SW3-Ethernet0/0/3]port default vlan 30
[SW3-Ethernet0/0/3]q
因为Ethernet 0/0/4和Ethernet 0/0/5与交换机相连所以这两个端口应该打上trunk标签,并且允许通过vlan 10 20 30
Ethernet 0/0/4:
[SW3]interface Ethernet 0/0/4 #进入对应端口
[SW3-Ethernet0/0/4]port link-type trunk #打上trunk标签
[SW3-port-group-trunk]port trunk allow-pass vlan 10 20 30 #允许通过vlan 10 20 30
[SW3-port-group-trunk]q #退出
Ethernet 0/0/5同理:
[SW3]interface Ethernet 0/0/5
[SW3-Ethernet0/0/5]port link-type trunk
[SW3-Ethernet0/0/5]port trunk allow-pass vlan 10 20 30
LSW4一样的操作:
[SW4]interface Ethernet 0/0/1
[SW4-Ethernet0/0/1]port link-type access
[SW4-Ethernet0/0/1]port default vlan 10
[SW4-Ethernet0/0/1]q
[SW4]interface Ethernet 0/0/2
[SW4-Ethernet0/0/2]port link-type access
[SW4-Ethernet0/0/2]port default vlan 20
[SW4-Ethernet0/0/2]q
[SW4]interface Ethernet 0/0/3
[SW4-Ethernet0/0/3]port link-type access
[SW4-Ethernet0/0/3]port default vlan 30
[SW4-Ethernet0/0/3]q
[SW4]interface Ethernet 0/0/4
[SW4-Ethernet0/0/4]port link-type trunk
[SW4-Ethernet0/0/4]port trunk allow-pass vlan 10 20 30
[SW4-Ethernet0/0/4]q
[SW4]interface Ethernet 0/0/5
[SW4-Ethernet0/0/5]port link-type trunk
[SW4-Ethernet0/0/5]port trunk allow-pass vlan 10 20 30
[SW4-Ethernet0/0/5]q
在LSW1和LSW2中也要配置vlan的trunk口,因为在LSW1和LSW2之间有三个线连接着不能单独配置,会出现环路等情况所以将这三个先做链路聚合
链路聚合:两个及以上的多个线路当作一条先路来使用,这样这一段的线路的速率和带宽都会增加(注:聚合链路的链接的线需要完全一致,如传输速率、协议等,如不同无法链路聚合)
规划:将GE0/0/1和GE0/0/2做为主链路,GE0/0/6作为备份链路
备份链路:当主力链路有一条出现问题,备份链路则会启动顶替出现问题的哪一条链路
LSW1:
[SW1]interface Eth-Trunk 1 #后面数字可以更改
[SW1-Eth-Trunk1]mode lacp-static #更改为手动的链路聚合
[SW1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 0/0/2 0/0/6 #将三个链路添加到聚合组中
[SW1-Eth-Trunk1]max active-linknumber 2 #设置最大活动链路为2条
[SW1-Eth-Trunk1]q
[SW1]lacp priority 100 #设置lacp优先级将交换机SW1为主动端
#将GE0/0/1和GE0/0/2为主链路而GE0/0/6为备份链路(priority越小越优)
[SW1]interface GigabitEthernet 0/0/1 #进入端口
[SW1-GigabitEthernet0/0/1]lacp priority 100 #设置值为100,默认为30000左右
[SW1-GigabitEthernet0/0/1]q
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]lacp priority 100
[SW1-GigabitEthernet0/0/2]q
LSW2也需要聚合:
[SW2]int Eth-Trunk 1
[SW2-Eth-Trunk1]mode lacp-static
[SW2-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 0/0/2 0/0/6
[SW2-Eth-Trunk1]max active-linknumber 2
#因为主动端已经设置了哪两个是主链路和备份链路所以被动端不需要设置
查看是否聚合成功:
发现聚合已经成功了,以后这两个线的姓名字是Eth-Trunk 1
LSW1和LSW2给除GE0/0/3打上trunk标签:
SW1:
[SW1]interface Eth-Trunk 1
[SW1-Eth-Trunk1]port link-type trunk
[SW1-Eth-Trunk1]port trunk allow-pass vlan 10 20 30
[SW1-Eth-Trunk1]q
[SW1]int GigabitEthernet 0/0/4
[SW1-GigabitEthernet0/0/4]port link-type trunk
[SW1-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20 30
[SW1-GigabitEthernet0/0/4]q
[SW1]interface GigabitEthernet 0/0/5
[SW1-GigabitEthernet0/0/5]port link-type trunk
[SW1-GigabitEthernet0/0/5]port trunk allow-pass vlan 10 20 30
[SW1-GigabitEthernet0/0/5]q
SW2:
[SW2]interface Eth-Trunk 1
[SW2-Eth-Trunk1]port link-type trunk
[SW2-Eth-Trunk1]port trunk allow-pass vlan 10 20 30
[SW2-Eth-Trunk1]q
[SW2]interface GigabitEthernet 0/0/4
[SW2-GigabitEthernet0/0/4]port link-type trunk
[SW2-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20 30
[SW2-GigabitEthernet0/0/4]q
[SW2]interface GigabitEthernet 0/0/5
[SW2-GigabitEthernet0/0/5]port link-type trunk
[SW2-GigabitEthernet0/0/5]port trunk allow-pass vlan 10 20 30
[SW2-GigabitEthernet0/0/5]q
查看:dis vlan
配置mstp
目的:是为了交换机之间防止环路的发生
原理:mstp和树一样有一个根交换机负责转发和转递消息,其他交换机会计算到这个交换机的最优路径,如:
当某一台交换机发送消息是其余两台则都会转发,这个消息会在这些交换机之间不停的转发,造成环路,如开启mstp服务,他们直接会通过mac地址等选举根交换机,如1号交换机为根交换机2号和3号交换机会计算到1号交换机的最优路径,比如二号交换机到1号交换机的最优路径为:
而另外一条:
则不是最优路径,2号会拒绝和发送GE1/0/0端口的信息3号也是同理
而mstp可以有多个valn之间不同的根,在mstp中可以设置MSTI来设置不同的vlan之间的根,如:
可以是不同vlan之间mstp有不同的根交换机,时网络利用率更充分也让不同vlan之间更快的通信
交换机之间的mstp必须在同一个mstp名称里面
配置要求:
在SW1、SW2、 SW3、SW4上开启MSTP,并配置MSTI 10 和MSTI 20。将VLAN 10和VLAN 30映射到MSTI 10, VLAN20映射到 MSTI 20。
[SW1]stp mode mstp #开启mstp
[SW2]stp mode mstp
[SW3]stp mode mstp
[SW4]stp mode mstp
SW1编辑区域:
[SW1]stp region-configuration #进入mstp的编辑界面
[SW1-mst-region]region-name g1 #为这个mstp的大区域取名字
[SW1-mst-region]instance 10 vlan 10 30 #给一个MSTI将valn加入到里面
[SW1-mst-region]instance 20 vlan 20 #给第二个MSTI将vlan加入
[SW1-mst-region]active region-configuration #激活MSTI
[SW1-mst-region]q
SW2编辑区域:
[SW2]stp region-configuration
[SW2-mst-region]region-name g1 #必须为一个名字,不然为认为不在一个大区域
[SW2-mst-region]instance 10 vlan 10 30
[SW2-mst-region]instance 20 vlan 20
[SW2-mst-region]active region-configuration
[SW2-mst-region]q
SW3编辑区域:
[SW3]stp region-configuration
[SW3-mst-region]region-name g1
[SW3-mst-region]instance 10 vlan 10 30
[SW3-mst-region]instance 20 vlan 20
[SW3-mst-region]active region-configuration
[SW3-mst-region]q
SW4编辑区域:
[SW4]stp region-configuration
[SW4-mst-region]region-name g1
[SW4-mst-region]instance 10 vlan 10 30
[SW4-mst-region]instance 20 vlan 20
[SW4-mst-region]active region-configuration
[SW4-mst-region]q
查看:dis stp br
在SW1、SW2上配置生成树优先级,使SW1在MSTI 10中为根桥、在MSTI 20中为备份根桥,SW2在MSTI 20中为根桥、在MSTI 10中为备份根桥。
[SW1]stp instance 10 root primary #指定此交换机是MSTI10的根交换机
[SW1]stp instance 20 root secondary 指定此交换机是MSTI20的备份根机
[SW2]stp instance 20 root primary
[SW2]stp instance 10 root secondary
配置vlanif实现不同的vlan之间的互相通信,与路由器很像
SW1配置:
[SW1]interface Vlanif 10 #进入vlan
[SW1-Vlanif10]ip address 10.68.1.100 24 #配置ip
[SW1-Vlanif10]q #退出
[SW1]interface Vlanif 20
[SW1-Vlanif20]ip address 10.68.2.100 24
[SW1-Vlanif20]q
[SW1]interface Vlanif 30
[SW1-Vlanif30]ip address 10.68.3.100 24
[SW1-Vlanif30]q
SW2配置:
[SW2]interface Vlanif 10
[SW2-Vlanif10]ip address 10.68.1.101 24
[SW2-Vlanif10]q
[SW2]interface Vlanif 20
[SW2-Vlanif20]ip address 10.68.2.101 24
[SW2-Vlanif20]q
[SW2]interface Vlanif 30
[SW2-Vlanif30]ip address 10.68.3.101 24
[SW2-Vlanif30]q
配置vrrp:
Vrrp原理:将两个或多个当作一个路由器,当有一条路由出现故障时另外一条会顶替出现故障的哪一条,保障数据的传输。两个和多个路由和他们的IP地址会被虚拟成一个路由和一个IP地址(IP地址可以自己定义),完成后可以将两个当作一个路由进行使用
目的:将SW1和SW2的vlan10、vlan20、vlan30,配置vrrp,这个不管是哪个出现故障都可以让整个网络正常工作
Vlanif10:
[SW1]interface Vlanif 10 #进入对应的接口
[SW1-Vlanif10]vrrp vrid 1 virtual-ip 10.68.1.1 #加入到vrrp组1并且虚拟的IP为10.68.1.1
[SW1-Vlanif10]q
[SW2]interface Vlanif 10
[SW2-Vlanif10]vrrp vrid 1 virtual-ip 10.68.1.1
[SW2-Vlanif10]q
Vlanif20:
[SW1]interface Vlanif 20
[SW1-Vlanif20]vrrp vrid 2 virtual-ip 10.68.2.1
[SW1-Vlanif20]q
[SW2]interface Vlanif 20
[SW2-Vlanif20]vrrp vrid 2 virtual-ip 10.68.2.1
[SW2-Vlanif20]q
Vlanif30:
[SW1]interface Vlanif 30
[SW1-Vlanif30]vrrp vrid 3 virtual-ip 10.68.3.1
[SW1-Vlanif30]q
[SW2]interface Vlanif 30
[SW2-Vlanif30]vrrp vrid 3 virtual-ip 10.68.3.1
[SW2-Vlanif30]q
修改优先级,因为SW1是主链路接收信息只有在SW1出现故障时SW2才会运行,但是有了mstp的缘故使用vlan20不能之间去SW1需要SW2转发,这个就导致了传输的效率的降低,所以将vlan20的主链路更改为SW2就而valn10和30还是SW1这样就vlan20直接被SW2接收不需要在传递到SW1
注:值越大越优
SW1:
[SW1]interface Vlanif 10
[SW1-Vlanif10]vrrp vrid 1 priority 150 #更改值为150
[SW1-Vlanif10]q
[SW1]interface Vlanif 20
[SW1-Vlanif20]vrrp vrid 2 priority 100
[SW1-Vlanif20]q
[SW1]interface Vlanif 30
[SW1-Vlanif30]vrrp vrid 3 priority 150
[SW1-Vlanif30]q
SW2:
[SW2]interface Vlanif 10
[SW2-Vlanif10]vrrp vrid 1 priority 100
[SW2-Vlanif10]q
[SW2]interface Vlanif 20
[SW2-Vlanif20]vrrp vrid 2 priority 150
[SW2-Vlanif20]q
[SW2]interface Vlanif 30
[SW2-Vlanif30]vrrp vrid 3 priority 100
[SW2-Vlanif30]q
查看:
SW1:
Sw1:
可以看到vlan10和30的网关为SW1,vlan20的网关为SW2
Ospf配置
原理:自动寻找最短路径去往目标网段。
因为三层交换机的端口是二层的协议,所以无法直接配置IP,可以通vlanif配置ip后再将这个线加入都vlan中打入access标签,就可以通信了,
所以:
这个端口为vlan40
因为都为同一网段所以这两个端口都是vlan50端口
SW1:
[SW1]vlan batch 40 #添加valn40
[SW1]interface Vlanif 40 #进入端口
[SW1-Vlanif40]ip address 10.68.4.2 24 #配置ip
[SW1-Vlanif40]q
[SW1]int GigabitEthernet 0/0/3 #进入对应接口打上标签
[SW1-GigabitEthernet0/0/3]port link-type access #打上access标签
[SW1-GigabitEthernet0/0/3]port default vlan 40 #加入到vlan40
[SW1-GigabitEthernet0/0/3]q
SW2:
[SW2]vlan batch 50
[SW2]interface Vlanif 50
[SW2-Vlanif50]ip address 10.68.5.2 24
[SW2-Vlanif50]q
[SW2]int GigabitEthernet 0/0/7
[SW2-GigabitEthernet0/0/7]port link-type access
[SW2-GigabitEthernet0/0/7]port default vlan 50
[SW2-GigabitEthernet0/0/7]q
[SW2]int GigabitEthernet 0/0/3
[SW2-GigabitEthernet0/0/3]port link-type access
[SW2-GigabitEthernet0/0/3]port default vlan 50
[SW2-GigabitEthernet0/0/3]q
Ping对端的IP:
配置成功
配置ospf:
AR1:
[R1]ospf 1 router-id 1.1.1.1 #配置ospf名称和id号
[R1-ospf-1]area 0 #配置区域
[R1-ospf-1-area-0.0.0.0]network 10.68.4.0 0.0.0.255 #宣告直连连接的网段
[R1-ospf-1-area-0.0.0.0]network 10.68.5.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 202.68.1.0 0.0.0.255
SW1:
[SW1]ospf 1 router-id 2.2.2.2
[SW1-ospf-1]area 0
[SW1-ospf-1-area-0.0.0.0]network 10.68.1.0 0.0.0.255
[SW1-ospf-1-area-0.0.0.0]network 10.68.2.0 0.0.0.255
[SW1-ospf-1-area-0.0.0.0]network 10.68.3.0 0.0.0.255
[SW1-ospf-1-area-0.0.0.0]network 10.68.4.0 0.0.0.255
SW2:
[SW2]ospf 1 router-id 3.3.3.3
[SW2-ospf-1]area 0
[SW2-ospf-1-area-0.0.0.0]network 10.68.1.0 0.0.0.255
[SW2-ospf-1-area-0.0.0.0]network 10.68.2.0 0.0.0.255
[SW2-ospf-1-area-0.0.0.0]network 10.68.3.0 0.0.0.255
[SW2-ospf-1-area-0.0.0.0]network 10.68.5.0 0.0.0.255
配置DHCP:
DHCP原理:客户机请求IP,服务器会从自己的DHCP地址池分配一给IP给到客户机
要求:
在AR1上配置DHCP Server,为VLAN30内的用户动态分配IP地址。要求采用地址池方式,dns地址为8.8.8.8,分配地址范围为10.1.3.111~10.1.3.254
在SW1/SW2上配置DHCP中继
注:在华为的设备上不能直接给单独的vlan分配DHCP,但是中继是可以单独给某一个vlan配置中继:
AR1配置DHCP:
[R1]dhcp enable #开启dhcp
[R1]ip pool a #开启dhcp编辑并取名为a
[R1-ip-pool-a]network 10.68.3.0 mask 255.255.255.0 #地址池和网段
[R1-ip-pool-a]gateway-list 10.68.3.1 #配置网关
[R1-ip-pool-a]dns-list 8.8.8.8 #配置dns
[R1-ip-pool-a]excluded-ip-address 10.68.3.2 10.68.3.110 #不参与自动分配的地址范围
[R1-ip-pool-a]q
#选则哪些端口可以请求DHCP
[R1]interface GigabitEthernet 0/0/0 #进入端口
[R1-GigabitEthernet0/0/0]dhcp select global #DHCP启用分配
[R1-GigabitEthernet0/0/0]q
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]dhcp select global
[R1-GigabitEthernet0/0/1]q
配置DHCP中继:
SW1:
[SW1]dhcp enable #开启dhcp
[SW1]interface Vlanif 30 #选则需要配置的端口或者vlan
[SW1-Vlanif30]dhcp select relay #开启DHCP中继
[SW1-Vlanif30]dhcp relay server-ip 10.68.4.1 #选则DHCP服务器ip如:
[SW1-Vlanif30]q
SW2:
[SW2]dhcp enable
[SW2]interface vlanif 30
[SW2-Vlanif30]dhcp select relay
[SW2-Vlanif30]dhcp relay server-ip 10.68.5.1
[SW2-Vlanif30]q
查看vlan30下的客户机是否可以获得dhcp:
成功获得ip
Ospf路由下发:
路由器AR1和三层交换机SW1和SW2要将详细转发到11.68.1.0网段需要一个路由表信息,如果没有会将这个报丢弃,可以给他们添加默认路由,但是一条条添加过于麻烦 可以只让AR1添加默认路由后通过ospf下发给其他的机器:
[R1]ip route-static 0.0.0.0 0.0.0.0 202.68.1.2 #添加默认路由
[R1]ospf 1 #进入ospf
[R1-ospf-1]default-route-advertise #下发默认路由
[R1-ospf-1]q
AR1与AR2做chap认证
要求:在AR1、AR2上配置PPP协议,并开启CHAP认证,要求AR2为服务器端、AR1为客户端。
首先在AR1上开启debug命令:<R1>debug ppp all
然后在AR2上 先后 关闭(shutdown)和开启(undo shutdown)Serial 1/0/0接口
将AR1接口上的debug结果截图
AR2:
[R2]aaa #进入aaa认证
[R2-aaa]local-user wu password cipher huawei #设置账号为wu 密码为huawei
[R2-aaa]local-user wu service-type ppp #认证类型为ppp协议
[R2-aaa]q
[R2]interface Serial 1/0/0 #进入要认证的端口
[R2-Serial1/0/0]link-protocol ppp #链路类型为ppp
[R2-Serial1/0/0]ppp authentication-mode chap #认证模式为chap
AR1:
[R1]interface Serial 1/0/0 #进入认证端口
[R1-Serial1/0/0]link-protocol ppp #链路类型为ppp
[R1-Serial1/0/0]ppp chap user wu #认证账号
[R1-Serial1/0/0]ppp chap password cipher huawei #认证密码
[R1-Serial1/0/0]q
[R1]q
<R1>debug ppp all
AR2:
[R2]int Serial 1/0/0
[R2-Serial1/0/0]shutdown
[R2-Serial1/0/0]undo shutdown
配制NAT:
NAT原理:将局域网内的私有地址转换为公有地址访问外网
要求:
1、在AR1上配置NAPT,使内网的用户复用公网IP地址202.68.1.10访问外网
2、在AR1上配置Nat Server,使公网用户可以访问内网WWW服务器10.68.5.100
- AR1:
[R1]nat address-group 0 202.68.1.10 202.68.1.10 #配置nat转换的地址
[R1]acl 2000 #配置acl规则
[R1-acl-basic-2000]rule permit source any #允许通过所以的ip
[R1-acl-basic-2000]q
[R1]interface Serial 1/0/0 #进入地址转换的端口
[R1-Serial1/0/0]nat outbound 2000 address-group 0 #配置地址转换
[R1-Serial1/0/0]q
实验是否配置成功
配置成功,正常AR2没有配置默认路由是不知道10.68.1.0网段是无法ping通的
2、AR1:
因为外网的AR2路由器没有到内网的网段的路径(路由表)所以无法ping通内网ip但是可以找到AR2路由对端的路由AR1端口ip 202.68.1.1,所以当访问202.68.1.3是访问内网的10.68.5.100的服务器
[R1]interface Serial 1/0/0 #进入地址转换的端口
[R1-Serial1/0/0]nat server global 202.68.1.3 inside 10.68.5.100 #配置nat
[R1-Serial1/0/0]q
配置acl
Acl:限制网段和另外一个网段之间的通信规则
要求:AR1上配置ACL,使VLAN10内的用户只能通过HTTP访问外网,其他访问不受控制。
AR1:
[R1]acl 3000
[R1-acl-adv-3000]rule permit tcp source10.68.1.00.0.0.255destination-port eq www #允许源地址为10.68.1.0的网段,且目标地址是tcp为www的数据包通过
[R1-acl-adv-3000]rule deny ip source 10.68.1.0 0.0.0.255 #不允许源地址是10.68.1.0网段通过
[R1-acl-adv-3000]rule permit ip #允许通过所有ip
[R1]interface Serial 1/0/0 #进入端口
[R1]undo nat outbound 2000 address-group 0 #将之前的规则和nat删除
[R1]nat outbound 3000 address-group 0 #写入新的规则和nat
[R1-Serial1/0/0]q
[R1]undo acl 2000 #删除旧的acl
配置SSH:
原理:可以远程登录到这个设备,远程操作设备
要求:在SW1/SW2上开启SSH服务,使管理员可以通过SSH远程登录到SW1和SW2
SW1:
[SW1]dsa local-key-pair create #生成公钥私钥密钥对
Please input the modulus [default=512]:2048 #数值为2048
[SW1]aaa #进入aaa配置账号密码
[SW1-aaa]local-user wu password cipher huawei #账号为wu密码为huawei
[SW1-aaa]local-user wu privilege level 15 #登录后用户的操作等级0-15(此为实验所以给最大权限)
[SW1-aaa]local-user wu service-type ssh #类型为ssh登录
[SW1-aaa]q
[SW1]ssh user wu authentication-type password #认证模式为允许为密码(不输入登陆时不然输入密码)
[SW1]stelnet server enable #启用stelnet服务
[SW1]ssh user wu service-type stelnet #登录类型为stelnet
[SW1]user-interface vty 0 4 #开启端口认证
[SW1-ui-vty0-4]authentication-mode aaa #认证模式为aaa
[SW1-ui-vty0-4]protocol inbound ssh #用于ssh登录
[SW1-ui-vty0-4]q
SW2:
[SW2]dsa local-key-pair create
Please input the modulus [default=512]:2048
[SW2]aaa
[SW2-aaa]local-user wu password cipher huawei
[SW2-aaa]local-user wu privilege level 15
[SW2-aaa]local-user wu service-type ssh
[SW2-aaa]q
[SW2]ssh user wu authentication-type password
[SW2]stelnet server enable
[SW2]ssh user wu service-type stelnet
[SW2]user-interface vty 0 4
[SW2-ui-vty0-4]authentication-mode aaa
[SW2-ui-vty0-4]protocol inbound ssh
[SW2-ui-vty0-4]q
SSH登录结果
SW1:
SW2: