Living a Simple Life is a Happy Life

有饭吃,自由自在,就非常开心

Difference of E1000 and VMXENT in Vmware Exsi

| Comments

Exsi中新建虚拟机网卡,可以选择四种网卡:E1000; 可变; VMXNET 2(增加型);VMXENT 3

Vmware官网解释了区别:

要想兼容性好,就是用E1000,基本上所有的OS的带了E1000的驱动。

要想性能好(降低CPU的使用率),那就用VMXNET 3,他是准虚拟化(ParaVirtualized),需要在VM里面安装vmware的驱动(包含在vmware tools),并且有一些限制,例如,虚拟机硬件版本必须是7以上,只有一些特定的操作系统被支持,

参考:

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1001805

TCP/IP Illustrated Note2

| Comments

traceroute

原理

开始时发送一个TTL字段为1的UDP数据报,然后将TTL字段每次加一,以确定路径中的每个路由器。每个路由器在丢弃UDP数据报时都返回一个ICMP超时报文2,而最终目的的主机则产生一个ICMP端口不可达的报文。

IP源站选路选项

  • 严格的源路由选择

发送端指明IP数据包所必须采用的确切路由。如果一个路由器发现源路由所指定的下一个路由不在其直接连接的网络上,那么它会返回一个“源站路由失败”的ICMP差错报文。

  • 宽松的源站选路

发送端指明了一个数据报经过的IP地址清单,但是数据报在清单上指明的任意两个地址之间可以通过其它路由器。

IP选路

一个简单的路由表

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.159.2   0.0.0.0         UG    0      0        0 eth0
192.168.159.0   *               255.255.255.0   U     0      0        0 eth0
192.168.159.0   *               255.255.255.0   U     0      0        0 eth1

注意Flags一列,它有5种不同的标志:

  • U (route is up) 路由启用
  • H (target is a host) 目标是主机
  • G (use gateway) 使用网关
  • R (reinstate route for dynamic routing)
  • D (dynamically installed by daemon or redirect)
  • M (modified from routing daemon or redirect)

主机表项比网络表项具有更高的优先级,而网络表项比默认项具有更高的优先级。

UDP

UDP长度字段指的是UDP首部和UDP数据的总长度

UDP校验和覆盖UDP首部和数据,而IP首部校验和只覆盖IP首部

永远不要完全相信数据链路的CRC校验,应该始终打开端到端的校验和功能。另外,即使是打开了,也要小心,UDP和TCP的校验和也不是可以百分百信赖的。

注意两个ICMP报文和UDP的交互:ICMP不可达报文和ICMP源站抑制差错报文

石头比特币之岛

| Comments

这是一篇妙文,讲述了我们人类世界一直习以为常的货币,其本质是什么,你会看到,早期的石头货币与现在数字货币并没有什么不同。

正文

所以,你已经决定了要把比特币告诉某些人

我很高兴听到这个消息。你赢得了我的祝贺和尊重;解释比特币是一个高尚的事业。其他高尚的事业还包括给麻风病患者沐浴,手动替便秘的骡子通便,以及任何包括“第一阶段的人体临床试验”这样的字眼的事。

我的意思是说,你正在做一件非常有必要同时将让这个世界变得更加美好的事情。然后,在不远的未来,你会感觉非常痛苦。你会痛苦、疲惫、并且真的怀疑这个事情的好处究竟会怎样到来。

比特币不能被轻松随意的解释或者方便的被比喻。事实上,没几个比较是适合它的!它是一种货币但它像一种商品一样运作。它的总量有限,所以…它几乎就像是黄金!…除了它是以一个精确的固定的速率被创造,并且将在一个准确的固定的时间点停止创造。所以,它又不像黄金。“挖矿”这个工作也并不真正的产出什么实物。比特币是一份倾倒给任何不加怀疑的新手的,时代错误的trainwreck(一种效力强劲的大麻)。并且可怕的伪字,比如说“区块链blockchain”和“hashcash”使得它听起来更像是一场骗局。

最疯狂的比特币用户

| Comments

这是比较早期的文章,文章的作者老端属于国内最早的玩家之一,现在也是英雄总被雨打风吹去了。老端也早就由粉转黑,不过现在看看,不失为介绍比特币的一篇妙文。

正文

看完这篇文章,我相信你一定会说,我靠,这世界上什么事情都会有!

最近老端一直在向大家介绍一种叫做“比特币”的东西,事实上我自己也囤积了不少,因为我非常看好这东西的前景,不仅如此,我还帮我的朋友代购了一些,但我不推荐他们买太多,这个购买量应该是即使全部损失也不影响生活的限度。可我忽然发现,这世界上原来有比我们疯狂几百倍的人。一位叫做Rickard Falkvinge的瑞典人,他将自己的全部资产换成了比特币。

Rickard在自己的博客的《为什么我把我的积蓄全部投入Bitcoin?》中写道:过去的几天里,我做了很多关于比特币的思考,最后我决定把我所有的积蓄,和所有我能借到的钱都投到比特币里面。

Rickard列出了三个他这么做的理由:

Bootstrap Learn123

| Comments

Caption1 startUp

  • ARIA: Accessible Rich Internet Applications

简单说来,就是指无障碍网页应用。主要针对的是视觉缺陷,失聪,行动不便的残疾人以及假装残疾的测试人员。尤其像盲人,眼睛看不到,其浏览网页则需要借助辅助设备,如屏幕阅读器,屏幕阅读机可以大声朗读或者输出盲文。

而ARIA就是可以让屏幕阅读器准确识别网页中的内容,变化,状态的技术规范,可以让盲人这类用户也能无障碍阅读!

参考:

https://www.sitepoint.com/html5-main-element/

TCP/IP Illustrated Note1

| Comments

又开始重读<TCP/IP详解>。发现真的是年纪大了….T_T,看了就忘,做笔记也用处不大。

打算每天读完一部分,在这里捡一些重要的地方记一下。

ARP

习得技能:

  • tcpdump -e 可以显示硬件层地址

IP

重要提示:

  • 传输之前需要把首部转换成网络字节序。注意,仅仅是首部就可以。

ICMP

重要提示:

  • 在对ICMP差错报文响应时,永远不会生成另一份ICMP差错报文

  • 当发放一份ICMP差错报文时,始终包含IP首部和产生ICMP差错报文的IP数据包的前8个字节。这样就可以精准知道谁产生的ICMP差错

  • ICMP的典型应用:

    • 掩码请求和应答 (大多数主机在收到请求后都会产生应答,而不是指定的主机应答,这其实是实现上的冗余)

    • 时间戳请求和应答

  • 多宿主机发送报文给自己的某个接口,其实都是给回环地址的,这样产生的ICMP应答其实搞不明白原始报文发给哪个接口

Ping

习得技能:

  • Ping -S 每秒一个往返请求

  • Ping -R 记录路由,但是有限制,最大只能存放9个IP地址,而且只记录路由出口

How to Keep Environment Variables and PATH When Using SUDO

| Comments

sudo tips

How to keep Environment Variables when Using SUDO

The trick is to add environment variables to sudoers file via sudo visudo command and add these lines:

Defaults env_keep += "HOME"

or and pay attention to the -E flag. This works:

export HOME=/home/users/memorybox
sudo -E bash -c 'echo $HOME'

How to keep PATH Variables when Using SUDO

vim /etc/sudoers
sed -i 's#Defaults    secure_path =.*#Defaults    secure_path =/usr/java/latest/bin/.....:#g' /etc/sudoers

How to change root env

sudo -i

Enable Ldap on Centos

| Comments

Dockerfile

FROM docker-registry.dev.netis.com.cn:5000/autobuild/centos6

# Maintainer: docker_user <docker_user at email.com> (@docker_user)
MAINTAINER memoryboxes [email protected]

