- 博客(111)
- 收藏
- 关注
原创 静态浮动路由
如果混乱了,以R2->R1子网为例子,下一跳有R1的g0/0/0,g0/0/1,如果下面是备用链路,可以对着路由表中下一跳为g0/0/1的路由条目增加优先级实现静态浮动路由,有点麻烦,但是不会乱和遗漏。在配置R1->R2环回的路由时,有两个下一跳,这时候可以配置静态浮动路由,不能忘记R2->R1也有相同的操作,假如R1路由器下还有很多子网段,那么每个子网段都有两条指向他们的条目.
2025-04-02 10:56:10
95
原创 静态路由复习实验
1、R6为ISP,接口IP地址均为公有地址,该设备只能配置IP地址,之后不能再对其进行任何配置;2、R1-R5为局域网,私有IP地址192.168.1.0/24,请合理分配;3、R1、R2、R4,各有两个环回IP地址;R5,R6各有一个环回地址;所有路由器上环回均代表连接用户的接口;4、R3下面的两台PC通过DHCP自动获取IP地址;5、选路最佳,路由表尽量小,避免环路;6、R1-R5均可以访问R6的环回;7、R6 telnet R5的公有地址时,实际登录到R1上;
2025-04-01 20:50:08
379
原创 路由器DHCP地址池冲突
路由器的左右手臂各有一个网段,配置地址池pool 1,另一个也配置了pool 1,我的想法是不同接口地址池名字不用管冲突不冲突。最后发现是第2个地址池名字也是1,那么修改的就是pool 1。这个低级错误困扰了我30分钟。
2025-03-29 15:38:15
301
原创 三层交换机连接二层交换机DHCP服务不能下发的原因(配置错误)
sw1,sw3是三层交换机,pc1.pc2分别属于vlan10.vlan20在sw1配置vlanif接口.并开启DHCP服务,PC1.PC2获取不到ip。
2025-03-29 09:40:11
171
原创 缺省路由配置出接口不能ping通对面路由器的环回接口,但是配置下一跳可以的原因
缺省路由配置出接口不能ping通对面路由器的环回接口,但是配置下一跳可以AR2有个环回接口,ip为2.2.2.2 24我刚开始在AR1的配置为并不能ping通2.2.2.2后来换成了使用下一跳,就成功了。
2025-03-26 18:30:46
376
原创 NAT技术-初级总结
多对多的NAT,多个公网IP地址可以对应多个私网IP地址,在边界设备上。公网地址,之后访问结束,将释放公网IP地址资源,再给其他的私网IP地址。维护一张可以变化的地址映射表,当一个私网地址需要上网时,分配一个。就是在我们私网边界路由器上建立维护一张静态地址映射表,这张表。华为设备所有NAT相关的配置都是在边界路由器的出接口上配置。NAT基本逻辑是实现公网IP地址和私网IP地址的转换。反映的是公网IP地址和私网IP地址之间一一对应的关系。分配,在同一时间内,还是一对一的NAT。公网想访问私网中的对应服务器。
2025-03-18 18:18:23
247
原创 vlan初学的总结
将vid配置映射给以太网二型帧协议类型(type),实现vlan的划分–三层vlan。将vid配置映射给交换机的接口,实现vlan的划分–一层vlan/物理vlan。链路中,交换机侧的接口称为access接口,只能通过untagged帧,交换机和交换机之间的链路称为trunk(树干)链路(trunk干道),交换机侧的接口称为trunk接口,可以通过tagged帧,并且这些帧。交换机和电脑之间的链路称为access(到达)链路,在access。将vid配置映射给MAC地址,实现vlan的划分–二层vlan。
2025-03-18 18:15:35
295
原创 ospf动态路由实验
首先吐槽一下,搞虚拟机好像又把网卡整不对劲了.路由器依然启动40,解决方法都试了一遍还是没办法,实在是不想重装系统了,最后在虚拟机里部署了win7,弄了最老版本的ensp,ε=(´ο`*)))唉。
2025-03-17 09:32:44
189
原创 ACL初级总结
自上而下逐一匹配,若匹配到了则按照对应规则执行动作,而不再向下继续匹配。需求3–要求pc1可以ping通ar2,但是不能telnet ar2。因为基础ACL并不是精确匹配,仅关注源IP地址,所以建议配置在靠近。在路由器流量流入或者流出的接口上,匹配流量,然后执行相应动作。除了关注数据包中的源IP以外,还会关注数据包中的目标IP,基础ACL配置原则:ACL配置尽可能靠近目标。ACL 2000-2999 基础ACL。ACL 3000-3999 高级ACL。ACL 4000-4999 二层ACL。
2025-03-13 18:41:29
297
原创 OSPF总结
1.启动ospf配置,ospf协议向本地所有运行协议的接口以组播的形式(224.0.0.5)3.占用资源–从单一数据包角度来说,因为rip传递的是路由信息,所以资源占用不大。发送hello包,hello包中携带自己本地的rid,以及本地已知的邻居的rid。5.之后基于DBD,通过使用LSR,LSU,LSACK开获取未知的LSA完整信息。4.首先使用未携带数据的DBD包进行主从关系选举,之后使用携带数据的DBD包。7.最后基于LSDB数据库,使用SPF算法计算,得到未知网段的路由信息将其。
2025-03-12 19:24:49
640
原创 练习:关于静态路由,手工汇总,路由黑洞,缺省路由相关
1.我的思路是R1->R5的所有路由24\43\64\80\88\96全汇总了(因为划分的时候网段都是连续的),然后黑洞在R2上,在R2上配置黑洞路由.R1配置缺省路由。2. R2->R5,同上,汇总80\88\96,黑洞在R4,在R4上配置黑洞路由,配置缺省路由,配置回R1的路由,汇总R1的0/8网段,在R1配置黑洞路由。5. R1->R3的,但其实已经汇总过了,R3黑洞一下,R3回去的搞一下,R3->R4,->R5的都汇总搞一下,黑洞都弄上。4. R5->R1,同上。7.最后改一下优先级。
2025-03-10 10:25:26
447
原创 Linux文件操作命令的练习
⦁ 在/目录下新建目录s1/s2/s3,在s2中新建t2.txt,输入”Hello”,在s3目录下新建t3.txt,输入“world!⦁ 新建2个文件d1.txt d2.txt ,使用vim打开d1.txt 输入“Hello World”字符串,将d1.txt 硬链接到d2.txt ,查看2个文件的硬连接数。⦁ 使用head命令访问网卡配置文件中的前4行并存储到/root/NICETC.txt中,且显示内容。⦁ 在/etc/passwd中搜索sshd 所在行的上下各3行信息。
2025-03-08 19:51:23
247
原创 关于静态IP的总结
ip route-static 目的网段 下一跳接口IP(下一个经过的路由器的入接口IP)(1)在汇总时,若包含网络内实际不存在的网段时,可能会造成流量有去无回,浪费链路资源。当路由器可以访问多个连续子网时,若均通过相同的下一跳,则可以将这些网段进行汇总计算。(1)是一条不限定目标的路由,在路由表所有路由条目都匹配完毕之后,最后匹配缺省路由。空接口:NULL–如果一条路由的出接口是空接口,匹配这条路由的数据包都将被丢弃。(1)当一个数据包到达路由器时,路由器会基于数据包中的目标IP查看本地路由表。
2025-03-06 18:51:35
654
原创 IP协议、DNS协议、DHCP协议、Telent协议的记忆总结
首先记忆一下几个协议的端口号HTTP:超文本传输协议 80HTTPS:安全传输协议 443DHCP:动态主机配置协议 67/68DNS:域名解析协议 53FTP:文件传输协议 20/21TFTP:简单文件传输协议 69TELENT:远程控制协议 23(使用TCP端口号)PDU-协议数据单元应用层 数据报文 HTTP/HTTPS/DHCP/DNS传输层 数据段 TCP/UDP网络层 数据包 IP数据链路层 数据帧 以太网协议。
2025-03-05 19:33:26
381
原创 对于TCP协议三次握手,四次挥手的总结
源端口号,目的端口号不用解释,传输层封装的序号(sequence number):seq,用来标识表示数据的字节流在第几位开始确认序号(acknowledge number):ack,表明数据被收到,并期望从从收到的下一位开始收取URG:紧急标志位ACK:确认标志位,如果置1,开始发送确认序号RST:复位标志位SYN:请求建立链接标志位FIN:结束标志位。
2025-03-04 19:41:29
365
原创 Linux3.2作业 包含linux一些基本操作以及文件操作
5.为/yasuo/ssh_config文件在/mulu目录下创建软链接,软链接名称为ssh_config.link。8.将/etc/passwd和/etc/ssh/sshd_config文件复制到/root/etc/目录下。6.创建目录/mulu ,并将/mulu下的软连接重命名并移动/ssh_config.link。9.复制/var/log/messages到/root目录下。7.找到你的根目录下的所有块设备文件。1.查看系统合法shell。2.查看系统发行版版本。3.查看系统内核版本。
2025-03-03 10:45:58
128
原创 设计模式-策略模式
策略模式把一系列算法封装起来,使得他们可相互替换,是的算法可独立与他的客户端而变化from abc import ABCMeta,abstractmethod#抽象策略class Stretrgy(object): __metaclass__ = ABCMeta def excute(self, data): pass#----------------具体策略----------------class FirstStretrgy(Stretrgy): def excute(self
2022-02-17 12:38:47
166
原创 设计模式-行为型模式开端-责任链模式
责任链模式有一个请求,多个对象都有机会处理请求,吧处理对象连成一条链,沿着这个链传递请求,避免发送者和接受者的耦合关系举例from abc import ABCMeta,abstractmethod#抽象处理者class Handler(object): __metaclass__ = ABCMeta @abstractmethod def handle_leave(self, days): pass#----------具体处理者-----------------class G
2022-02-16 15:51:21
273
原创 设计模式-代理模式
代理模式为一个对象提供一种代理,控制这个对这个对象的访问远程代理:如vpn,远程办公,不用管服务器在哪里,.只用操作代理即可,代理会把你的操作反馈到对象中虚代理根据需求创建很大的对象,比如浏览器的无图模式,加入图片很大,你不需要看到,浏览器就会不显示图片,等你需要看图点击了以后才读取图片,节约内存保护代理控制对原始对象的访问,设置权限举例#抽象实体class Subject(object): __metaclass__ = ABCMeta @abstractm
2022-02-16 12:30:36
301
原创 设计模式-外观模式
外观模式为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个高层接口使得子系统更加容易使用举例#--------子系统类-------------class CPU(object): def run(self): print "cpu run" def stop(self): print "cpu stop"class Disk(object): def run(self): print "Disk run" def stop(self): pri
2022-02-16 10:26:35
373
原创 设计模式-组合模式
组合模式将对象组合成树结构,表示"部分-整体"的增次结构 组合模式让client对单个对象和组合对象使用有一致性啥意思呢,举个例子就懂了from abc import ABCMeta,abstractmethod#抽象组件class graphic(object): __metaclass__ = ABCMeta @abstractmethod def draw(self): pass#叶子组件class point(graphic): def __init__(self,x,
2022-02-15 16:16:08
165
原创 设计模式-桥模式
桥模式当事物有两个维度,两个维度都有扩展有些系统耦合度特别高,需要一定程度解耦合举例耦合度高#绘制图形 图形由颜色和形状组成class shape(object): pass#图形class circle(shape): passclass line(shape): passclass redcirle(object): passclass blackcricle(object): pass#.....#颜色和图形耦合在一起,假如要加一
2022-02-14 21:28:38
476
原创 设计模式-结构型模式开端-适配器模式
结构型模式总的来说就是控制几个类组成什么结构,怎么协同工作的模式适配器模式就像type-c转耳机孔,usb转苹果的那些硬件一样,为了让两个不通的设备通用适配器模式就是让两个不能通用的设备通用两种实现方式类适配器:使用多继承对象适配器:使用组合举例类适配器from abc import ABCMeta,abstractmethodclass payment(object): __metaclass__ = ABCMeta @abstractmethod def pay(
2022-02-14 20:52:47
132
原创 设计模式-单例模式&创建型模式总结
单例模式保证一个类只有一个实例例子class Singleton(object): def __new__(cls, *args, **kwargs): #new方法在__init__之前调用,初始化一个类,给类分配空间,给类对象初始化的,__init__是 #给某个属性初始化复制 if not hasattr(cls, "_instance"): #调用object的new方法给继承Singleton的子类初始化一个对象
2022-02-13 14:30:32
264
原创 设计模式-建造者模式
建造者模式主要构建复杂的对象,和抽象工厂类似,建造者模式着重控制构造顺序建造者模式使得对象的构建和表示分离,使同样的构建过程创建不同的表示# encoding: utf-8from abc import ABCMeta, abstractmethodclass phone(object): def __init__(self,shell = None, os = None, cpu = None): self.shell = shell self.os =
2022-02-13 13:39:11
207
原创 设计模式-抽象工厂模式
抽象工厂模式与工厂模式相比,抽象工厂每个具体工厂生产一套产品举例# coding=utf-8from abc import ABCMeta, abstractmethod# 抽象产品class PhoneShell(object): __metaclass__ = ABCMeta def show_shell(self): passclass CUP(object): __metaclass__ = ABCMeta def show_
2022-02-12 13:26:42
197
原创 设计模式-工厂方法模式
工厂方法模式工厂方法模式纠正了简单工厂模式违反的单一职责原则和开闭原则,把工厂类也抽象出来,让抽象类的子类去决定实例化哪个产品例子:from abc import ABCMeta,abstractmethod#抽象产品角色class payment(object): __metaclass__ = ABCMeta @abstractmethod def pay(self,money): pass#具体产品角色class AliPay(payment): def __init_
2022-02-11 15:16:48
255
原创 设计模式-简单工厂模式
简单工厂原则一种创建形设计模式大概意思就是通过一个工厂类来创建对象实例,像工厂生产产品一样举例from abc import ABCMeta,abstractmethod#这个类就是底层和上层的抽象#这个就是抽象class payment(object): __metaclass__ = ABCMeta @abstractmethod def pay(self,money): pass#这两个支付类就是模拟底层的实现逻辑#下面是细节class AliPay(paymen
2022-02-11 14:44:49
265
原创 设计模式-设计原则(SOLID原则)
开放封闭原则类,模块,函数应该对扩展开放,对修改关闭里氏替换原则所有引用基类的地方必须能透明地使用其子类的对象class BaseMent(object): def return_something(self): passclass child(BaseMent): def return_something(self): passdef a_fun(c): res = c.return_something() .....#a_fun中传入一个对象调用return_somet
2022-02-10 11:28:33
481
原创 设计结构的总结-接口
接口为高层调用提供接口,使得高层调用不关心底层的实现,用就完事了class AliPay(object): def pay(self,money,a,b,c): #a,b,c表示可能要用到的参数 passclass WeChatPay(object): def pay(self,money,a,b): pass#如果我们需要调用支付宝的支付接口p = AliPay()p.pay(....)#这里需要了解alipay里面pay的参数以及实现,微信支付同理,会造成后期开发成本的提
2022-02-10 10:40:56
73
原创 pyhton 三目运算符
三目运算符与列表推导式一样,在合适的情况下,可以使代码更加优雅下面的函数表示如果传入的值小于某个值输出b,否则输出adef test_fun(a_num): b_num = 10 if a_num >= b_num: return "a" else: return "b">>> print test_fun(5)b使用三目运算符更加简洁def test_fun(a_num): b_num = 10 return "a" if a_num >=
2021-10-17 13:42:35
108
原创 关于python的列表推导
列表推导列表推导更多的作用是让python变得更加优雅假如,现在一个函数的作用是把传入列表的每个值乘2,并且返回def list_test(a_list): b = [] for i in a_list: i = i*2 b.append(i) return b>>>print list_test(a_list = [1,2,3,4])[2, 4, 6, 8]如果使用列表推导的话会让代码更加优雅def list_test(a_list): b = [i*2
2021-10-17 13:35:28
75
原创 python函数参数的一些整理二:关键字参数(**kwargs)
python函数参数的一些整理二:关键字参数(**kwargs)def print_some(name = None, age = None): print name,age>>>print_some()None None关键字参数在函数里的应用还是很方便的,能试的调用者很清晰的知道传进去的参数是干嘛的,不用再去查阅原函数参数的作用def print_some(name, age, ad): print name,age,add加入没有使用关键字参数,原函数增加参数,
2021-10-17 13:25:45
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人