端口转发

Linux通过 Docker 可以托管 .NET Core啦!

感情迁移 提交于 2019-12-06 21:10:50
我是首次接触 Docker 并且距离成为一名 Linux 高手还有很远的一段路程。因此,这里的很多想法是来自一个新手。 内容 安装按照 https://www.microsoft.com/net/core 上的介绍在你的电脑上安装 .NET Core 。这将会同时在 Windows 上安装 dotnet 命令行工具以及最新的 Visual Studio 工具。 源代码 你可以直接到 GitHub 上找最到最新完整的源代码。 转换到 .NET CORE 1.0 自然地,当我考虑如何把 API 从 .NET Core RC1 升级到 .NET Core 1.0 时想到的第一个求助的地方就是谷歌搜索。我是按照下面这两条非常全面的指导来进行升级的: 从 DNX 迁移到 .NET Core CLI 从 ASP.NET 5 RC1 迁移到 ASP.NET Core 1.0 当你迁移代码的时候,我建议仔细阅读这两篇指导,因为我在没有阅读第一篇指导的情况下又尝试浏览第二篇,结果感到非常迷惑和沮丧。 我不想描述细节上的改变因为你可以看 GitHub 上的提交。这儿是我所作改变的总结: 更新 global.json 和project.json 上的版本号 删除 project.json上的废弃章节 使用轻型 ControllerBase 而不是 Controller, 因为我不需要与 MVC

Linux 上的基础网络设备详解

别等时光非礼了梦想. 提交于 2019-12-06 19:25:35
http://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/ 抽象网络设备的原理及使用 网络虚拟化是 Cloud 中的一个重要部分。作为基础知识,本文详细讲述 Linux 抽象出来的各种网络设备的原理、用法、数据流向。您通过此文,能够知道如何使用 Linux 的基础网络设备进行配置以达到特定的目的,分析出 Linux 可能的网络故障原因。 Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装有一个硬件网卡,Linux 会在系统里为其生成一个网络设备实例,如 eth0,用户需要对 eth0 发出命令以配置或使用它了。更多的硬件会带来更多的设备实例,虚拟的硬件也会带来更多的设备实例。随着网络技术,虚拟化技术的发展,更多的高级网络设备被加入了到了 Linux 中,使得情况变得更加复杂。在以下章节中,将一一分析在虚拟化技术中经常使用的几种 Linux 网络设备抽象类型:Bridge、802.1.q VLAN device、VETH、TAP,详细解释如何用它们配合 Linux 中的 Route table、IP table

MacOS下的docker端口映射

一世执手 提交于 2019-12-06 17:09:13
本人是macos,不能提供docker的运行环境,所以需要用boot2docker,问题就出在这,因为boot2docker其实是使用VBOX虚拟机的,所以实际上外部如果想要访问到容器的话,需要两层层映射,才能访问到。 MacOS上的Docker网络结构图 从里到外的顺序是:容器->boot2docker(虚拟机)->物理机 如果只是自己开发使用的话,可以只把容器的端口映射到boot2docker(虚拟机)上就足够了 映射方法也很简单,就是网上说的,启动时加上 -p 参数 docker run -d -p 2345:5432 postgres 意思是将boot2docker的2345端口映射到容器的5432端口,如果不想指定端口可以直接使用 -P 参数,会随便分配端口 docker run -d -P postgres 映射成功后,就可以通过访问boot2docker(虚拟机)对应的端口来访问容器了 下面是刚刚启动的postgres,用的 -P 参数,随机分配的端口,这里是32770 bash-3.2$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 44882d23ec12 postgres:latest “/docker-entrypoint. About an hour ago Up 3

RSTP生成树

