iptables

docker笔记

孤人 提交于 2020-08-10 09:46:52
一、windows 7下安装docker 1、下载Docker Toolbox,下载地址:https://www.docker.com/products/docker-toolbox 2、默认安装Docker Toolbox即可 3、安装好后,启动Docker Toolbox terminal,等待配置结束,显示虚拟机IP地址,出现命令符$ 注:1)出现Error with pre-create check: "This Computer doesn't have VT-x/AMD-v enabled. Enabling it in the BIOS is mandatory",则需要去BIOS开启VT 2)如果boot2docker.iso下载失败,可以手工下载https://github.com/boot2docker/boot2docker/releases/download/v1.12.6/boot2docker.iso,然后放到C:\Users\Administrator\.docker\machine\cache\目录 4、执行命令确认 #查看版本 docker version #查看信息 docker info 5、进入虚拟机 1)命令行下进入虚拟机,默认docker账号 docker-machine ssh default #切换root权限 sudo -i 2

云原生网络代理 MOSN 透明劫持技术解读 | 开源

空扰寡人 提交于 2020-08-10 08:25:05
MOSN 是一款使用 Go 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供多协议、模块化、智能化、安全的代理能力。MOSN 是 Modular Open Smart Network-proxy 的简称,可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡、API Gateway、云原生 Ingress 等使用。 MOSN: https://github.com/mosn/mosn 在由 Istio 定义的 Service Mesh 体系中,服务治理相关逻辑由独立的 Sidecar 进程处理,如服务发现、故障注入、限流熔断等等。这些处理逻辑是 Service Mesh 着重要解决的问题。通常在谈论到 Service Mesh 时,会优先关注在这些点上,但是在落地过程中,有一个问题同等重要但往往容易被忽视。这个问题概括起来,就是流量是如何被导入到 Sidecar 的监听端口的。 在数据平面的 Sidecar 中拦截进出应用容器的流量,这一直以来就是 Istio Service Mesh 中一切功能的基础,如何实现透明高效的拦截也是 Service Mesh 设计中的一大难点,本文为大家介绍云原生网络代理 MOSN 是如何做到这一点的。 流量接管 如果服务注册/发布过程能够允许适当的修改,这个问题会得到极大的简化

kubernetes入门之kube-proxy实现原理

做~自己de王妃 提交于 2020-08-10 05:25:58
kube-proxy service是一组pod的服务抽象,相当于一组pod的LB,负责将请求分发给对应的pod。service会为这个LB提供一个IP,一般称为cluster IP。 kube-proxy的作用主要是负责service的实现,具体来说,就是实现了内部从pod到service和外部的从node port向service的访问。 举个例子,现在有podA,podB,podC和serviceAB。serviceAB是podA,podB的服务抽象(service)。 那么kube-proxy的作用就是可以将pod(不管是podA,podB或者podC)向serviceAB的请求,进行转发到service所代表的一个具体pod(podA或者podB)上。 请求的分配方法一般分配是采用轮询方法进行分配。 另外,kubernetes还提供了一种在node节点上暴露一个端口,从而提供从外部访问service的方式。 比如我们使用这样的一个manifest来创建service apiVersion: v1 kind: Service metadata: labels: name: mysql role: service name: mysql-service spec: ports: - port: 3306 targetPort: 3306 nodePort: 30964

第十二章 Shell脚本编写及常见面试题(二)

瘦欲@ 提交于 2020-08-10 02:05:02
本章目录: 12.11 屏蔽 网站 访问频繁的IP 1)屏蔽每分钟访问超过200的IP 方法1:以Nginx日志作为测试 DATE=$(date +%d/%b/%Y:%H:%M) ABNORMAL_IP=$(tail -n5000 access.log |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>100)print i}') #先tail防止文件过大,读取慢,数字可调整每分钟最大的访问量。awk不能直接过滤日志,因为包含特殊字符。 for IP in $ABNORMAL_IP; do if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then iptables -I INPUT -s $IP -j DROP fi done 方法2:通过建立连接数 ABNORMAL_IP=$(netstat -an |awk '$4~/:80$/ && $6~/ESTABLISHED/{gsub(/:[0-9]+/,"",$5);{a[$5]++}}END{for(i in a)if(a[i]>100)print i}') #gsub是将第五列(客户端IP)的冒号和端口去掉 for IP in $ABNORMAL_IP; do if [ $(iptables -vnL |grep -c "$IP")

linux 下ssh 服务配置

血红的双手。 提交于 2020-08-09 17:19:03
SSH 服务器:    既然 telnet 不是很安全,那么我又需要以远程联机服务来操控我的 Linux 主机,那么应该怎么办呀!?最好的方法当然就是以较为安全的联机机制的方案来解决联机的问题啰!那么该如何解决这样的问题呢?这也不难啦,使用 SSH 即可。那么 SSH 是什么呢?他有什么特异功能?简单的来说,SSH 是 Secure SHell protocol 的简写,他可以经由将联机的封包加密的技术,来进行资料的传递,因此,资料当然就比较安全啰!这个 SSH 可以用来取代 Internet 上面较不安全的 finger, R Shell (rcp, rlogin, rsh 等指令), talk 及 telnet 等联机模式。底下我们将先简介一下 SSH 的联机模式,来说明为什么 SSH 会比较安全呢! 特别注意:这个 SSH 协议,在预设的状态中,本身就提供两个服务器功能: 1. 一个就是类似 telnet 的远程联机使用 shell 的服务器,亦即是俗称的 ssh ; 2. 另一个就是类似 FTP 服务的 sftp-server !提供更安全的 FTP 服务。 · 联机加密技术简介: 基本上,加密的技术通常是藉由所谓的『公钥与私钥』亦即『Public and Private keys』来进行加密与解密的动作!如下图所示,当 SSH 激活服务之后,会产生一支公钥

Centos手动编译安装升级openssh

丶灬走出姿态 提交于 2020-08-09 11:23:29
centos6通过yum安装的openssh默认为5.3p1,已经非常落后了,且很多漏洞,只能通过升级sshd来修复。 第零部分 安装telnet(略)以免卸载ssh之后无法连接服务器 第一部分 备份和卸载老版本的openssh(如果有的话) 通过find / -name "ssh"和find / -name "sshd"找到openssh的配置文件,一般是在/etc/ssh目录,所以将整个目录备份 cp -r /etc/ssh /etc/ssh.old 通过rpm -qa |grep openssh命令查找本机安装的openssh服务,一般结果有三行openssh,openssh-server,openssh-clients 然后通过rpm卸载 rpm -e --nodeps openssh rpm -e --nodeps openssh-server rpm -e --nodeps openssh-clients 此时通过rpm -qa |grep openssh和find / -name "ssh"等命令查找ssh,会发现已经卸载干净了 第二部分 下载编译安装新版openssh 首先通过yum安装依赖和必要工具 yum install wget gcc openssl-devel pam-devel rpm-build tcp_wrappers-devel -y 然后在

Centos7+Mysql8双机热备(主-主复制HA) 操作说明

我怕爱的太早我们不能终老 提交于 2020-08-09 11:04:29
Centos7+Mysql8双机热备(主-主复制HA) 操作说明 庞国明,2018-09-13 1.1 操作前的准备 两台服务器,并同时按照Centos7.3新装版本(必须装相同版本); 如果有外网链接则配置Centos7联网、安装wget工具,如果没有外网链接则跳到 “1.2 centos7下安装mysql”; 配置Centos7 联网 新装Centos7默认联网是关闭的,可以通过以下步骤设置开机联网 第一步:[root@localhost ~]# cd /etc/sysconfig/network-scripts/ 第二步:[root@localhost ~]# ls 这时候你会发现没有教程上说的ifcfg-eth0文件,打开第一个即可。 有的教程找不到就新建一个,肯定是错的。 第三步:[root@localhost ~]# vi ifcfg-eno167777736 第四步:修改ONBOOT为yes 保存退出(参考vi使用方法) 第五步:[root@localhost ~]# service network restart Centos7 下安装wget 本次操作采用Centos 的yum源安装,需要先下载rpm包,因此我们需要先安装wget下载工具 [root@localhost ~]# yum install wget 安装期间会提示确认提示,输入y 确认安装即可。 1

虚拟机局域网集群模拟Nginx负载均衡

自作多情 提交于 2020-08-08 12:48:00
本教程是在ubuntu下进行 固定虚拟机ip教程: https://blog.csdn.net/iamzhoujunjia/article/details/107350260 虚拟机集群机器ip及作用: 192.168.0.171:对宿主机开放80端口。负责请求转发到其他三台机。 192.168.0.172:只对171开放80端口。备机,其他两台几台挂了的情况才启用。 192.168.0.173:只对171开放80端口。 192.168.0.174:只对171开放80端口。 一、安装nginx 在171~174四台虚拟机上执行下面命令安装 sudo apt install nginx sudo systemctl enable nginx 浏览器输入虚拟机ip如192.168.0.171看是否起了nginx服务。 nginx安装后文件目录位于/etc/nginx下。查看nginx.conf配置,找到默认欢迎页面所在路径,修改欢迎页面,便于最终负载搭建完成后,知道请求转发到那台机器上。 nginx的负载用的是upstream模块。修改192.168.0.171的nginx.conf文件 sudo vim /etc/nginx/nginx.conf 在http模块写入负载规则 upstream webservers { server 192.168.0.173:80 weight=1

CentOS-6.5系统基础优化篇,附带优化脚本

岁酱吖の 提交于 2020-08-08 07:21:41
优化内容: (1.设置history历史记录 (2.添加普通用户,设置sudo权限 (3.禁止root远程用户登录 (4.修改远程端口 (5.精简开机启动服务器 (6.关闭selinux (7.配置iptables (8.修改最大连接数 ulimit (9.禁止使用Ctrl+Alt+Del快捷键重启服务器 (10.修改默认DNS (11.安装必要软件,更新yum源 [epel源] (12.更新内核和软件到最新版本 (13.优化内核参数 [根据实际情况调整] (14.去除 上次登录的信息 (15.关闭开机显示内核信息 1.设置history历史记录 echo ' export HISTFILE=$HOME/.bash_history export HISTSIZE=2000 export HISTFILESIZE=2000 export HISTTIMEFORMAT="%F %T `whoami` " export PROMPT_COMMAND="history -a; history -c; history -r;" shopt -s histappend typeset -r PROMPT_COMMAND typeset -r HISTTIMEFORMAT ' > /etc/profile.d/history.sh source /etc/profile 2.添加普通用户