iptables

看!闲鱼在ServiceMesh的探索和实践

萝らか妹 提交于 2020-11-15 04:56:49
背景: 在阿里服务端开发以Java为主的大背景下,其他异构语言业务如何调用现有Java服务,如何与集团中间件打通,就成为使用非Java语言团队必须要解决的首要问题。 已有方案问题: 在ServiceMesh方案成熟之前,我们采用: 通过Dart C/C++扩展方式调用各中间件客户端SO库(类JNI) 。该方案在业务初期很好的解决了Dart服务端生态建设问题。但是该方案还存在以下几个问题: 运维耦合度高。业务代码和客户端SO库代码打包在一起,运行在同一进程,一旦微服务框架需要升级,业务代码也需要维护和重启。 复杂性:进程内的多个语言环境,跨语言数据表示和传输等问题,都会增加系统的复杂性,降低原有服务的性能。 接入成本高 新功能滞后 ServiceMesh方案: 由于现有方案存在的一些问题,我们转向ServiceMesh寻找解决问题的思路 如上图所示:与目前比较常见的微服务框架相比,ServiceMesh把微服务客户端核心功能独立出来,并作为一个独立Proxy进程部署在每一个主机上,业务进程通过Proxy进程与外界通信。这个独立的Proxy进程就是ServiceMesh的核心: SideCar。 业务进程和SideCar之间最常见的两种通信方案:1. 基于Iptables的流量拦截转发方案,2. 业务进程通过轻量化Mesh客户端直连SideCar。从实现原理上看

docker从容器中怎么访问宿主机

旧城冷巷雨未停 提交于 2020-11-15 00:20:00
docker从容器中怎么访问宿主机  我来答 分享 举报 浏览 3160 次 2个回答 #热议# 2019年全国两会召开,哪些提案和政策值得关注? 好程序员 知道合伙人 推荐于2017-11-22 docker搭建了lnmp环境后,如果需要访问安装在宿主机上的数据库或中间件,是不能直接使用127.0.0.1这个ip的,这个ip在容器中指向容器自己,那么应该怎么去访问宿主机呢: 例如你的docker环境的虚拟IP是192.168.99.100,那么宿主机同样会托管一个和192.168.99.100同网段的虚拟IP,并且会是主IP:192.168.99.1,那么就简单了,在容器中访问192.168.99.1这个地址就等于访问宿主机,问题解决 注意,通过192.168.99.1访问宿主机,等于换了一个ip,如果数据库或中间件限制了本机访问或者做了ip段限制,要记得添加192.168.99.1到白名单 本回答由提问者推荐 4 4 评论 分享 举报 北京欢迎你迎你 2016-12-25 docker跟宿主机交互的是通过原生网络实现的。 当Docker进程启动之后,它会配置一个虚拟的网桥叫docker0在宿主机上。这个接口允许Docker去分配虚拟的子网给即将启动的容器们。这个网桥在容器内的网络和宿主机网络之间将作为接口的主节点。 Docker容器启动后

Kubernetes简介

只谈情不闲聊 提交于 2020-11-14 13:08:21
  Kubernetes是Google开源的一款容器编排工具,它是诞生在Google内部运行N多年的博格系统之上的产物,因此其成熟度从其诞生初期就广泛受到业界的关注,并且迅速成为编排工具市场的主流,其社区活跃度非常高,版本迭代速度也很惊人,它的主要作用是对Docker容器做编排工作,当然,Docker只是容器工具的一种引擎,K8s可支持多种容器引擎,但从目前来说Docker容器引擎是具有绝对优势的,容器需要编排,也很容易理解,因为我们最核心要跑到业务通常都是LNMT/P的不同形式的扩展,但NMT/P他们的运行是有先后顺序的,也就是说MySQL要先启动,然后是Tomcat或PHP,最后是Nginx,而控制这种顺序就需要有容器编排工具来帮我们实现,另外,我们的业务希望7x24小时在线,如何保障?靠人是很难做到实时的,但编排工具可以,K8s帮我们实现了很多控制器,这控制器可以帮我们监控容器运行的状态,并自动帮我们重建(在容器时代重启就是重建)容器,并且还可以在容器处理能力不足时,自动根据我们定义的扩展规则,自动创建新Pod(k8s中最小单元,每个Pod中可有一个或多个容器),并且在压力下去后,自动删除Pod等等功能。 另外这里是K8s的中文官方文档zh站点:    https://k8smeetup.github.io/docs/ Kubernetes:  

CentOS 7.4编译安装Nginx1.10.3+MySQL5.7.16

大兔子大兔子 提交于 2020-11-10 07:56:12
准备篇 一、防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2、安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/iptables #编辑防火墙配置文件 # sample configuration for iptables service # you can edit this manually or use system-config-firewall # please do not ask us to add additional ports/services to this default configuration *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT

QEMU桥接配置

≡放荡痞女 提交于 2020-11-09 17:29:50
1、安装 app-emulation/qemu 、 sys-apps/usermode-utilities 、 net-misc/bridge-utils、 app-emulation/libvirt 、 app-emulation/virt-manager 2、配置/etc/conf.d/net文件 # Interface wlp1s0 config_wlp1s0=null # Interface tap0 config_tap0=null tuntap_tap0="tap" carrier_timeout_tap0="0" # Interface br0 config_br0="192.168.0.1/24" bridge_br0="tap0" rc_net_br0_need="net.tap0" bridge_forward_delay_br0=1500 bridge_hello_time_br0=200 bridge_stp_state_br0=1 bridge_priority_br0=50 brport_priority_wlp1s0=60 3、开启br0、设置转发和防火墙 1)临时设置 ifconfig br0 192.168.0.1 up sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING

QEMU桥接配置

女生的网名这么多〃 提交于 2020-11-09 17:17:58
1、安装 app-emulation/qemu 、 sys-apps/usermode-utilities 、 net-misc/bridge-utils、app-emulation/libvirt 2、配置/etc/conf.d/net文件 1)vi /etc/conf.d/net # Interface tap0 config_tap0=null tuntap_tap0="tap" # Interface br0 config_br0="192.168.1.1/24" bridge_br0="tap0" rc_net_br0_need="net.tap0" 2)设置br0和tap0接口 cd /etc/init.d ln -s net.lo net.tap0 ln -s net.lo net.br0 rc-update add net.br0 default /etc/init.d/net.br0 start 3、设置转发和防火墙 1)开启转发 vi /etc/sysctl.conf net.ipv4.ip_forward=1 sysctl -p 2)设置防火墙 rc-update add iptables default iptables -A FORWARD -i br0 -o wlan0 -j ACCEPT iptables -t nat -A POSTROUTING

在qemu-kvm配置桥接网络

家住魔仙堡 提交于 2020-11-09 13:36:05
为了宿主机和虚拟机可以很好的通信,当然是选择桥接网络啦!!! 话不多说 ===========================配置桥接网络========================== 虚拟机虽然能够上网了,但是宿主机并不能与虚拟机通信,这给开发调试带来了很多的困难。我们希望的是,可以用ssh连上虚拟机。这就要求虚拟机就像一台物理机一样,与宿主机存在于同一个网段内。 首先,在宿主机上,安装必要的工具(为了tunctl命令): 以下命令均是在su下进行若是认证失败,请输入sudo passwd root 进行密码更新重新进入su apt-get install uml-utilities 接着,创建一张虚拟TUN网卡: tunctl -t tap0 -u lfc 这里的lfc换成你的Linux用户名。然后,将网卡设置为任何人都有权限使用: chmod 0666 /dev/net/tun 之后,为tap0网卡设置一个IP地址,不要与真实的IP地址在同一个网段。比如我的真实IP地址是192.168.1.2(输入ifconfig -a 查看),那么我就给tap0设置192.168.2.1: ifconfig tap0 192.168.2.1 up 宿主机需要为虚拟机开启IP数据包转发,即在192.168.1.*网段和192.168.2.*网段转发数据: echo 1 > /proc

玩转ECS第5讲 | 弹性计算安全组最佳实践及新特性介绍

杀马特。学长 韩版系。学妹 提交于 2020-11-07 11:43:09
简介: 本次内容由阿里云智能技术专家王帝(丞浩)为大家介绍如何正确使用安全组、最佳实践以及新特性;详细了解安全组为何是云端的虚拟防火墙,以及为何是重要的网络隔离手段。 演讲嘉宾简介: 王帝(丞浩),阿里云技术专家,2017年10月加入阿里云弹性计算团队,主要负责网络安全组的优化和演进。 以下内容根据演讲视频以及PPT整理而成。 观看回放 更多课程请进入“ 玩转ECS详情页 ”了解 使用过ECS的朋友一定不会对安全组陌生,他是ECS实例的虚拟防火墙。配置安全组是创建ECS实例或者发生网络属性变更必不可少的一步。下面我就为大家分享一下安全组的相关内容。 本次分享主要围绕以下三个部分,安全组的简介,基本操作和最佳实践。 一、安全组简介 ECS网络访问控制 首先什么是安全组,阿里云ECS的网络访问控制,是由子网ACL和安全组两层实现的。大家知道阿里云提供VPC专有网络,是用户独有的云上私有网络。VPC专用网络为用户独立出一块网络区域,使得用户可以自行规划自己的网段,在没有配置公网IP的情况下,VPC是完全与外界隔离的。 交换机绑定网络ACL,ACL会对应一些控制规则,所有经过交换机的网络流量都需经过这些规则,一般配置的是黑名单规则(当然也支持指定白名单),例如不允许哪些网端的数据包流入或流出。 再往下一层就是我们今天要讲的安全组,相对于子网ACL是生效在交换机上,安全组实例级别的防火墙

MySQL 5.7.18的安装及主从复制(主从同步)

随声附和 提交于 2020-11-03 11:33:27
MySQL 5.7.18的安装与主从复制 IP 计算机名 角色 192.168.1.222 001 master 192.168.1.233 002 slave CentOS 6.9安装mysql5.7.18 # 这里只展示一台的安装过程,另一台一样操作 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 1、下载,解压,并创建软链接 [root@001 ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz [root@001 ~]# tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ [root@001 ~]# cd /usr/local/ [root@001 local]# ln -sv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql 2、新建mysql用户组和mysql用户 [root@001 local]# groupadd mysql [root@001 local]# useradd -g

redis未授权访问之利用

匆匆过客 提交于 2020-11-02 14:54:08
文章源自【字节脉搏社区】-字节脉搏实验室 作者-Jadore 扫描下方二维码进入社区 : redis简介 Remote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 redis未授权访问产生原因 Redis 若因配置不当存在未授权访问漏洞,则攻击者可进行恶意利用。当以 root 身份运行时,可以通过root 写入 SSH 公钥文件,直接通过 SSH (默认端口22)登录,从而获取服务器权限。 redis利用场景1:webshell写入 条件:有web服务,知道路径,具有增删改查权限 首先使用redis客户端直接无账号登录redis: 这里假设路径为/home/jadore,可以执行如下命令写入webshell: 靶机上可以看到 edis利用场景2:公私钥免密认证登录SSH 条件:redis以root身份运行 首先我们可以生产一个密钥对,密码为空,命令如下: