Siyuan's Blog

  • 首页

  • 归档

  • 标签

  • 搜索

修复 SolusVM 添加 IP 之后无法使用的 Bug

发表于 2014-07-01 |

问题重现步骤:

  1. 在 SolusVM 里给 VPS 添加一个新 IP;
  2. 在 VPS 里加上这个 IP:
    1
    2
    3
    4
    5
    6
    7
    [root@da2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
    DEVICE=eth0:0
    BOOTPROTO=static
    ONPARENT=yes
    IPADDR=xxx.xx.xxx.5
    GATEWAY=xxx.xx.xxx.1
    NETMASK=255.255.255.0

执行 ifup eth0:0;

  1. VPS 内可以接收到新 IP 的包,但是包 发不出去:
    1
    2
    01:55:22.958310 IP 218.xx.xxx.5 > 123.xx.xxx.82: ICMP echo reply, id 46410, seq 163, length 64
    01:55:23.959400 IP 123.xx.xxx.82 > 218.xx.xxx.5: ICMP echo request, id 46410, seq 164, length 64

在其他机器上执行 arp -an 显示为 [incomplete]。

嗯,其实找了半天根本不是 CentOS 的问题 …
是啥的呢,你猜对啦~ 又是 SolusVM!

SolusVM 使用了 ebtables 来过滤 IP 盗用的行为,但是新增 IP 并没有更新 ebtables 里的记录,所以这个新增 IP 自然是用不了了。

不过解决方法倒是很简单,重启主机上的 solusvm-ipsecure 服务即可:service solusvm-ipsecure restart

最后,SolusVM 你去死去死去死!去年就上报了的 Bug 为什么还不修!

DirectAdmin 镜像

发表于 2014-06-16 |

由于最近在帮朋友 IDC 打理一些事情的时候,发现安装 DirectAdmin 太慢了,所以联系了下 DirectAdmin 官方做了这个镜像。

与其他镜像不同的是,窝同时提供了 IPv4 和 IPv6 啊哈哈哈还有 Rsync。

地址是:http://files19.directadmin.com/

更新时间是 UTC 每天的 0:00,就是北京时间的早上 8 点。请尽量避免在这个时间内更新。

另外因为备案的问题,这个镜像放在了 Linode 日本机房,至于速度的话,通过调整过的 TCPEdge 加速的镜像下载速度也很快,百兆的话一般都能跑满带宽。

啊,对了,如果需要自己做镜像的又懒得联系官方的话,直接用以下命令同步即可:

1
/usr/bin/rsync --recursive --perms --links --delete --times -W files19.directadmin.com::directadmin /var/www/html/services

嗯,就是这样。喵。

HostBill + SolusVM = Disaster

发表于 2014-06-10 |

想吐槽这两货已经很久了,自从我去年很脑残的从 WHMCS、HostBill 里选了 HostBill 之后 …

嗯,噩梦就开始了。

首先是支付宝插件整合的问题,HostBill 官方的支付宝插件不能用。

为什么呢?日志里没提呀,嗯那我逆向工程看看吧 …于是我逆向工程发现了一个 Typo 然后感觉整体代码都写的太烂了于是重写了一个。

好的接下来我们需要把 SolusVM 整合进去,(⊙o⊙)… 听起来很简单是吧?

你错了,HostBill 的面向 Bug 编程真是深得我的真传,SolusVM Rebuild 的话会把 HostBill 数据库里的 Root 密码设置为 SolusVM 的登录密码。然后作为一个逆向工程爱好者我又一次看了它的源码,嗯 … 对不起我没找到在哪儿改的。

那,我去 SolusVM 看看文档自己发请求看看是哪个傻逼了吧。

1
2
3
4
5
6
7
8
aveline@web-a:~$ curl --insecure -i --data "id=$SOLUSVM_ACCESS_ID&key=$SOLUSVM_ACCESS_KEY&action=vserver-rebuild&template=linux-debian-7.3.0-x86-min-gen2-v1&vserverid=7&async=false&rdtype=json" https://master.solusvm.internal:5656/api/admin/command.php && echo
HTTP/1.1 200 OK
Content-type: text/html
Transfer-Encoding: chunked
Date: Tue, 10 Jun 2014 18:26:27 GMT
Server: SolusVM

{"status":"success","statusmsg":"Virtual server is being rebuilt","rootpassword":"5iuan90U","information":""}

然后等 VM 重装完了用这个密码登录上去果然可以,诶等等等等,登录上去之后,为毛还是 Ubuntu?!

看日志也别想了,没有的。有的也都显示是 Success 或者 Complete,和没有一样的。

看源码也别想了,这货代码不好好写,代码混淆倒是做的挺好,估计是写太烂不想给人看吧。

嗯,吐槽完毕。准备自己写 Billing Portal + 换 OpenStack(

好啦还是去写个 workaround 吧。叹气。

1234…12

Siyuan Miao

35 日志
42 标签
GitHub Twitter
© 2018 Siyuan Miao
由 Hexo 强力驱动 v3.7.1
|
主题 — NexT.Mist v6.3.0