android5下原生反垃圾电话的方法

2016年4月24日 没有评论

众所周知,在大天朝,每天不接几个十几个甚至更多垃圾电话,出门都不好意思跟人打招呼:)但是我又不想安装号码通之类的第三方应用,于是就只好在原生的功能上想办法。最终也是从google上找到了这里。感觉方法太赞了!
其实思路比较简单:

  1. 首先,添加一个叫blacklist的联系人,在”edit contact”界面点击右上角三点,然后勾选上“All calls to voicemail”
  2. 然后,将每个你认为是垃圾电话的号码加到这个联系人的联系方式里。

完了,就这些。然后这些垃圾电话再打过来的时候就直接进voicemail了。这世界终于清净了。

分类: tips 标签:

把打洞命令写入配置文件

2016年4月23日 没有评论

中小公司拉不起专线,各种用来连接各个私网的tunnel显得尤为到处可见。就是这么一个人民群众喜闻乐见东西,有的配置缺相当不正规

  • 比如都是写在启动脚本里,service network restart一下就掉了
  • 再比如,用了多余的互联ip,让整个结构变得很复杂
  • 还有,打洞伴随而来的私网路由非常不好加

所以,我看了下网络启动脚本,google一下文档,得出了如下一个配置文件,用于打洞。环境假设:1网段(ip是10.0.1.0)和2网段(ip是10.0.2.0)是两个私网网段,但是都有自己的internet出口A(ip是10.0.1.1和11.11.11.11)和B(ip是10.0.2.1和22.22.22.22),现在要通过公网打条tunnel,把这两个私网网段逻辑上链接起来。
机器A上的配置文件/etc/sysconfig/network-scripts/ifcfg-gre0是这样的:

DEVICE=gre0
ONBOOT=yes
TYPE=GRE
PEER_OUTER_IPADDR=22.22.22.22
PEER_INNER_IPADDR=10.0.2.0/24
MY_OUTER_IPADDR=11.11.11.11
MY_INNER_IPADDR=10.0.1.1
BOOTPROTO=none
mtu=1476

上面配置里的MY_OUTER_IPADDR和mtu可以不提供,mtu的缺省就是1476。而这里由于服务器A除了11.11.11.11外还有一个公网出口ip:33.33.33.33,为了配置更清晰,所以写明了MY_OUTER_IPADDR
同样的,服务器B上的配置文件/etc/sysconfig/network-scripts/ifcfg-gre0的内容如下:

DEVICE=gre0
ONBOOT=yes
TYPE=GRE
PEER_OUTER_IPADDR=11.11.11.11
PEER_INNER_IPADDR=10.0.1.0/24
MY_OUTER_IPADDR=22.22.22.22
MY_INNER_IPADDR=10.0.2.1
BOOTPROTO=none
mtu=1476

最后,再分别在A和B上分别

ifup gre0;

即可。此时1网段和2网段已经私网互通了(只要把路由分别指向A和B)
BTW,需要注意的是,在A、B两台机器上还要分别打开forward:

sysctl -w net.ipv4.ip_forward = 1;

还要用iptables强制调整MSS:

iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu;

不然会踩mtu的坑的。

分类: tips 标签:

android版google photos不再同步照片的问题

2016年4月16日 没有评论

最近突然发现,神器google photos不再忘google同步我android手机上的照片了,现象是老是显示“Backing up 1 of xxx”,就是不干活儿。重装过google photos应用,清除过google photos的数据、google play service的数据,然并卵,一点用都没有!感谢万能的google,让我找到这里:http://forums.androidcentral.com/htc-one-m8/391813-google-plus-auto-backup-not-working-past-several-days.html#post3664029。这里原因讲的很清楚,因为我设定了wifi环境下上传,但是android认为我的某些wifi连接是mobile hotspots,也就是说是手机提供的热点,鉴于保护用户流量的原则,android拒绝在这种环境下干活儿。解决起来也简单:告诉android,这些wifi是真实的wifi环境,而不是手机搞出来的热点即可。具体我的moto x(android 5.0)是在这里设置的:settings–>Data usage,点右上角三点,选Network restrictions,在这个页面里将你的wifi的sid不选中。再重启google phptos即可!

分类: tips 标签:

lvm可以直接resize根分区了

2016年3月5日 没有评论

还是很长知识滴。一般来讲,感觉要动/分区,肯定得进rescue模式,然后把/给umount掉后才能做,但实际上,今天,我直接在线resize2fs了。具体情况是这样滴:
一台kvm从CloudStack迁到OpenStack上,原来的空间是5G,而新的是80G!

fdisk /dev/vda;

将多出的空间新建一个分区/dev/vda3

lvm pvcreate /dev/vda3;
lvm vgdisplay; # 查看vg的name,并注意"Free  PE"的值
lvm vgextend "VolGroup" /dev/vda3;
lvm lvdisplay; # 查看/的lvm的名字,这里是/dev/VolGroup/lv_root,并注意观察"Current LE"的值
lvm lvresize -l 20225 /dev/VolGroup/lv_root; # 这里的20225是上面"Free  PE"和"Current LE"之和
resize2fs /dev/VolGroup/lv_root;
分类: Operation System 标签:

错误设置lvs_sync_daemon_interface导致lvs director上公网出流量暴增的问题

2016年2月27日 没有评论

lvs director上跑的是keepalived,最近发现公网出流量很大,

iftop -i em2 -n

