使用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:

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:

EA6500v1 解锁5G频段

这是一个5年前留下的坑,12年买的EA6500v1,港版,5G频段只能看到 36,40,44,48,中国能用的不给用。
最近几年一直在用华硕系,两个ac68u两个ac88u,EA6500v1一直在吃灰,原配的电源适配器(12v2A)也被我挪走他用了。
想把EA6500送人吧,但是又觉得如果5G频段没解锁,别人用起来也尴尬。想当年,因为802.11d的原因,macbook经常找不到5G的SSID,我只能强制连一个Country Code是US的别人家的WiFi,才能看到_5GHz的。

后来试过DD-WRT解锁,因为不稳定,所以想解锁了再切回来,但是没用。
中间看到过 https://securityevaluators.com/knowledge/case_studies/routers/linksys_ea6500.php 这个安全报告,也试着写了个脚本去构造备份文件上传,试图直接启用频道,未果。
后来看到DD-WRT的Wiki上有张图,标识了主板上的几个点,可以用console直接来改设备,于是买了ttl卡,直接开搞。
图在这里:

EA6500v1 固件 1.1.29.162351 在这里 https://dl.sskaje.me/EA6500/
USB-TTL、杜邦线、排针(5pin)
CoolTerm (Windows下可以用PuTTY)

固件可以用 binwalk 直接解包,mac下squashfs没法搞,所以我直接去linux下操作的。期间还会需要 sasquatch,从https://github.com/devttys0/sasquatch 下载,然后build即可。
我把解包好的目录打了个包,可以从这里下载。

TTL板我从淘宝上买了个,链接是 https://detail.tmall.com/item.htm?id=16809187607 ,选了个偏贵的。
里边送了杜邦线和排针,杜邦线一头6个针脚一体的,直接插上。
参考前边的EA6500主板图,Vcc/TxD/RxD/n.c./GND,其中GND的地线没有用焊锡填充,所以从TTL线送的排针里拿出一个,把最边上的针脚的高度调一下,使得排针不用刻意固定就能与主板上的焊点接触上。
TTL板的针脚有6个,VCCIO/GND/TXD/RXD/RTS/CTS。杜邦线对应的 Vcc 连 VCC,GND连GND,TxD连RXD,RxD连TXD,其他不接,按这个对应关系接好排针。

TTL电脑端接线

TTL路由主板

我的macOS High Sierra没有额外装驱动就识别到了串口设备。
CoolTerm 配置波特率 115200,其他默认。在CoolTerm主界面点Connect,确认排针已经稳定接触好焊点之后,给EA6500上电,就能看到CoolTerm里有输出了。

在启动的时候,按 ctrl + c,多按几次就能看到 CFE> 的提示符了。

之前在研究构造备份文件的方案时,看到syscfg里有好多code,例如 wl0_country_code, wl1_country_code, ccode, wl_country。
这回全改成US,启动之后就 wl: Bad Channel 了。
/etc/regccode 这个文件内容如下

而,在CFE里,使用 devinfo show 看到的

乱试几种组合都无效后,恢复了配置,然后从固件的启动脚本里找了找

于是看到了这个函数

只要 ccode 和 regrev任意一个字段都是空的,系统就会默认到 Q2/13 这个code。
所以reboot,重新进入CFE。

操作命令如下

进入系统后,终于看到新的频道被释放出来了。

console里看频道信息和country
Web Console里看频道列表
macOS WiFi 扫描工具里看频段
EA6500v1 解锁5G频段 by @sskaje: https://sskaje.me/2017/12/ea6500v1-unlock-5ghz-channels/

Incoming search terms:

Selected server has no repositories

Bamboo使用 Linked Repositories 看 Bitbucket 代码库的时候出这个错。

解决方案是把 App Links 的项目互相改成直连的链接,不走代理,例如 http://127.0.0.1:7990/

这个之前查了好久,印象中一开始加nginx的时候没问题,好像加https的时候也没问题,突然有一天就不行了。
这次是白天试 rest api 时发现走代理没法用,但是换成端口请求却可以。

Selected server has no repositories by @sskaje: https://sskaje.me/2017/11/selected-server-repositories/

OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter

前言

Network Topology
Network Topology

RT-AC68U 使用PPPoE拨号上网,但是分配的IP是100.64.204.111, 看着像公网IP实际却是Carrier-grade NAT.

现在需要将RT-AC68U与一台在公网的EdgeRouter使用OpenVPN Site-to-Site连接起来,并在RT-AC68U端实现policy-based routing。
需要让RT-AC68U下的所有设备能访问EdgeRouter LAN的网络,并根据需求透过VPS访问指定互联网。

本实验参考下列文章:
Set up OpenVPN Site-to-Site on UBNT EdgeRouter Lite
EdgeRouter OpenVPN Connectivity Monitor
EdgeRouter 策略路由实现分析
EdgeRouter Policy Based Routing Using DNSMASQ IPSET

Continue reading “OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter” »

OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter by @sskaje: https://sskaje.me/2017/10/openvpn-site-to-site-vpn-asus-merlin-ubnt-edgerouter/

Incoming search terms: