逗比记事:怎么自己修VPS的网络配置错误,重置root密码,如果面板不能提供这个功能

自己弄错了,改错了网络设置,然后就保存并重启了。

果然上不去了。

机器是KVM,面板不能改root密码。

不求客服,自己解决:

 

KVM进去。Vultr的KVM是图形界面。。。而且默认不开root登陆。

我恰好还没有另一个低权限的我记得密码的可以登陆的东西。。

Guest是不成的。

这时,https://www.vultr.com/docs/boot-into-single-user-mode-reset-root-password  :

进入单用户模式:

重启,马上进KVM(这里是VNC),按Esc,进入GRUB引导菜单。

按e修改第一项。

找到内核行们也就是“linux /boot/”这行,在后面加 init=”/bin/bash” 。按Ctrl+X或者F10重启。

这样就可以进入一个root的CLI模式。

敲”mount -rw -o remount /”,挂载硬盘。

这样就可以nano掉错误的网络,并重启了。

需要改密码,直接passwd 修改。

Batch download pp.163.com | 批量下载网易摄影 pp.163.com 的照片

使用方法:

修改成你需要的线程和下载器 然后:

python 163pp.py [分辨率] URL1 URL2…

地址:

https://gist.github.com/cnbeining/17a9a58b4a3d76f72d50

代码下面。

Continue reading

翻译:使用带strongSwan的L2TP,即使是OpenVZ

      3 Comments on 翻译:使用带strongSwan的L2TP,即使是OpenVZ

译者注:希望你看英文不晕,否则请关掉吧。

yep, pretty strong swan

如果你想找一个全平台制霸,连路由器都不用刷的VPN,那基本上就是PPTP和L2TP+IPsec这两个中选了。因为安全和NAT穿越(以及GFW——Beining注)的问题,这年头不流行PPTP了。而L2TP的无用内容(overhead)有点多,而且还有个L2包的传输——这玩意有啥用啊。

挺奇怪,虽然IPsec很灵活,很成熟,网上却没有非L2TP的IPsec指南。黑喂狗。

深♂入IPsec

大体上,“所有的IPsec都是VPN”不大准确。IPsec不是为了VPN开发的,是为了签名并端到端发送加密IP数据的。IPsec在IP层的上面(OSI的第3层——网络层,相对于PPTP和L2TP的第二层——数据链路层  Beining注)和一般创建一个新的网络层,数据被路由到上面的VPN不同,IPsec只加密外部服务器和客户端的连接。神奇吧。

现代的IPsec使用这些东西:

  • 认证头(AH),“保证被传输分组的完整性和可靠性”(wikipedia——Beining注)。这不仅仅加密数据,也包括包头,除了有些可变的东西,例如ToS和TTL。
  • 封装安全载荷(ESP),“对分组提供了源可靠性、完整性和保密性的支持”。
  • 安全关联(SA),“为了提供安全的通讯环境”。
  • 因特网密钥交换(IKE/IKEv2),”归属于IPsec协议族之下,用以创建安全联结”。

AH和ESP都在IP头有自己的协议号。在大局域网要建成,满地都是内网IP的时候,这种东西更加常见。IPsec支持ESP包的UDP封装,可以内网穿越;AH不能和NAT共用。

IPsec有两种模式:

  • 透明模式:签名IP头和数据(AH),或签名并加密数据(ESP)。不隐藏目标IP。在L2TP+IPsec中使用。
  • 隧道模式:签名(AH)而且加密(ESP)整个包。

IKE协议允许你使用X.509证书,预共享密钥或者扩展认证协议(EAP)认证。二元认证也可以。

所有的现代桌面操作系统(Windows  Vista以及以后,OSX,Linux),移动系统(Android,iOS, Blackberry,甚至WP)以及一些路由器支持IPsec使用ESP的隧道模式,我们就用这个。

注意:是IPsec,不是那个Cisco IPsec。

Linux下的IPsec

IPsec(AH/ESP, SA)在内核模式工作,只需要为客户端安装并设置IKE守护进程。虽然选择不少,但是只有两个还活跃:strongSwan和libreswan。第二个我不评价,没用过。(我也没用过——Beining注)第一个不错。而且,这个东西是唯一自带IPSec用户空间的,所以可以和OpenVZ的老内核一起用(这个东西的IPsec路由是坏的)

OpenVZ的IPsec注释

OVZ可以开L2TP,但是路由有问题。可以加防火墙规则解决,但是问题是——不可能这么做。你需要用strongSwan用户IPsec空间,libIPsec。编译strongSwan时,加上 —enable-kernel-libIPsec

链接:

http://lowendtalk.com/discussion/33226/need-someone-to-test-ipsec-on-their-boxes

https://lists.strongswan.org/pipermail/users/2014-February/005822.html

http://forum.openvz.org/index.php?t=tree&goto=39937

https://bugzilla.redhat.com/show_bug.cgi?id=1081804

 

strongSwan版本需要大于等于5.0.0,我推荐5.2.0+因为有个新的swanctl,比老的强得多。仅供提供信息使用。

Life with swanctl

Life without swanctl

需要安装这些东西:

  • xauth-noauth. 假的XAUTH认证,任何用户名和密码都能登陆。给没有XAUTH的设备用。(iOS的那个Cisco IPsec)
  • vici. swanctl 的内部接口
  • libIPsec. 各种容器的IPsec用户空间

如果没有,也不用特意安一个OVZ,如果不管iOS。Debian不支持,所以我写一下。

开工

Windows,Linux和BB用IKEv2,IKEv1+XAUTH给iOS,OSX和Android,IKEv2+EAP-TLS,只使用X.509密钥给人权机。娘们才用PSK呢。

strongSwan自己有一个密钥——“IPsec PSK”,难用,就是OpenSSL打个包加点花。我fork了一个Easy-RSA,这样可以自己生成IPsec和OpenVPN共用的密钥了!

http://github.com/ValdikSS/easy-rsa-ipsec

EASY-RSA很好用。

初始化PKI,生成CA和服务器客户端密钥。服务器必须有一个全名(FQDN)!

 

生成密钥了。有一个nopass,你以后可以自己加。

把密钥拷到strongSwan密钥目录。

 

私钥加到/etc/ipsec.secrets

 

strongSwan配置文件这样:

 

配置文件分块。“config setup”部分有两个注释:

  • “strictcrlpolicy = yes”要求真的证书吊销名单用于检验,
  • “uniqueids = no” 允许多个客户端使用同一个证书。
  • “%default”放一些默认可继承内容:
  • “dpdaction=clear” 开启失效对等项检测(Dead Peer Detection, DPD),如果超时就忘记客户端
  • “dpddelay=35s” — DPD等待
  • “dpdtimeout=200s” — DPD超时
  • “fragmentation=yes” 开启断裂,对某些垃圾ISP有用
  • ike — IKE安全连接的密钥
  • esp — ESP连接的密钥
  • left and right — 监听所有网络界面,接受所有客户端
  • leftauth/rightauth=pubkey — X.509验证
  • leftsubnet — 客户端要路由的子网。包括v4和v6.不用v6 就关掉。
  • rightsourceip — 客户端IP池。不用v6关掉。、
  • rightdns — DNS IP 地址

看一下IKE和ESP密钥。为了兼容性,什么都丢进去。第一个是AEAD(不加其他的认证算法),然后是D-H组。这个是最快的,然后是AES的CBC。关闭完全正向保密(Perfect Forward Secrecy,PFS)就不能连接了。

如果没安xauth-noauth,改成“xauth”,用户“client”的密码“clientpass“在”/etc/ipsec.secrets“。

 

现在应该是3种连接了:ikev2-pubkey 和 IKEv2一起用, ikev1-fakexauth 和 IKEv1以及 fake login/password authentication用,  ikev2-eap-tls IKEv2+EAP-TLS 给人权机。

“swanctl -L”这样:

 

MTU问题

因为不同的IPsec实现和问题,服务器不能猜客户端的MTU。Android是1500,strongSwan客户端是1400,Cisco是1300.我们改一下TCP MSS,避免v4的TCP包大于1360B,v6的大于1340B。也就是1400.

 

服务器做好了,别忘了NAT!

客户端

基本上:

导入p12证书,建立IPsec PKI/IPsec XAUTH RSA/ IKEv2连接,写入客户端证书和服务器地址。服务器域名和服务器密钥的名字必须一样。不能用IP地址连接。

Windows 7, 8, 8.1

导入证书 https://wiki.strongswan.org/projects/strongswan/wiki/Win7Certs

设置 https://wiki.strongswan.org/projects/strongswan/wiki/Win7Config

连接 https://wiki.strongswan.org/projects/strongswan/wiki/Win7Connect

Windows Vista

https://wiki.strongswan.org/projects/strongswan/wiki/WindowsVista

OS X and iOS

https://wiki.strongswan.org/projects/strongswan/wiki/IOS_%28Apple%29#iOS-client-configuration

Android

原生的(IKE)和strongSwan客户端(IKEv2)都可以。strongSwan客户端更快更稳定。

结论

IPsec很好,可以用作OpenVPN的替代。不知道为什么很多VPN还用L2TP+IPsec,因为RADIUS,审计,和插件都有了。IPsec无所不包,甚至可以用EAP-SIM 或者 EAP-AKA,用SIM卡验证。

对于反政府监控的,请读一下https://nohats.ca/wordpress/blog/2014/12/29/dont-stop-using-ipsec-just-yet/ 

作者:ValdikSS

http://lowendtalk.com/discussion/44964/vpn-everywhere-ipsec-without-l2tp-with-strongswan-even-in-openvz#latest

译者:Beining

记录:关于GPGMail编译的一个坑

      No Comments on 记录:关于GPGMail编译的一个坑

https://github.com/GPGTools/GPGMail

原来免费。和Mail.app整合很好。

现在这个东西收费了。很缺德。

编译很简单:

Xcode啥的都准备好,包括python等一干环境。

git clone 后,make时会出错:

如果不是他故意埋的坑。。。。

解决办法:

在clone来的GPGMail目录运行:

如http://support.gpgtools.org/discussions/problems/24976-how-to-build-yosemite-branch

所示。

祝各位加密愉快。