网络端口

从零开始入门 K8s | Kubernetes 网络模型进阶

空扰寡人 提交于 2020-03-11 14:42:31
导读 :本文将基于之前介绍的 基本网络模型 ,进行更深入的一些了解,希望给予读者一个更广更深的认知。首先简单回顾一下容器网络的历史沿革,剖析一下 Kubernetes 网络模型的由来;其次会剖析一个实际的实现(Flannel Hostgw),展现了数据包从容器到宿主机的变换过程;最后对于和网络息息相关的 Servcie 做了比较深入的机制和使用介绍,通过一个简单的例子说明了 Service 的工作原理。 Kubernetes 网络模型来龙去脉 容器网络发端于 Docker 的网络。Docker 使用了一个比较简单的网络模型,即内部的网桥加内部的保留 IP。这种设计的好处在于容器的网络和外部世界是解耦的,无需占用宿主机的 IP 或者宿主机的资源,完全是虚拟的。它的设计初衷是:当需要访问外部世界时,会采用 SNAT 这种方法来借用 Node 的 IP 去访问外面的服务。比如容器需要对外提供服务的时候,所用的是 DNAT 技术,也就是在 Node 上开一个端口,然后通过 iptable 或者别的某些机制,把流导入到容器的进程上以达到目的。 该模型的问题在于,外部网络无法区分哪些是容器的网络与流量、哪些是宿主机的网络与流量。比如,如果要做一个高可用的时候,172.16.1.1 和 172.16.1.2 是拥有同样功能的两个容器,此时我们需要将两者绑成一个 Group 对外提供服务

Docker安装 Jdk、Mysql、Nginx、Redis、Tomcat(Linux学习笔录-8)

白昼怎懂夜的黑 提交于 2020-03-11 09:53:25
Docker安装 Jdk、Mysql、Nginx、Redis、Tomcat Docker详解及安装Docker 使用Docker安装环境有什么好处 1.配置镜像加速器 1.打开阿里云网站 2.进行登录,找到容器镜像控制台 3.配置Linux镜像加速器 2.使用Docker安装Jdk8 1.搜索镜像 2.下载镜像 3.启动容器 3.使用Docker安装Mysql 1.查找Mysql 2.下载MySQL5.7版本镜像 3.创建mysql容器 4.使用SQLyou连接Mysql 4.使用Docker安装Nginx 1.下载Nginx镜像,启动Nginx容器 2.外网访问Nginx 5.使用Docker安装Tomcat 1.下载Tomcat镜像,启动Tomcat容器 2.外网访问Tomcat 6.使用Docker安装Redis 1.下载Redis镜像,启动Redis容器 2.使用RedisDesktopManager连接Redis 如果中途报错了怎么办 1.使用Docker自带的logs命令查看容器运行日志 2.推荐解决Docker Bug网站,有问必答 Docker详解及安装Docker Docker详解及安装Docker,解释的非常详细,不是很懂或者不懂的话可以去看一下 使用Docker安装环境有什么好处 1.如果配置镜像加速器,Docker安装环境非常的快 2.mysql

RSTP-MSTP

别来无恙 提交于 2020-03-11 06:41:05
一、STP 1.STP的端口状态 a.侦听(listening)15s b.学习(learning)15s c.转发(forwarding) d.阻塞(blocking)20s 2.STP选举 a.选举根桥:先比较优先级,再比较MAC地址,越小越好,默认32768 b.选举根端口,每个非根交换机只有一个根端口,通过比较cost值,按入口方向计算 c.选举指定端口,根桥的所有端口都是指定端口 总结: a.每个冲突域只有一个指定端口 b.根桥的所有端口都是指定端口 c.比较到根桥的开销 d.如果cost值相同,则比较自己的优先级和MAC 二、.portfast(又叫边缘端口) a.相对普通STP,节省30s b.不要在接交换机的接口开启 c.不能在开启portfast的接口上开启trunk d.一般用在接入层交换机 命令: R1(config)#spanning-tree portfast 如果要在交换机上全部开启: SW1(config)#spanning-tree portfast default 如果要在某个接口上禁用此功能: SW1(config)#spanning-tree portfast disable 三、uplinkfast  1.block端口要过30s才能转为forwarding状态,为了能快速转为fordwarding状态,我们可以用uplinkfast技术

docker容器访问

浪尽此生 提交于 2020-03-10 19:19:09
一般我们在访问容器时需要通过容器的端口来访问, 设置容器的端口映射 才可以访问 可以通过 -P 或 -p 参数来指定端口映射。 -p(小写的)则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器 docker run -p ip:hostPort:containerPort [--name] [-i] [-t] 镜像名 [COMMAND][ARG...] ip:表示宿主机ip hostPort:宿主机端口号 containerPort:容器端口号 支持的格式有 : 1.ontainerPort,指定容器端口号,宿主机端口随机生成: docker run -p 80 --name web_test -i -t 80864d42dd23 hub.c.163.com/library/ubuntu /bin/bash 2.hostPort:containerPort映射主机端口和容器端口: docker run -p 8080:80 --name web_test -i -t 80864d42dd23 hub.c.163.com/library/ubuntu /bin/bash 3.ip::containerPort设置主机的随机端口到容器端口: docker run -p 0.0.0.0::80 --name web_test -i -t 80864d42dd23 hub.c

kalilinux学习笔记即问题处理

谁都会走 提交于 2020-03-10 17:20:32
一:安装kali sudo 加命令以root权限运行 reboot重启 shutdown -h now 关机 1.更改用户 第一步:sudo passwd root 第二步:输入原密码(kali)确认 第三步:输入新的密码,再输入确认最后reboot重启就是了, 登录就用root+密码 账户1:kali kali(普通账户) 账户2:root admin (root账户) 2.换源和更新 1.vim/etc/apt/sources.list进入vim编辑器添加源 2.若保存出现权限问题使用wq!保存 3.换源之后输入:apt-get update && apt-get upgrade && apt-get clean更新源和更新软件 3.汉化 1.终端输入apt-get install xfonts-intl-chinese ttf-wqy-microhei 安装中文字体(换源后才可以下载字体) 2.更换编码格式dpkg-reconfigure locales(root用户)进入图形化界面之后,(空格是选择,Tab是切换,带*是选中),选中zh_CN.UTF-8,确定后,将zh_CN.UTF-8选为默认。 3.终端输入:reboot重启 系统,到登录界面,右上角语言列表注意是否为zh_CN.utf8,点开列表,确定选中的为中文-中国(若出现部分更改,重启,重启可以解决很多问题) 4

尚学堂-Day020

安稳与你 提交于 2020-03-10 12:20:58
title: 尚学堂-Day020 date: 2020-03-05 20:21:04 tags: - Java - 尚学堂 categories: - 尚学堂 - Java 网络编程 端口和URL UDP和TCP 一、概念 网络即将不同区域的电脑连接到一起, 组成局域网、城域网或广域网。把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。 二、端口和URL 2.1、端口 端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机 上运行多个网络应用程序。 public class Test { public static void main ( String [ ] args ) throws Exception { InetAddress address = InetAddress . getLocalHost ( ) ; // 获取主机的地址的IP System . out . println ( address ) ; System . out . println ( address . getHostAddress ( ) ) ; // 获取IP System . out . println ( address . getHostName (

vlan划分

心不动则不痛 提交于 2020-03-10 11:35:00
1.根据端口来划分VLAN 许多VLAN厂商都利用交换机的端口来划分VLAN成员。被设定的端口都在同一个广播域中。例如,一个交换机的1,2,3,4,5端口被定义为虚拟网AAA,同一交换机的6,7,8端口组成虚拟网BBB。这样做允许各端口之间的通讯,并允许共享型网络的升级。但是,这种划分模式将虚拟网限制在了一台交换机上。 第二代端口VLAN技术允许跨越多个交换机的多个不同端口划分VLAN,不同交换机上的若干个端口可以组成同一个虚拟网。 以交换机端口来划分网络成员,其配置过程简单明了。因此,从目前来看,这种根据端口来划分VLAN的方式仍然是最常用的一种方式。 2.根据MAC地址划分VLAN 这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置它属于哪个组。这种划分VLAN方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停地配置。 3

重温FTP的主动模式和被动模式

廉价感情. 提交于 2020-03-10 10:33:57
最近做一个项目用到FTP和其它系统进行文件传输,结果在FTP网络连接的问题上花了很多时间,由于太久没搞多FTP,忘记了FTP不单单开放21端口,客户端采用不同连接模式对网络有不同。在此重温一下FTP的主动模式和被动模式的相关知识。 在使用FTP时,如果客户端机器和FTP服务器双方之间的所有端口都是开放的,那连接不存在问题。如果客户端与服务器之间有防火墙,如果没配置好防火策略和采用合适的连接模式,会导致登录成功,但无法List列表的问题。要避免出现这样的问题,首先要了解FTP的工作模式。 1.FTP的PORT(主动模式)和PASV(被动模式) (1) PORT(主动模式) PORT中文称为主动模式,工作的原理: FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下图: (2) PASV(被动模式) PASV 是Passive的缩写,中文成为被动模式,工作原理: FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器,

ncat 几个常用例子

ⅰ亾dé卋堺 提交于 2020-03-09 22:00:04
ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。 它被设计成可以被脚本或其他程序调用的可靠的后端工具。同时由于它能创建任意所需的连接,因此也是一个很好的网络调试工具。 ncat/nc 既是一个端口扫描工具,也是一款安全工具,还能是一款监测工具,甚至可以做为一个简单的 TCP 代理。 由于有这么多的功能,它被誉为是网络界的瑞士军刀。 这是每个系统管理员都应该知道并且掌握它。 在大多数 Debian 发行版中,nc 是默认可用的,它会在安装系统的过程中自动被安装。 但是在 CentOS 7 / RHEL 7 的最小化安装中,nc 并不会默认被安装。 你需要用下列命令手工安装。 [root@ linux techi ~]# yum install nmap-ncat -y 系统管理员可以用它来审计系统安全,用它来找出开放的端口然后保护这些端口。 管理员还能用它作为客户端来审计 Web 服务器、telnet 服务器、邮件服务器等, 通过 nc 我们可以控制发送的每个字符,也可以查看对方的回应。 我们还可以用它捕获客户端发送的数据以此来了解这些客户端是做什么的。 在本文中,我们会通过 10 个例子来学习如何使用 nc 命令。 例子: 1) 监听入站连接 通过 -l 选项,ncat

几个重要的TCP/IP选项解析(Java Socket)

帅比萌擦擦* 提交于 2020-03-09 21:43:40
Socket选择可以指定Socket类发送和接受数据的方式。在JDK1.4中共有8个Socket选择可以设置。这8个选项都定义在 java.net .SocketOptions接口中。定义如下: public final static int TCP_NODELAY = 0x0001;public final static int SO_REUSEADDR = 0x04;public final static int SO_LINGER = 0x0080;public final static int SO_TIMEOUT = 0x1006;public final static int SO_SNDBUF = 0x1001;public final static int SO_RCVBUF = 0x1002;public final static int SO_KEEPALIVE = 0x0008;public final static int SO_OOBINLINE = 0x1003; 有趣的是,这8个选项除了第一个没在SO前缀外,其他7个选项都以SO作为前缀。其实这个SO就是Socket Option的缩写;因此,在Java中约定所有以SO为前缀的常量都表示Socket选项;当然,也有例外,如TCP_NODELAY.在Socket