# Commands to add ldap to image
RUN mkdir -p /etc/openldap/cacerts/ && \
    rpm --rebuilddb && \
    yum clean all  && \
    wget http://xxxxxx/ca.cert -O /etc/openldap/cacerts/ca.cert && \
    wget http://xxxxxx/sshd_config -O /etc/ssh/sshd_config && \
    chmod 600 /etc/ssh/sshd_config && \
    sed -i  's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config && \
    echo "xxxxxxx" | passwd --stdin root && \
    yum -y install pam_ldap.so authconfig nscd openldap-clients nss-pam-ldapd && \
    yum -y install sudo && \
    yum clean all

ADD nscd /etc/dockerservices/nscd
ADD nslcd /etc/dockerservices/nslcd
COPY docker_entrypoint.sh /

# Commands when creating a new container
ENTRYPOINT ["/docker_entrypoint.sh"]
CMD ["/usr/bin/svscan", "/etc/dockerservices"]

docker_entrypoint.sh

#!/bin/bash

set -e

echo "x.x.x.x ldap.xxx.com.cn" >>/etc/hosts
authconfig --enableldap --enableldapauth --ldapserver=ldap.xxx.com.cn --ldapbasedn="dc=xxx,dc=com,dc=cn" --enablemkhomedir --enableldaptls --enablecache

exec "$@"

再谈以太网帧格式

| Comments

又重新读了一遍《tcp/ip详解》,又重温了一遍万年知识以太网,为了不能忘却的回忆,我决定原文摘抄一遍。

以太网这个术语是指DEC、Intel和Xerox公司在1982年联合公布的一个标准。它是当今TCP/IP采用的主要局域网技术。 几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络, 802.5针对令牌环网络,这三者的共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)。不幸的 是,802.3定义了一个与以太网不同的帧格式。

下图定义了两种不同形式的封装格式:

802.3

在以太网帧格式中,类型字段之后就是数据,而在802帧格式中,跟随在后面的3字节的802.2LLC和5字节的802.2SNAP。

目的服务访问(DSAP)和源服务访问点(SSAP)的值都设为0xaa。ctrl字段的值设为3.随后的3个字节org code都设置为0。

再接下来的2个字节类型字段和以以太网帧格式一样。

CRC字段用于帧内后续字节差错的循环冗余码检验。

802.3标准定义的帧和以太网的帧都有最小长度要求。802.3规定数据部分必须至少为38字节,而对于以太网,则要求最少要有46字节。为了保证这一点,必须在不足的空间插入填充字节。

最后注意一下,mtu的大小只是指帧内容的大小,不包括帧头。所以mtu是1500时,QinQ又额外的四个字节,加上帧头共1522个字节,会丢包,最小要把mtu设置为1504。

学了点财会知识

| Comments

周末又复习了一点财会方面的知识,顺便又重温了复式记账,要想办法用起来啊。

记一些小tip:

企业账本一般分为

  • 总账

  • 明细账

  • 十三栏明细账

  • 存货进销存账目

  • 应收票据备查账

会计凭证

  • 原始凭证

    • 自制原始凭证

    • 外来原始凭证

  • 记账凭证

    • 收款凭证

    • 付款凭证

    • 转账凭证

会计恒等式

资产 = 负债 + 所有者权益

为什么要设定会计和出纳两个职位

  • 要求出纳和会计都登记资金类账簿,是为了互相核对的需要

  • 出纳的银行存款日记账要求更严格,如果出现错误,只能原页修改,而会计的银行存款证明细账可用活页替换

一般公司的差旅报销流程

  • 报销人填写差旅报销单

  • 分管领导签字

  • 会计统计明细账,核对单据

  • 财务负责人签字

  • 出纳支取

  • 领取人签字

一般纳税人和中小规模纳税人

  • 一般纳税人: 开具增值税专用票,17个点的抵扣

  • 中小规模纳税人: 可由国税局代开增值税专用票,3个点的抵扣

ps: 上海市国税地税不分家的,所以这个要实际操作才知道。