网管最后的倔强——你要上网可以,但是走哪条链路由我说了算

作为一名合格的网管,除了修得了电脑,还要换得了灯泡;除了能折腾服务器,还得做好物业服务,要么擅长通下水道,要么会修中央空调。

但是,千万别说网管没脾气,他们也有倔强的时候,比如说,你想要上网,那没问题,但是走哪条链路(上高速还是走国道),那就是网管说了算。

网管最后的倔强——你要上网可以,但是走哪条链路由我说了算

如上图所示,公司有两条外部网络链,其中,左边一条是高速链路,网关为10.1.10.1/24;右边一条是低速链路,网关为10.1.20.1/24。

公司局域网有两个网段192.168.1.0/24和192.168.2.0/24。192.168.1.0/24网段主要是技术部、市场部,对链路带宽要求比较高,所以网管决定该网段走高速链路出去;剩余的192.168.2.0/24网段主要用作行政部、财务部上网,所以只能走低速链路出去。

配置思路:

通过redirect ip-nexthop命令确定主备链路——配置的第一个下一跳IP地址所在的链路作为主链路,其它链路作为备用链路。当主用链路Down掉之后,则自动选取优先级高的下一跳作为新的主链路。

配置过程:

  1. SW2的配置:
<HUAWEI> system-view

[HUAWEI] sysname Sw2

[Sw2] vlan batch 10 20 //创建VLAN,vlan1默认存在,不必创建

[Sw2]dhcp enable

[Sw2]dhcp snooping enable

配置Sw2各接口的所属VLAN,连接终端PC的接口配置为Access类型,连接Sw1的接口配置为Trunk类型:

[Sw2] interface gigabitethernet 0/0/1

[Sw2-GigabitEthernet0/0/1] port link-type access

[Sw2-GigabitEthernet0/0/1] port default vlan 10

[Sw2-GigabitEthernet0/0/1] quit

[Sw2] interface gigabitethernet 0/0/2

[Sw2-GigabitEthernet0/0/2] port link-type access

[Sw2-GigabitEthernet0/0/2] port default vlan 20

[Sw2-GigabitEthernet0/0/2] quit

[Sw2] interface gigabitethernet 0/0/3

[Sw2-GigabitEthernet0/0/3] port link-type trunk

[Sw2-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20

[Sw2-GigabitEthernet0/0/3]dhcp snooping trusted

[Sw2-GigabitEthernet0/0/3] quit

SW1的配置:

# 在Sw1上创建VLAN10、VLAN20、VLAN100、VLAN200。

<HUAWEI> system-view

[HUAWEI] sysname Sw1

[Sw1] vlan batch 10 20 100 200

# 配置Sw1各接口的所属VLAN,连接Sw1A的接口配置为Trunk类型,连接外部网络设备的接口配置为Access类型。

[Sw1] interface gigabitethernet 0/0/1

[Sw1-GigabitEthernet0/0/1] port link-type access

[Sw1-GigabitEthernet0/0/1] port default vlan 10

[Sw1-GigabitEthernet0/0/1] quit

[Sw1] interface gigabitethernet 0/0/2

[Sw1-GigabitEthernet0/0/2] port link-type access

[Sw1-GigabitEthernet0/0/2] port default vlan 20

[Sw1-GigabitEthernet0/0/2] quit

[Sw1] interface gigabitethernet 0/0/3

[Sw1-GigabitEthernet0/0/3] port link-type trunk

[Sw1-GigabitEthernet0/0/3] port trunk allow-pass vlan 1 2

[Sw1-GigabitEthernet0/0/3] quit

# 在Sw1上配置VLANIF10和VLANIF20作为用户网关,并配置IP地址分别为192.168.1.1/24和192.168.2.1/24。

[Sw1] interface vlanif 1

[Sw1-Vlanif10] ip address 192.168.1.1 24

[Sw1-Vlanif10] quit

[Sw1] interface vlanif 2

[Sw1-Vlanif20] ip address 192.168.2.1 24

[Sw1-Vlanif20] quit

# 在Sw1上配置VLANIF10和VLANIF20用于和外部网络设备互联,并配置相应的IP地址。

[Sw1] interface vlanif 10

[Sw1-Vlanif10] ip address 192.168.10.2 24

[Sw1-Vlanif10] quit

[Sw1] interface vlanif 20

[Sw1-Vlanif20] ip address 192.168.20.2 24

[Sw1-Vlanif20] quit

#创建两个DHCP地址池

ip pool vlan1

gateway-list 192.168.1.1

network 192.168.1.0 mask 255.255.255.0

excluded-ip-address 192.168.1.2 192.168.1.10

dns-list 114.114.114.114

#

ip pool vlan2

gateway-list 192.168.2.1

network 192.168.2.0 mask 255.255.255.0

excluded-ip-address 192.168.2.2 192.168.2.10

dns-list 114.114.114.114

# 在Sw1上配置两条缺省路由,下一跳分别指向两个外部网络设备。

[Sw1] ip route-static 0.0.0.0 0 192.168.10.1

[Sw1] ip route-static 0.0.0.0 0 192.168.20.1
网管最后的倔强——你要上网可以,但是走哪条链路由我说了算

完成以上配置步骤以后,内网能够正常访问外网了,但是不能保证192.168.1.0/24网段用户的数据走高速链路,192.168.2.0/24网段的数据走低速链路,所以需要继续配置ACL,以达到目标。

配置ACL规则

# 在Sw1上创建3001、3002的高级ACL。

[Sw1] acl 3001 //匹配192.168.1.0/24网段的数据流

[Sw1-acl-adv-3001] rule permit ip source 192.168.1.0 0.0.0.255

[Sw1-acl-adv-3001] quit

[Sw1] acl 3002 //匹配192.168.2.0/24网段的数据流

[Sw1-acl-adv-3002] rule permit ip source 192.168.2.0 0.0.0.255

[Sw1-acl-adv-3002] quit

配置流分类

#在Sw1上创建流分类c1、c2,匹配规则分别为ACL 3001和ACL 3002。

[Sw1] traffic classifier c0 operator or

[Sw1-classifier-c0] if-match acl 3000

[Sw1-classifier-c0] quit

[Sw1] traffic classifier c1 operator or

[Sw1-classifier-c1] if-match acl 3001

[Sw1-classifier-c1] quit

[Sw1] traffic classifier c2 operator or

[Sw1-classifier-c2] if-match acl 3002

[Sw1-classifier-c2] quit

配置流行为

# 在Sw1上创建流行为b1、b2。

[Sw1] traffic behavior b1

[Sw1-behavior-b1] redirect ip-nexthop 192.168.10.1

[Sw1-behavior-b1] quit

[Sw1] traffic behavior b2

[Sw1-behavior-b2] redirect ip-nexthop 192.168.20.1

[Sw1-behavior-b2] quit

配置流策略并应用到接口上

# 在Sw1上创建流策略p1,将流分类和对应的流行为进行绑定。

[Sw1] traffic policy p1

[Sw1-trafficpolicy-p1] classifier c1 behavior b1

[Sw1-trafficpolicy-p1] classifier c2 behavior b2

[Sw1-trafficpolicy-p1] quit

# 将流策略p1应用到Sw1的GE0/0/3的入方向上。

[Sw1] interface gigabitethernet 0/0/3

[Sw1-GigabitEthernet0/0/3] traffic-policy p1 inbound

[Sw1-GigabitEthernet0/0/3] return

这样配置以后,上网的流向正确了,可是vlan1和vlan2却不能互访了。

网管最后的倔强——你要上网可以,但是走哪条链路由我说了算

思考后得知,是因为两个vlan互访的流量,也被上面的ACL重定向了,所以造成无法互访的局面。

知道问题所在,就好处理了,再添加一条ACL 3000来定义vlan互访应该就可以了。

[Sw1] acl 3000

[Sw1-acl-adv-3000] rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255

[Sw1-acl-adv-3000] rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

[Sw1-acl-adv-3000] quit

[Sw1-] traffic classifier c0 operator or

[Sw1--classifier-c0] if-match acl 3000

[Sw1--classifier-c0] quit

[Sw1] traffic behavior b0

[Sw1-behavior-b0] permit

[Sw1-behavior-b0] quit

[Sw1] traffic policy p0

[Sw1-trafficpolicy-p0] classifier c0 behavior b0

前面已经将流策略p1应用到Sw1的GE0/0/3入方向上了,不用再重复操作,此时测试,两个vlan可以互访,并且上网路径正确,任务完成,你们看,上网走哪条链路是不是网管说了算?是不是也强势了一回?

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11809

(0)
凯影的头像凯影
上一篇 2024年5月21日 下午3:47
下一篇 2024年5月22日 下午2:53

相关推荐

  • ELK日志系统之使用Rsyslog快速方便的收集Nginx日志

    Rsyslog Rsyslog是高速的日志收集处理服务,它具有高性能、安全可靠和模块化设计的特点,能够接收来自各种来源的日志输入(例如:file,tcp,udp,uxsock等),并通过处理后将结果输出的不同的目的地(例如:mysql,mongodb,elasticsearch,kafka等),每秒处理日志量能够超过百万条。 Rsyslog作为syslog的…

    2023年5月24日
    1.5K00
  • 内网穿透—nps

    nps nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端 做微信公众号开发、小程序开发等—-> 域…

    2022年6月7日
    2.4K00
  • 七层网络协议详细解释

    1、七层、五层、四层模型划分 互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。 每一层都运行不同的协议。协议是干什么的,协议就是标准。 实际上还有人把它划成五层、四层。 七层划分为:应用…

    2022年8月21日
    1.7K00
  • 深入浅出TCP中的SYN-Cookies

    SYN Flood 攻击 TCP连接建立时,客户端通过发送SYN报文发起向处于监听状态的服务器发起连接,服务器为该连接分配一定的资源,并发送SYN+ACK报文。对服务器来说,此时该连接的状态称为半连接(Half-Open),而当其之后收到客户端回复的ACK报文后,连接才算建立完成。在这个过程中,如果服务器一直没有收到ACK报文(比如在链路中丢失了),服务器会…

    2023年7月29日
    1.3K00
  • Stream流式编程

    如何创建 Stream 对象 从集合创建:我们可以通过调用集合的 stream() 方法来创建一个 Stream 对象。例如: 从数组创建:Java 8 引入了 Arrays 类的 stream() 方法,我们可以使用它来创建一个 Stream 对象。例如: 通过 Stream.of() 创建:我们可以使用 Stream.of() 方法直接将一组元素转换为 …

    2023年9月4日
    1.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信