隐身守侯 提交于 2019-12-06 16:52:34
一.实验目的 二.实验拓扑图 三.实验编址 四.实验步骤 1.基本步骤 配置PC机IP 配置完成,开启所有设备,测试主机之间连通性 2.配置RSTP基本功能 在四台交换机上修改生成树模式;配置完成后,在四台交换机都使用display stp命令查看生成树的模式以及根交换机的位置 CIST Bridge是交换机自己的ID,而CIST Root是根交换机的ID。根交换机是交换机ID最小的ID 在RSTP构建的树形拓扑中,网络管理员需要设置汇聚层主交换机S1为根交换机,汇聚层交换机S2为备份根交换机 配置完成后,在S1上使用display stp命令观察 可以看到,stp root primary命令修改的是交换机ID中的交换机优先级,即把S1设置为根交换机 在S2使用display stp查看,可以观察到已经将S2设置为次根交换机了 在S3 S4上使用display stp命令查看 可以观察到 S3 S4 交换机的交换机优先级仍然保持32768,都把S1当做根交换机 使用display stp brief命令查看各交换机端口状态及角色 S1上无根端口,所有端口都是指定端口 S2上 GE 0/0/1 是根端口 S3上 E0/0/2是根端口,E0/0/3是指定端口,E0/0/4是备份端口 S4上E0/0/2是根端口,E0/0/3是代替端口 模拟根端口断掉的过程,把S2 的GE 0/0

RSTP基础配置

邮差的信 提交于 2019-12-06 16:51:47
1.RSTP基础配置 1.1 原理概述   RSTP端口角色共有4种:根端口、指定端口、Alternate端口和Backup端口。   Alternate端口就是由于学习(Learning)到其他网桥发送的配置BPDU报文而阻塞的端口,Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。   Backup端口就是由于学习到自身发送的配置BPDU报文而阻塞的端口,Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。   RSTP的三种状态,根据端口是否转发用户流量和学习MAC地址来划分:Discarding状态,既不转发用户流量也不学习MAC地址;Learning状态,不装发用户流量但学习MAC地址;Forwarding状态,既转发用户流量又学习MAC地址。   三种RSTP的快速收敛机制:1)Proposal/Agreement机制:当一个端口被选举为指定端口以后,此端口会先进入Discarding状态,再通过Proposal/Agreement机制(P/A机制)快速进入Forwarding状态。这种机制必须在点到点全双工链路上使用。2)根端口快速切换机制:如果网络中一个根端口失效,那么网络中最优的Alternate端口将成为根端口,进入Forwarding状态。3)边缘端口的引入:在RSTP中

STP配置和选路规则

人走茶凉 提交于 2019-12-06 15:25:46
1.用四台S3700交换机,2台PC机,组建网络拓扑       2.对mengyu-S1进行设置   (1)在交换机启用生成树(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树STP;        (2)配置完成后,默认情况下需要等待30s生成树重新计算的时间,再用命令“display stp”查看mengyu-S1生成树的状态        (3)也可以使用命令“display stp brief”,查看摘要信息         3.对mengyu-S2进行设置   (1)在交换机启用生成树(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树STP;        (2)配置完成后,默认情况下需要等待30s生成树重新计算的时间,再用命令“display stp”查看mengyu-S2生成树的状态        (3)也可以使用命令“display stp brief”,查看摘要信息      4.对mengyu-S3进行设置   (1)在交换机启用生成树(华为交换机默认启用MSTP),将交换机的STP模式更改为普通生成树STP;        (2)配置完成后,默认情况下需要等待30s生成树重新计算的时间,再用命令“display stp”查看mengyu-S3生成树的状态        (3)也可以使用命令“display stp

STP生成树协议

谁说胖子不能爱 提交于 2019-12-06 15:00:51
1、环路问题 1.1广播风暴    广播风暴的概念: 网络中的每一台交换机都会不停的收到帧的拷贝,并对其执行泛洪操作,没执行一次泛洪操作,都会收到一个帧的拷贝,如此循环,就会产生广播风暴。    广播风暴带来的问题: 大量消耗网络中的带宽资源以及计算机的处理资源,可能导致计算机瘫痪或者局域网局部或者整个网络瘫痪。 1.2 MAC地址表的翻摆    概念: 当pc发送了一个广播帧A,交换机收到这个广播帧之后会进行泛洪操作。这样以来,这个广播帧会顺时针和逆时针不停的旋转,每次A进入交换内,交换都会不停的修改mac-address表,这样就形成了mac地址表的翻摆。    危害: 快速的mac地址表翻摆会大量消耗交换机的cpu,严重导致网络的拥堵。 1.3 多帧复制    多帧复制的概念: pc1向pc2发送了一个单播帧B,假设SW1的mac-address中没有关于pc2的mac地址,SW2的mac-address中存在pc2的mac地址,SW3的mac-address中也存在关于pc2的mac地址。当pc1向pc2发送一个单播帧B的时候,由于SW1不知道 pc2的mac地址,所以SW1会进行泛洪的操作,这样以来,SW2和SW3都会收到一个单播帧B,又由于,SW2和SW3都存在pc2的mac地址,所以SW2和SW3都会对单播帧B进行对pc2的转发操作

linux查看端口占用情况

旧时模样 提交于 2019-12-06 14:16:02
今天要使用python写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然不知道在linux中如何查询端口被占用的情况,天呐,赶快学习一下。😁 Linux如何查看端口 1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 # lsof -i:8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME lwfs 22065 root 6u IPv4 4395053 0t0 TCP *:irdmi (LISTEN) 可以看到8000端口已经被轻量级文件系统转发服务lwfs占用 2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000 # netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4814/rpcbind tcp 0 0 0.0.0.0:5908 0.0.0.0

2019 SDN上机第6次作业

感情迁移 提交于 2019-12-06 13:03:44
1.作业要求: 实验拓扑 1.实验拓扑见 2019 SDN上机第2次作业 ; 2.要求:使用Python脚本完成拓扑搭建,并连接ryu控制器; 使用Ryu的REST API下发流表实现和第2次实验同样的VLAN 1.参考资料:REST API:可以在线学习中国大学MOOC 《软件定义网络》第六讲 北向接口 Ryu控制器的API文档:ryu.app.ofctl_rest Ryu的拓扑展示 助教博客:基于RYU restful api实现的VLAN网络虚拟化 2.要求:完成自动化脚本编写,一键下发流表; 对比两种方法,写出你的实验体会 作业博客链接: https://edu.cnblogs.com/campus/fzu/fzusdn2019/homework/10134 2.具体操作步骤与截图说明: 实验环境:VMware Workstation Pro14.1、ubuntu-16.04 (1)实验拓扑: 给定的实验拓扑图如下所示: 编写Python脚本x.py,完成拓扑搭建,实验代码如下所示: from mininet.topo import Topo class Topo2( Topo ): def __init__( self ): # Initialize topology Topo.__init__( self ) # add switches s1 = self

2019 SDN上机第6次作业

旧巷老猫 提交于 2019-12-06 13:02:52
2019 SDN上机第6次作业 实验拓扑 实验拓扑 要求 使用Python脚本完成拓扑搭建,并连接ryu控制器。 python脚本创建如下 class MyTopo(Topo): def __init__(self): # initilaize topology Topo.__init__(self) # add hosts and switches h1 = self.addHost('h1') h2 = self.addHost('h2') h3 = self.addHost('h3') h4 = self.addHost('h4') h5 = self.addHost('h5') h6 = self.addHost('h6') s1 = self.addSwitch('s1') s2 = self.addSwitch('s2') # add links self.addLink(h1, s1, 1, 1) self.addLink(h2, s1, 1, 2) self.addLink(h3, s1, 1, 3) self.addLink(s1, s2, 4, 4) self.addLink(h4, s2, 1, 1) self.addLink(h5, s2, 1, 2) self.addLink(h6, s2, 1, 3) topos = {'mytopo': (lambda