映射端口

Neutron 理解 (2): 使用 Open vSwitch + VLAN 组网 [Netruon Open vSwitch + VLAN Virutal Network]

独自空忆成欢 提交于 2020-01-10 20:11:48
转自 http://www.cnblogs.com/sammyliu/p/4626419.html#3552510 学习 Neutron 系列文章: (1) Neutron 所实现的虚拟化网络 (2) Neutron OpenvSwitch + VLAN 虚拟网络 (3) Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4) Neutron OVS OpenFlow 流表 和 L2 Population (5) Neutron DHCP Agent (6) Neutron L3 Agent (7) Neutron LBaas (8) Neutron Security Group (9) Neutron FWaas 和 Nova Security Group (10) Neutron VPNaas (11) Neutron DVR (12) Neutron VRRP (13) High Availability (HA) 1. L2 基础知识 1.1 VLAN 基础知识 1.1.1 VLAN 的含义 LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接LAN 中的计算机。一般来说,当你将两台计算机连入同一个 Hub 或者 Switch 时,它们就在同一个 LAN 中。同样地,你连接两个 Switch

iptables防火墙与NAT服务

拈花ヽ惹草 提交于 2020-01-09 13:56:53
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> iptables防火墙与NAT服务 一.防火墙的概述 1.简介 (1)设置在不同的网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性 (2)通过审查经过每一个数据包,判断它是否有相匹配的过滤规则,根据规则先后顺序一一进行比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作,若都不能满足,则将数据包丢弃,从而保护网络安全。 (3)可以是一台路由器,也可以是一台或一组主机构成,它通常被放置在公共网络入口处,所有内部外部网络通信数据包都必须经过防火墙,接受检查,只有符合安全规则的数据才允许通过。 (4)使用防火墙实现功能 A.可以保护易受攻击的服务 B.控制内外网络之间网络系统的访问 C.集中管理内网的安全性,降低管理成本 D.提高网络保密性和私有性 E.记录网络使用状态,为安全规划和网络维护提供依据.(根据图示讲解) 2.防火墙的分类 (1)包过滤防火墙 优点:速度快; 缺点:一旦被攻破,对数据包源/目标地址与IP端口很容易伪造,常见有 “IP地址欺骗”. (2)代理服务型防火墙 优点:用户请求访问某站点,代理服务器就会替用户去那个站点取回所 需信息,再转发给用户,相对前面的防火墙,要安全很多. 缺点:速度较慢 二.iptables简介 是一款免费的软件,可代替高价的防火墙解决方案

docker安装各类软件

一曲冷凌霜 提交于 2020-01-09 06:43:03
安装Docker Docker 要求 CentOS 系统的内核版本高于 3.10 , uname -r 命令查看你当前的内核版本 1 安装一些必要的系统工具: sudo yum install -y yum-utils device-mapper-persistent-data lvm2    2 添加软件源信息: sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3 更新 yum 缓存: sudo yum makecache fast 4 安装 Docker-ce: sudo yum -y install docker-ce 5 启动 Docker 后台服务 sudo systemctl start docker 6 配置 镜像加速 vim /etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com"] } docker删除命令 sudo yum remove docker-ce sudo rm -rf /var/lib/docker Docker 安装mysql 1 查找Docker Hub上的mysql镜像 docker search

SpringBootTest 测试工具

有些话、适合烂在心里 提交于 2020-01-07 10:21:52
以下内容,翻译自官方文档,并结合了学习过程的demo。 Spring Boot提供了许多实用程序和注解,帮助测试应用程序。测试支持由两个模块提供: spring-boot-test 包含核心项, spring-boot-test-autoconfigure 支持测试的自动配置。 大多数开发人员使用 spring-boot-starter-test ,它同时导入 SpringBoot 测试模块以及JUnit Jupiter、AssertJ、Hamcrest和许多其他有用的库。 此文使用当前最新稳定版本: SpringBoot 2.2.2.RELEASE 此 starter 还带来了 vintage 引擎,因此可以同时运行JUnit 4和JUnit 5测试。如果已经将测试迁移到JUnit5,那么应该排除JUnit4支持,如下例所示: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <exclusions> <exclusion> <!-- 此模块兼容junit4 和 junit 5,此示例直接使用 junit5 --> <groupId>org.junit.vintage</groupId> <artifactId

FTP连接时出现“227 Entering Passive Mode” 的解决方法

我怕爱的太早我们不能终老 提交于 2020-01-05 06:54:55
  今天从公网的服务器连接本地内网的FTP server copy文件时,系统老是提示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x),很是奇怪,于是上网找资料仔细研究了一下,原来FTP有两种工作模式,PORT方式和PASV方式,中文意思为主动式和被动式 ,详细介绍如下:   主动 FTP :     命令连接:客户端 >1024 端口 → 服务器 21 端口     数据连接:客户端 >1024 端口 ← 服务器 20 端口   被动 FTP :     命令连接:客户端 >1024 端口 → 服务器 21 端口     数据连接:客户端 >1024 端口 ← 服务器 >1024 端口   PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 客户端在命令链路上用PORT命令告诉服务器:“我打开了***X端口,你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求,建立一条数据链路来传送数据。   PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 服务器在命令链路上用PASV命令告诉客户端:“我打开了***X端口,你过来连接我”

在docker中用Tomcat运行web项目

我的梦境 提交于 2020-01-05 00:38:39
本文旨在用最通俗的语言讲述最枯燥的基本知识 上一篇文章《为什么要用docker》已经讲述了什么是docker以及我们要用docker的原因,并且讲解了如何安装docker。这时候很多读者磨拳擦脚跃跃欲试但却发现安装好docker之后就无从下手了,那么,接下来,小编会从以下方面讲述docker的一些基础知识,当然,理论都是生硬的,所以小编选取了javaweb项目中最常用的一个软件--tomcat的安装和使用来引导学习一些docker相关的知识,借此让读者能够从实战的角度去理解docker为什么会有这些基础知识以及如何使用这些基础知识。 我们知道,web开发和部署离不开tomcat,而在目前的实际情况是: 一个项目中,每个开发者本机电脑都有自己的tomcat或者用idea的内置tomcat,当我们开发完成提交测试时,测试服务器上也有一个tomcat;当项目上线时,线上服务器也有一个tomcat,因此就很容易出现一些奇奇怪怪的问题,比如在同事A电脑上能正常运行的,到同事B电脑上就出问题的;或者是在测试环境里一切正常,到了线上bug一堆。这时候docker就有了用武之地,项目负责人把docker的tomcat镜像做好了之后上传到镜像仓库,项目成员的电脑环境、测试环境、线上环境均拉取这个tomcat使用,就能保持在所有的环境下tomcat的版本、设置都是一致的,避免了一些非技术的问题。 那么

Docker和虚拟机有什么差别?

ぐ巨炮叔叔 提交于 2020-01-04 21:23:41
一、宿主如果和容器系统不同的话,那不是和虚拟机一样,一层层的调用,那么Docker和虚拟机还有什么差别? 要把Windows和Linux分清楚,更要把内核(kernel)和用户空间(userland)分清楚。容器内的进程是直接运行于宿主内核的,这点和宿主进程一致,只是容器的userland不同,容器的 userland由容器镜像提供,也就是说镜像提供了rootfs。假设宿主是Ubuntu,容器是CentOS。CentOS 容器中的进程会直接向Ubuntu宿主内核发送syscall,而不会直接或间接的使用任何 Ubuntu 的 userland 的库。 这点和虚拟机有本质的不同,虚拟机是虚拟环境,在现有系统上虚拟一套物理设备,然后在虚拟环境内运行一个虚拟环境的操作系统内核,在内核之上再跑完整系统,并在里面调用进程。 还以上面的例子去考虑,虚拟机中,CentOS的进程发送syscall内核调用,该请求会被虚拟机内的CentOS的内核接到,然后CentOS内核访问虚拟硬件时,由虚拟机的服务软件截获,并使用宿主系统,也就是Ubuntu的内核及userland的库去执行。 而且,Linux和Windows在这点上非常不同。Linux的进程是直接发syscall的,而Windows则把 syscall隐藏于一层层的DLL服务之后,因此Windows的任何一个进程如果要执行,不仅仅需要

Docker容器——镜像管理,端口映射,容器互联

孤人 提交于 2020-01-03 00:03:37
docker镜像的分层  Dockerfile 中的每个指令都会创建一个新的镜像层;  镜像层将会被缓存和复用;  当 Dockerfile 的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效;  某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效;  镜像层是不变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然包含该文件 docker镜像 是应用发布的标准格式 可支撑一个docker容器的运行 docker镜像的创建方法 基于已有镜像创建 基于本地模板创建 基于dockerfile创建 基于已有镜像创建 将容器里面运行的程序及运行环境打包生成新的镜像 docker commit [选项] 容器ID/名称 仓库名称:[标签] -m:说明信息 -a:作者信息 -p:生成过程中停止容器的运行 基于本地模板创建 通过导入操作系统模板文件生成新的镜像 使用wget命令导入为本地镜像 导入成功后可查看本地镜像信息 基于 Dockerfile 创建 Dockerfile 是由一组指令组成的文件 Dockerfile 结构的四部分: 基础镜像信息; 维护者信息; 镜像操作指令; 容器启动时执行指令; 使用 Dockerfile 创建镜像并在容器中运行 dockerfile操作指令 1,基于已有镜像创建 [root@localhost ~]

计算机网络(传输层)

送分小仙女□ 提交于 2019-12-30 02:48:23
概述 网络层时为主机之间提供逻辑通信 传输层向应用层提供进程间端到端的逻辑通信服务(U形通信路路线) 运输层向上层用户屏蔽了下面网络核心的细节,使应用进程看到的就是好像在两个运输层实体之间有一条端到端的逻辑通信通道。 传输的数据单位:运输协议数据单元TPDU 用户数据报协议UDP(User Datagram Protocol) 传送的数据单元是UDP数据报 无需建立连接 传输控制协议TCP(Transmission Control Protocol) 提供面向连接的服务,先建立连接在传输数据,最后释放连接 传输层端口 复用:应用层的所有应用进程都可以通过传输层在送到网络层 分用:传输层从IP层收到数据后,交付给指定的进程 前提:在本地计算机系统中的进程使用进程描述符标志运行在操作系统中的多个进程,而在互联网环境下,运行在应用层的各种应用进程不可以用进程标识符,因为不同计算机使用的操作系统千差万别,需要用统一的方式去使得不同操作系统的计算机应用可以通过互联网通信。 在运输层使用协议端口号(port)可以解决这个问题,通信的终点是应用程序进程,但我们把数据交给目的主机某个合适端口,剩下的交付过程交给TCP 区分,硬件端口是不同硬件设备进行交互的接口,软件端口是应用层的各种协议进程与运输实体之间进行层间交互的一种地址。 传输层收到IP层交上来的传输层报文

RabbitMQ安装与初始配置

和自甴很熟 提交于 2019-12-30 01:26:24
目录 Erlang安装 RabbitMQ安装 启动/关闭/状态查看 访问端口 参考 用户权限管理 用户管理 权限管理 参考 System Limits 参考 日志 本文只讨论linux下的Rabbitmq安装。 Erlang安装 rabbitmq依赖于Erlang,需先安装,推荐安装 rabbitmq/erlang-rpm : #clone源码 git clone https://github.com/rabbitmq/erlang-rpm.git #make cd erlang-rpm make #需要等待较长时间 cd RPMS/x86_64 #其下有两个rpm包 erlang-19.3.6-1.alios6.x86_64.rpm erlang-debuginfo-19.3.6-1.alios6.x86_64.rpm, 选择前者安装 #安装 sudo rpm -ivh erlang-19.3.6-1.alios6.x86_64.rpm RabbitMQ安装 在 官网下载页面 找到和系统版本对应的rabbitmq版本: #安装rabbitmq-server sudo yum install rabbitmq-server-3.6.10-1.el6.noarch.rpm #此时可能报:Requires: socat, 以下是解决方法, 参考:http://www.cnblogs