看发现是公网地址到224.0.0.81这个ip的流量很大。一查方知这个是用来同步lvs director的主从之间的连接信息的。
于是知道估计是同步连接信息的网卡设备配错了,导致用了公网去同步连接信息了。于是调整了配置中lvs_sync_daemon_interface的参数,将其指向内网ip地址,重启keepalived,一切OD了

分类: Operation System 标签:

openssl自签支持peap认证的证书

2016年2月21日 没有评论

我司办公室在折腾无线的802.1x认证,用的认证方式是peap,这个需要证书的purpose包含serverauth,但我们做的证书缺省是不包含的。而且,坑爹的是这个东西的修改没法通过命令行来实现,只能通过修改配置文件!!!于是,我们修改文件/etc/pki/tls/openssl.cnf
在[ usr_cert ]的最后一行,[ v3_req ]之前,添加一句:

extendedKeyUsage  = serverAuth, clientAuth
 
[ v3_req ]

再重新做证书,貌似就可以了。
但是貌似还是没有解决802.1x的认证问题,这个有空在继续讲

分类: Operation System 标签:

windows虚拟机(KVM)从CloudStack迁移到OpenStack的问题

2016年2月20日 没有评论

有个windows2012R2的kvm虚拟机,跑在cloudstack上的,现在要迁移到OpenStack(Liberty)上。一想,简单嘛,都是kvm。于是将windows2012R2的虚机停掉、做成模板、拷贝到OpenStack上、再在OpenStack中将其添加为images、最后在OpenStack里用这个image来起一个新的instance。结果是:instance起来了,但是进不去系统,只是让选键盘,然后修复、恢复、重新初始化什么的,但是实际上这几样什么都不行!
以上是问题,现在我讲讲我怎么解决的。首先下了个virtio-win的iso文件,在CloudStack上注册(ISO)上,然后在要迁移的这个虚拟机上attach这个ISO,再然后再虚拟机里将CDROM里的东西都拷贝到硬盘上,同时在OpenStack中新建一个卷,attach到虚拟机上。这样在虚拟机的设备管理器上就能看到有个打着感叹号标示的未知设备,双击它,选更新驱动程序,再选自选驱动程序位置,然后将搜索位置指向CDROM或者是刚才拷贝到的硬盘的位置,勾选上选子目录,再确定,系统会自动安装virtio的硬盘驱动。更新完毕,发现新加的这个卷已经被正确识别了。我们再在OpenStack里将这个卷detach掉、将CDROM也detach掉,最后停掉这个要迁移的虚拟机,将其做成模版。最后在CloudStack上将这个模版直接拷贝到OpenStack上,在OpenStack上将其添加到images里,然后再在OpenStack里基于这个image起个新instance,这个新instance起来了!登进去看,发现还是有些收尾工作要做,比如:网卡驱动不对呀什么的,表现就是设备管理器中的未知设备下有两个设备,于是双击-》更新驱动-》自选位置-》将位置定位拷贝过来的virtio驱动的目录-》确定!于是一会儿驱动程序装好,一切都OK了!
最后再谈谈为什么会出这个问题。首先,我感觉CloudStack和OpenStack(Liberty)在对待windows虚拟机用virtio驱动的态度上是不一样的,CloudStack相对保守,它给windows虚拟机的系统盘还是传统的ide驱动,但第二块盘开始也是virtio驱动了,而且网卡也没缺省用virtio;而OpenStack相对激进,从第一块盘系统盘开始就直接用virtio驱动,网卡也亦是virtio。

分类: Operation System 标签:

How to disable ipv6 in CentOS 7

2016年1月31日 没有评论

运维的同学,想想ipv6协议栈带来的坑,满满地都是泪呀。所以,不管啥系统,启用之前第一件事:干掉ipv6协议栈!
最近在测CentOS7.2,也就顺手学习并实践解决了下这个问题,特此记录下:

if grep -q "ipv6.disable=1" /etc/default/grub
then
    echo "\"ipv6.disable=1\" found in /etc/default/grub"
else
    sed -i.ori 's/^GRUB_CMDLINE_LINUX="/&ipv6.disable=1 /' /etc/default/grub
    /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
fi

当你再重启机器的时候

lsmod | grep ipv6;

空空的啥都没有,也就是说,ipv6被完全干掉了

分类: tips 标签:

让samba支持软链的方法

2016年1月30日 没有评论

相关的参数有三个:

wide links = yes
follow symlinks = yes
unix extensions  = no

如果只是在共享目录下的软链,比如/home目录下的A软链指向B,那么只需要在/home的共享配置里加上

follow symlinks = yes

应该就好。
如果软链要跳出共享目录,比如/home下A软链到/home1下的B,那么需要在globle区设置

unix extensions  = no

然后在/home共享下设置

wide links = yes

改完重启下samba
注意:这样允许跳出共享目录的软链有安全风险,强烈建议不要在公网上打开!!!

Mark一下

分类: tips 标签:

brew安装软件时下不下来软件的问题

2016年1月13日 没有评论

最近在Macbook pro上装一个叫LaunchRocket的东东

brew cask install launchrocket

时老出错,就是说launchrocket老下不下来
于是把要下的链接拷贝下来,找台机器手工下载下来再拷贝到需要的机器上

cp LaunchRocket.prefPane.zip /Library/Caches/Homebrew/launchrocket-0.7.zip;

然后再

brew cask install launchrocket

就直接OK了

分类: tips, TroubleShooting 标签: