Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

Category 系统

Docker #none #host #bridge网络

#Docker安装的时候会自动在host上创建三种网络,可以用docker network ls 查看,如下图 ##none 网络 none网络就是什么网路都没有的网络,挂在这个网络下的容器除了lo,没有其他任何网卡。创建容器的时候可以用 – – network=none 指定试用none网络。 我们不禁会问,这样一个网络封闭的容器有什么用呢?其实真的有真实场景的,封闭意味着隔离,一些对安全要求高且不需要访问网络的应用可以用none网络,比如某个容器的用途是生成随机密码,就可以放到none网络避免生成的密码被窃取。 ##host网络 连接到host网络的容器共享host的网络栈,容器的网络配置与host的完全一样。可以通过– – network=host指定容器使用host网络。 直接试用host网络的最大好处就是性能,如果容器对网络传输效率有较高的要求则可以选择host网络,不便之处就是牺牲灵活性,比如要考虑端口冲突问题,host已经使用的端口容器就不能再使用了 host网络的另一个用处就是让容器可以直接配置host的网络,不如某些跨host的网络解决方案,其本身也是以容器的方式运行的,这些方案需要容器对网络进行配置,比如管理iptables。 ##bridge网络 Docker安装的时候会创建一个名为docker0的linux bridge。如果不指定- – network,创建的容器默认都会挂到docker0上,如下图 #如果 brctl show提示command not found,请安装bridge-utils软件包 一个网络接口veth32aa6b0 被挂到了docker0上, veth32aa6b0 就是容器的虚拟网卡。 让我们通过docker network inspect bridge看一下bridge网络的配置信息,如下图 bridge网络配置的subnet是172.17.0.0那么这个网关在哪里呢?就是docker0,ifconfig docker0查看信息如下图 容器创建时,docker会自动从172.17.0.0/16中分配一个IP。 ##user-defined网络…

隐藏CMD窗口使程序在后台执行

隐藏CMD窗口使程序在后台执行代码如下: @echo off if “%1″==”h” goto begin start mshta vbscript:createobject(“wscript.shell”).run(“””%~nx0″” h”,0)(window.close)&&exit :begin 要执行的代码放在此处即可 ##例如我要将jupyter后台运行并设置开机启动可以这样操作,如图: 将bat脚本复制到C:UsersadminAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup 目录下,以后开机都会自动后台启动了 win+R调出运行输入 shell:startup 回车即可打开启动文件夹

VC运行库修复安装&一键安装

图1 VC.RedistInstaller 安装界面 VC.RedistInstaller1.6.rar: 解压密码:u700 如果上述安装不成功可尝试下载: Visual C ++ AIO v2019.05.21(自动强制安装谨慎双击).zip: 解压密码:u700 如果出现已安装的 VC++ 程序框架无法正常使用,也无法完全卸载,请使用MPInstallAndUninstall卸载,卸载后重新使用上述软件安装即可恢复正常。 图2 MPInstallAndUninstall 卸载工具 下载地址::f:/g/personal/pony_orcycloud_com/EsdQ00ml8n1BuiPXSRk6J2YBukg-Pk5sUMw-FnPqtjwMVw?e=TLGS5y

导航窗格条目对齐问题解决方法与步骤详解 | 快速修复指南

为什么你的导航栏总像”没睡醒”? 你是否遇到过这样的情况:精心设计的导航栏在浏览器里像喝醉了一样东倒西歪?图标和文字像在玩”躲猫猫”,下拉菜单弹出的位置总让你怀疑人生?别急着砸键盘,这些让人抓狂的对齐问题,其实都有解决方法。 一、先给导航栏做”体检” 在动手调整前,请先确认这三个基础项: 检查容器宽度是否设置了固定值(新手建议用百分比) 确认所有菜单项的margin/padding值是否统一 用浏览器开发者工具查看元素盒模型(按F12点选元素) 某程序员曾花了3小时调试,最后发现是某个菜单项多打了空格… 二、对齐工具的正确打开方式 现代CSS提供了两大神器: Flexbox布局:给父容器加display:flex,用justify-content控制水平对齐 CSS Grid:设置grid-template-columns让菜单项自动对齐 试试这段代码: .nav-container { display: flex; justify-content: space-around; align-items: center; } 三、当内容长短不一时 遇到文字长度差异大的菜单项时: 给所有菜单项设置min-width 文字超出时用text-overflow:ellipsis 带图标的项目用vertical-align:middle调整 记住:绝对对齐不如视觉对齐重要,必要时微调1-2px 四、那些藏在暗处的”元凶” 检查这些容易被忽视的细节: 浏览器默认样式(用*{margin:0;padding:0}重置) 字体图标与文字基线对齐问题 hover状态改变元素尺寸导致的位移 小编观点:当你第5次调整仍不满意时,不妨让同事或朋友帮忙看一眼——当局者迷的情况在设计界天天都在发生。

Docker user-defined网络

##user-defined网络 除了none、host、bride这三个自动创建的网络,我们也可以根据自己的需求创建user-defined网络 Docker提供三种usr-defined网络驱动:bridge、overlay、macvlan。overlay、macvlan用于跨主机的网络,本文只涉及bridge。 我们可以通过bridge驱动创建类似bridge网络的user-defined网络 docker network create –driver bridge my_net 通过docker network inspect my_net查看配置信息,我们发现Dokcer自动给my_net分配了网关和IP网段。 如果创建网络时指定- -subnet和- -gateway则可以自己指定IP网段 docker network create –driver bridge –subnet 172.12.0.0/24 –gateway 172.12.0.1 my_net2 容器要使用user-defined网络,需要在启动时通过- -network指定 docker run -it –network=my_net2 ubuntu 容器的IP将会是Docker从my_net2的subnet中自动分配的,如果需要容器指定一个静态IP,通过- – ip指定 docker run -it…

9.9-动态NAT

*实验示例均以华为的设备为例,部分实验在ENSP模拟器实现,部分为真机实现 动态NAT:多对多,映射关系不固定(生产环境中不常用) 图1 动态NAT原理图 实验示例:公网地址池(12.1.1.2 ~ 12.1.1.5) 说明:动态NAT地址池中地址用尽后,只能等待被占用的公网IP地址被释放后,其他主机才能使用它来访问公网 使用场景:报文不允许修改,报文有加密,不能端口转换等 实验工程文件下载 图2 实验拓扑图 动态NAT配置命令: [R1]acl number 2000 [R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2000]qu [R1]nat address-group 1 12.1.1.2 12.1.1.5 [R1]int g0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat 实验结果: 内网192.168.1.0 注:已经和华为官方核实,ENSP模拟器不支持no-pat的NAT转换,故模拟器无法验证结果

文件解压速度慢怎么办?文件解压性能下降优化方法解析

你的压缩文件为什么越解压越慢? 双击解压文件时,进度条像蜗牛爬行般缓慢,电脑风扇突然疯狂转动——这是不是你的日常?明明半年前解压3GB文件只要1分钟,现在却要花上10分钟。今天我们就来揭开这个让新手抓狂的性能谜题。 一、性能下降的四大元凶 硬盘空间告急:当C盘剩余空间低于总容量10%,系统会自动降低文件读写速度(就像堵车的高速公路) 压缩算法冲突:使用7z格式压缩的BZip2算法文件,解压时需要比普通ZIP多消耗3倍CPU资源 杀毒软件”热心过度”:某主流杀毒软件在解压过程中会扫描每个子文件,使解压时间延长40% 内存不足引发”数据倒卖”:4GB内存的电脑解压大文件时,系统会在内存和硬盘间频繁交换数据 二、小白也能操作的优化四部曲 给硬盘”腾出跑道”:保持解压目标分区至少有20%剩余空间,临时文件存放区建议选SSD硬盘 软件设置隐藏技巧:在WinRAR设置中关闭”保留损坏文件”选项,实测可提速15% 建立解压专用环境:创建系统还原点后,暂时关闭杀毒软件的实时监控功能 内存优化黑科技:对于8GB以下内存设备,在解压前手动清理内存(任务管理器→进程排序→结束非必要进程) 三、这些操作要当心! 强行中断解压可能导致文件索引损坏(就像撕掉书的目录页) 修改压缩包后缀名会造成80%以上的软件识别错误 同时运行多个解压任务会使机械硬盘读写速度下降60% 四、小编实战验证 在i5-8250U/8GB/机械硬盘的测试机上,优化前解压15GB游戏安装包耗时22分钟,经过上述调整后缩短到9分钟。特别提醒:使用7-Zip替代老旧压缩软件,对多核CPU的支持度提升明显。 *本文数据基于Windows 10环境实测,不同配置设备可能存在差异。遇到顽固性卡顿建议检查硬盘SMART健康状态。

9.10-NAPT

*实验示例均以华为的设备为例,部分实验在ENSP模拟器实现,部分为真机实现 Network Address Port Translation 网络地址端口转换 属于动态NAT,多对多,映射关系不固定,转换报文的端口 图1 NAPT原理图 NAPT允许多个内部地址映射到同一个公有地址的不同端口 网关路由器将报文的源IP地址和端口号转换成公网的IP地址和端口号,并转发报文到公网,当网关路由器收到回复报文后,会根据之前的映射表再次进行转换后发给内网主机 实验示例: 实验工程文件下载 图2 实验拓扑图 NAPT配置: [R1]acl number 2001 [R1-acl-basic-2001]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2001]qu [R1]nat address-group 1 12.1.1.2 12.1.1.5 [R1]int g0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2001 address-group 1 实验结果:…

9.11-Easy IP NAT(基于端口)

*实验示例均以华为的设备为例,部分实验在ENSP模拟器实现,部分为真机实现 适用场景:⑴只有接口有公网IP地址⑵PPPoE拨号、动态公网IP、自动获取 数据包出去时转换成接口的IP地址,多对一。家用路由器的NAT原理就是Easy IP NAT 实验工程文件下载 实验示例: 图1 网络拓扑 Easy IP NAT配置命令: [R1]acl 2002 [R1-acl-basic-2002]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2002]int g0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2002 说明:⑴创建ACL 2002⑵使用ACL匹配允许被NAT转换的内网IP的网段⑶int g0/0/1 公网接口⑷公网接口调用 acl 2002 Easy IP NAT 内网数据包出外网时全部会转换成公网接口的IP地址(12.1.1.1) 实验结果: 192.168.1.0企业出口路由器R1转包,报文源IP已经转换成接口的公网IP地址,如图3。 图2 实验结果…

9.12-NAT Server(端口映射)

*实验示例均以华为的设备为例,部分实验在ENSP模拟器实现,部分为真机实现 NAT天然可以保护企业内网,只用Clinet主动访问Server,路由器存在映射记录,Server才能访问到内网的Client 将服务器放置于防火请(路由器)的后面通过将相关服务端口映射到防火墙(路由器)上实现访问,服务器可以得到保护,更加安全! 实验工程文件下载 实验示例: 图1 实验拓扑图 NAT Server (端口映射配置): 方式1:映射到路由器公网IP [R1]int g0/0/1 [R1-GigabitEthernet0/0/1]nat server protocol tcp global 12.1.1.2 80 inside 192.168.1.200 80 ⑴g0/0/1 公网接口⑵协议tcp,global 12.1.1.2 公网IP为12.1.1.2,80端口 inside 192.168.1.200 内网IP192.168.1.200,80端口 方式2:映射到路由器的公网接口 [R1]int g0/0/1 [R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface…