2017年6月28日星期三

阿里云SLB与计费方式的选择

        阿里云SLB分为两种:公网SLB 与 私网SLB
        SLB 有一个公网地址,但是它会对负载的数据包作源地址的转换,这样APP服务器netstat看到的IP地址就是100.97.0.0来的地址了,而没办法从网络层获取用户真实的IP地址了,这就是阿里云私网SLB带来的问题,同时也导致APP服务器如果没有购买公网IP地址,就无法访问互联网了。
        对于访问互联网的最佳解决方案,就是买一台ECS搭建软路由,同时也可以用VPN搭建混合云,统一对网络出口做管理。当然你也可以给每一台服务器买一个弹性IP地址。

对于计费方式,公网SLB有两种

  1. 按流量和时间计费
  2. 按带宽计费          
两种计费方式都有其优点与缺点,如果怕搞活动流量太大,可以想使用带宽计费,待1-2个月稳定后,查看之前的流量统计,进行分析,之后就可以确定选择什么计费方式了。

对普通类型DDOS攻击会导致流量费暴增,完全可以不用担心,对于服务器来说,入的流量是免费的,而DDOS流量主要是上传的流量,所以并不会导致流量费用增加。
但是对于CC攻击的话,就没办法了,他主要依靠对于消耗CPU以及内存资源的页面进行大批量请求,必然会造成下行流量的增加,而且CC攻击只需要少量的上传数据包,就可以导致服务器出的流量大幅增加


在【费用中心】-->【使用记录】-->【SLB】-->选定一段时间,导出csv
之后你会看到这段时间内的流量总量。
根据  每G的费用就可以算出流量总费,这样就可以判断了。


参考链接:
       SLB数据导出
       SLB两种类型
       SLB介绍页面
       计费规则
       CC攻击

2017年6月26日星期一

python_2.6升级到2.7 pip安装与配置

CentOS release 6.8 (Final)  默认安装python 2.6,自己写的脚本要在2.7才可以运行。

1. 升级需要到使用源码编译安装
2. 编译安装之前,需要用yum grouplist检查下 development tools安装好没有
3. 下载源码,并且解压
4. 使用 ./configure    make    make install 编译安装到prefix的目录下
5. 配置好运行环境,做好软连接
6. yum 由于用到了python 2.6,这个时候yum的运行会故障
           vim  `which yum`  把第一行给为python 2.6的路径

7. 安装pip
           yum install python-pip
8.配置pip源
          cd ~
          mkdir .pip && cd .pip
          vim pip.conf
          写入    
          [global]
          trusted-host =  mirrors.aliyun.com
          index-url = http://mirrors.aliyun.com/pypi/simple

9. 运行pip,就可以使用阿里云的源了




参考链接:
       升级的具体方法
       pip配置
       pip还有更多的强大功能,官方pip指南

2017年6月5日星期一

无需输入账号密码,命令行启动mstsc

添加凭证,用来自动登录
C:\Users\Administrator>cmdkey /generic:"1.1.1.1" /user:"administrator" /pass:"aaaaaaaa"

命令行启动
C:\Users\Administrator>mstsc /console /v:1.1.1.1

查看命令行帮助
C:\Users\Administrator>mstsc /?



参考链接:

2017年5月25日星期四

思科 NTP 与 dns配置

       本次内网NTP无法去外网同步的原因:电信运营商对网络做限制导致的,这限制很显然不是他们的目的,可能是不小心误操作导致的,致电给运营商沟通后,两天内,NTP同步的问题就解决了。经过4天NTP时间同步问题的故障排除操作,终于解决。 在这里我要谴责一下运营商的这些影响人们正常工作的行为。这不是他们第一次做,之前我google与百度也查到类似的情况。

dns配置
ip name-server 114.114.114.114
ip domain-lookup

这样就可以ping 域名测试连通性了

阿里云NTP

0x01  rdate 是时间同步的好工具
     
        man page说明
                  rdate通过TCP/IP网络连接到RFC 868时间服务器,输出时间或者设置系统时间
     
       很多时候ntpdate不能同步的,rdate却能完成任务
       常用参数含义:
             -p    输出远程设备返回的时间到终端
             -s    把系统时间设置为返回的时间
             -u    是用udp,而不是tcp传输
             -v    输出获取的过程
             -n    使用SNTP 而不是 RFC 868时间协议

       可用性较高的时间服务器
              rdate -ps time-b.nist.gov

0x02  ntpdate -- 通过NTP设置日期和时间的工具

       直接同步 ntpdate  0.cn.pool.ntp.org

       常用参数:
              -d     启用debug模式,如果报错就可以使用该选项进行调试
              -o     使用指定NTP版本去获取时间,默认是4

0x03  ntpq  -- 标准的NTP查询程序

        ntpq工具用来监控ntpd后台进程的运行情况与性能,也可运行交互模式,使用命令参数去控制

        -p   输出一列 配置文件里面server定义的peer,也显示状态汇总的情况
        -n   输出所有主机IP地址,而不是转换后的主机名

-pn 输出各字段的含义 (通过man ntpq可以得到更多的详细介绍)
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                Variable                           |                          Description                                                                                                 |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                [tally]                            |                          single-character code indicating current value of the select field of the peer status word                  |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                remote                             |                          host name (or IP number) of peer                                                                            |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                refid                              |                          association ID or kiss code                                                                                 |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                st                                 |                          stratum                                                                                                     |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                t                                  |                          u: unicast, b: broadcast, l: local                                                                          |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                when                               |                          sec/min/hr since last received packet                                                                       |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                poll                               |                          poll interval (log2 s)                                                                                      |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                reach                              |                          reach shift register (octal)                                                                                |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                delay                              |                          roundtrip delay                                                                                             |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                offset                             |                          offset                                                                                                      |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
               |                jitter                             |                          jitter                                                                                                      |
               +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+

0x04 本地局域网根NTP服务器

      /etc/ntp.conf
             server 127.127.1.0
             fudge 127.127.1.0 stratum 1


ntpq命令链接













             

在 Bash 中删除除某些文件外的所有文件[转]

0x01  
我的一位同事曾经问过我这样一个问题:在 Linux 下,如何删除目录中除某些文件之外的所有文件?当时,我告诉他可以通过模式匹配的方法解决。但其实,除此之外,还有其他的方法,正所谓“条条大路通罗马”。让我们来逐一看看。

假设要删除 ~/Downloads 目录中除 .iso 和 .zip 外的所有文件,那么在 bash 中可以按以下方法处理。

模式匹配法

shopt -s extglob # 确认开启 extglob 选项
cd ~/Downloads
rm -v !(*.iso|*.zip)
!(pattern list) 的作用是匹配除 pattern list 之外的文件。


0x02
不知你是否想过在Linux命令行上,如何实现删除除了某个文件之外的所有文件?

如abc文件夹下有a、b、c三个文件,如何一行命令删除b和c,不删除a。有位童鞋在工作经常有此需求,本文将介绍其他童鞋提供的实现方法。



其中rm -f  !(a) 最为方便。如果保留a和b,可以运行rm -f !(a|b)来实现。

不过一般bash中运行后会提示

“-bash: !: event not found ” 可以通过运行shopt -s extgolb来解决。如下:
[root@localhost /]# mkdir abc
[root@localhost /]# cd abc
[root@localhost abc]# touch a b c
[root@localhost abc]# ls
a  b  c
[root@localhost abc]# rm -f !(a)
-bash: !: event not found
[root@localhost abc]# shopt -s extglob
[root@localhost abc]# rm -f !(a)
[root@localhost abc]# ls
a
[root@localhost abc]# touch b c d
[root@localhost abc]# rm -f !(a|b)
[root@localhost abc]# ls
a  b



另外也可以使用下面的方法:

[root@localhost abc]# ls
a  b  c
[root@localhost abc]# ls |grep -v a |xargs rm -f
[root@localhost abc]# ls
a

2017年5月19日星期五

虚拟化配置

vSphere  是客户端工具,用于管理虚拟机集群,用于连接vCenter
EXSI  是虚拟化宿主系统
vCenter  是虚拟机集群的后台管理系统,即服务器端,可以把多台EXSI加入集群

通过vCenter所在主机的IP地址,登录web管理界面或者vSphere的下载界面,
具体地址  https://x.x.x.x
载vSphere客户端,安装后,打开工具,
输入 administrator@vsphere.local 以及密码 登录管理控制台

1. 怎么制作虚拟机模板
2. 通过模板创建虚拟机
3. 虚拟机安装linux操作系统的磁盘分区设计与磁盘技术选型
4. 怎么把vmware虚拟机迁移到ESXi  (导出为你esxi平台的版本号)
5. 怎么把ESXi的虚拟机迁移到vmware (定位磁盘文件导出即可)
6. vmware使用虚拟机共享技术,以及使用“连接服务器”功能连接到Vcenter

最佳linux部署实践:
      1. 使用最小化系统安装(减少内存与CPU资源)
      2. 数据扩展目录使用LVM磁盘
      3. 根据需要的基本命令,完成模板的制作
      4. 用模板创建虚拟机,快速部署
      5. 部署完成后,修改主机名,IP地址
      6. 在使用之前,进行快照备份 (使用快照后,硬盘空间不能扩展,除非删除快照)


*.vmdk是虚拟硬盘文件
*.vmsn是快照文件
*.vmx是虚拟机的配置文件
如果在虚拟机开机状态下保存快照,还会有*.vmem的快照内存文件。

删除快照需要注意:
        进入数据存储里面看看,虚拟机的快照文件有多大,如果太大删除会消耗很多时间。
   

日志服务器部署的时候需要注意的地方:
      1. 日志服务器的数据存储,应该设置可以快捷扩展的,硬盘是日志服务器的消耗资源

CentOS 最小化系统的模板部署,网卡不见的解决方法:
       部署完成后,进入系统,service network restart 会提示如下:
       device eth0 seems not to be present
       vim /etc/sysconfig/network-script/ifcfg-eth0   -->  修改MAC地址
       根据虚拟机的网络适配器地址,进行设置

               之后按下面三步操作:
                       [root@c1node01 ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
                       [root@c1node01 ~]# reboot ………………
                       [root@c1node01 ~]# service network restart

debian 8 jessie 网卡设置
         debian的网卡设置非常简单,只需对interface文件默认的配置修改一下即可
         如果新增一个网卡,就把配置复制一份,修改写接口名称即可

2017/7/12

最近因为服务器内存资源不足,需要对内存进行扩展。
买内存之前,首先要看内存插槽还有多少个,内存插槽支持多大的容量,支持的内存型号。
这些信息其实都可以在vcenter vsphere客户端看到,【清单】【主机和集群】
ESXI主机下的 Hardware Status下看到。

还有一个情况是在vCenter下分多个账号,给每个账号分配一定权限,做好角色分组。


参考链接:
        VMware ESXi虚拟机克隆及迁移
        從VMware Workstation Pro 12 遷移虛擬機到 ESXi 6.0
        vCenter用户与权限分配
        VMware几种网络适配器区别
        vmware日志文件的路径



2017年5月18日星期四

安全域,概念众多,究竟何去何从,本文来个抛砖引玉

我从业这么久,经常讲安全域这个概念,但是它是如何诞生的,后面又经过怎么样的演变。

以下文字来源于 这篇文章

----------摘抄开始

首先来看定义:

定义1:安全域是由一组具有相同安全保护需求、并相互信任的系统组成的逻辑区域。

定义2:安全域是由在同一工作环境中、具有相同或相似的安全保护需求和保护策略、相互信任、相互关联或相互作用的IT要素的集合。

定义3:安全域是指同一环境内有相同的安全保护需求、相互信任、并具有相同的安全访问控制盒边界控制策略的网络或系统。

以上定义均为从网络摘抄。定义的主体分别为逻辑区域、IT要素的集合、网络或系统,但其表达的意思基本都是一样的。可能是由于中文博大精深,虽然字不一样,但所想表达的思想都是一样的。

----------摘抄结束

看看维基百科的安全域(security domain

而安全域这个概念又会被分为:
1. 传统安全域
2. 动态安全域
3. 虚拟安全域 (类似阿里云的安全组)
4. IBM的安全域 (Secure domain)

等级保护的安全域概念
《信息安全技术--信息系统安全通用技术要求》GB/T 20271—2006
《信息安全技术--信息系统等级保护安全设计--技术要求》

美国国安局《信息保障技术框架》里面提到的“纵深防御”(Defense in Depth
                 《信息保障技术框架》的全册链接

常见的划分方法:
1. 按照防护的层次:外部接口层、核心交换层、计算服务层、资源层,根据安全要求和策略的不同,划分区域
2. 网络安全域划分:本地网络、远程网络、公共网络、伙伴访问

划分注意:
1. 子网与安全域要分开,因为安全域是一组对象集合,与子网没有必然联系,如果非要将子网与安全域联系在一起,那么安全域将会被细分为非常多的层次,导致出现三级子安全域,甚至四级子安全域,将会让安全域设计的工作严重复杂化。

    子网与安全域的关系:
         一个安全域可以容纳多个子网
         一个子网只能归属一个安全域(子网A 归属 安全域A,子网A就不可能归属其他域)
   
    下图,就是不合理的设计,应该将子网与安全域分开规划


参考链接:
安全域划分
安全域的划分