使用WireGuard为阿里云专有网络主机提供外网访问

前言

我的阿里云服务器网络处于混合过度模式,逐步从经典网络往专有网络迁移。

之前每台经典网络主机都申请了公网IP和带宽,实际上对于大多数主机的业务而言,并不需要对外提供网络服务,只需要能访问外网即可。
所以这次新加的主机部分都没有去加弹性公网IP。

于是带来了问题:内网主机如何访问外网?

阿里云的dnat方案太贵了。不考虑。

尝试过本地配置网关,但是实验证明,阿里云的VPC交换机不是一个纯粹的二层交换,也许是设计有问题,也许是刻意阻止用户自己拿一台能访问公网的主机当内网网关。

所以这次使用WireGuard实现网络架构调整。

阿里云的经典网络主机里加了几条默认的路由:

前两个都好说,第三个是运营商级的NAT网络地址,之前在 OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter 里提过贵州电信的光纤网络对外就是这个地址段。

WireGuard的配置过程参考之前的文章,此处不多解释,只贴配置。

Continue reading “使用WireGuard为阿里云专有网络主机提供外网访问” »

使用WireGuard为阿里云专有网络主机提供外网访问 by @sskaje: https://sskaje.me/2018/02/aliyun-vpc-hosts-access-internet-using-wireguard/

Incoming search terms:

VMware Fusion “Unable to create the installation media”

I saw “Unable to create the installation media” (无法创建安装介质) when creating VM right after download macOS High Sierra installer from Mac App Store.

To solve this:

You can see an installation image named InstallESD is mounted.
Just eject this whole disk and retry VMware Fusion creation.

VMware Fusion “Unable to create the installation media” by @sskaje: https://sskaje.me/2018/02/vmware-fusion-unable-create-installation-media/

anyconnect 外部控制管理vpn连接

之前公司所有人都使用iPhone,为了方便微信网页测试,用AnyConnect来实现DNS推送,将微信的网页域名指向不同开发、测试环境的IP。

iOS可以使用Apple Configurator生成mobileconfig文件来配置AnyConnect。最早使用这份配置的时候,发现如果使用密码认证,即便配置文件里写了用户名和密码,iOS的AnyConnect还是会需要用户再输入一次密码。所以一直以来用AnyConnect做的各种解决方案都是使用证书的方式,将用户证书和CA证书一并集成到mobileconfig文件里。

不幸的是去年下半年的某天,突然就发现iOS的AnyConnect连上了VPN,但是DNS不生效了。
那会儿,iOS升级到10.2之后的某个版本,AnyConnect在iOS平台推出了新版客户端,老的改名Legacy了。

换了新版,同样的配置文件下发方式,这回问题更大了,直接连不上。日志里看到的内容大概是客户端不知道该用哪份证书进行身份验证。

研究了cisco的文档,发现可以用 anyconnect://connect 直接呼起客户端的连接操作,而这个链接iOS和Android都可用。

链接类似如下:
anyconnect://connect/?name=Int&host=vpn-internal.sskaje.me:8433&prefill_username=user&prefill_password=password&onsuccess=http%3A%2F%2Fsskaje.me%2Fsuccess

不过由于安全原因,AnyConnect默认将“外部控制”的功能关闭了。(其实,我之前一直以为这个是服务器可以推送客户端执行命令的功能,所以很敏感)
在设置中改为提示 或者 启用。

而,之前dns不生效的功能,现在只能开启 split-dns 了。

anyconnect 外部控制管理vpn连接 by @sskaje: https://sskaje.me/2018/02/anyconnect-%e5%a4%96%e9%83%a8%e6%8e%a7%e5%88%b6%e7%ae%a1%e7%90%86vpn%e8%bf%9e%e6%8e%a5/

Incoming search terms:

Unity3d资源文件解密

这里只说 AssetBundle,只有思路。

1 废话般前提:逻辑上 AssetBundle 文件加密后肯定是需要解密了,再进行加载。

2 Unity 加载AssetBundle文件可以使用 AssetBundle.LoadFromFile,加载内存流可以用AssetBundle.LoadFromMemory 和 AssetBundle.LoadFromStream。
这些方法对应还有代Async后缀的异步加载方法。
文档在:https://docs.unity3d.com/ScriptReference/AssetBundle.html

3 打断点,看backtrace。

4 慢慢调试。

在我这个场景里,il2cpp dump是没有需求的。

贴一个bt

工具:
https://github.com/Perfare/UnityStudio
https://github.com/HearthSim/UnityPack

Unity3d资源文件解密 by @sskaje: https://sskaje.me/2018/02/unity3d-asset-bundle-decrypt/

Incoming search terms: