网关代理
网关代理(透明代理)最近 macOS 一直没有办法更新,即使set了https代理,然后最近做一些实验需要一个稳定的长时间在线的Linux实例。 多方面考虑下来还是要在NAS上开个虚拟机,既然都开了,不妨把网络问题一并解决吧。 env: ubuntu 20.04 (LTS) clash v1.10.0 iptables v1.8.4 (legacy) install1. 开启转发vim /etc/sysctl.conf # 去掉注释 net.ipv4.ip_forward = 1 # 生效 sysctl -p 2. 安装 clashhttps://github.com/Dreamacro/clash 下载release, 解压出来 # 添加可执行权限 chmod +x clash mkdir co..
更多SSH Agent & Tunnel
背景最近因为一个离奇的bug,不得不重装系统了,这就导致原来所有信任的证书 全部都要再弄一遍了。 这次打算更轻量些,一些依赖的服务不再本地或者我虚拟机里的PaaS平台了,会直接部署到国内的云平台上。 但是坏处么,自然也是非常严重的。 端口不能随便开放,像MySQL(3306),Redis(6379)这样的服务,很容易会被攻破密码,然后造成主机被入侵。 但是我本地又要用到这些,怎么做一个清凉又安全的链接呢? 下面我会分为两个部分来解决这些问题。 SSH-Agent由于 .ssh这个目录是隐藏的,如果不设置 macOS 是无法通过程序打开的窗口选择这些key的,但是一些SSH工具都会支持 SSH-Agent 登陆。 这样的方式不仅设置更少了,连接的时候也会更轻松,SSH-Agent 会自动尝试对应的Key。 c..
更多VSCode remote introduce
VSCode remote introduce其实早就想写这么一个超级好用的远程代码编辑, 但是为啥没写呢。 还是因为有 bug,在我这个低配的实例上,会把我实例给炸掉。 不过 可能在 一些更好的实例上不会出现这种问题。 链接主机其实操作很简单,所以这个blog看起来像是在水一样。实际上这个真的很好用。 安装插件在左侧的 extension 中输入 Remote 然后找到 Remote - SSH,然后安装它 安装完之后 左下角会有个绿色的 Remote 图标。 配置远程 server虽然能链接的类型比较多,但在这个 case 中,用的是 SSH。 Connect to Host -> Add New SSH Host ssh remote_user@remote_host Img Tips占用大量..
更多S3 数据备份和恢复
S3 数据备份和恢复这里讲的是 Simple Storage Service,但不一定是Amazon提供的。 比如兼容 S3 API 的存储组件,Ceph, MinIO 等。 但在用这几种组件的时候 总会遇到个问题,数据怎么迁移? 对于整个Bucket进行迁移aws官方的客户端用了几次,但还是那个问题,仅对 Amazon 自己比较舒服,但假设用了别的兼容API,就很复杂。 所以 万能的 MinIO 客户端 来拯救 S3。 设置 aliasmc alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD cpmc cp --recursive myminio/mybucket target/ Tips当然这种备份和恢复显然都不是最好的。 因为上传时间会..
更多给公用电脑做一次网卡小升级
给公用电脑做一次网卡小升级背景这台电脑是 L440 好几年前的产品了,网卡连 802.11ac 都不支持,2.4Ghz频段干扰的要死,我用MacBook通过局域网连接,感觉像是从西雅图绕了一圈。 不过好在笔电上的规范都会比较新,即使是这个四代i5也配备了 ngff(m.2) 的网卡,所以升级只需要看现有网卡支持不支持这个cpu了。 因为这个兼容性优先 所以我懒得一个个对比性价比了,直接看别人推荐的 intel 7260 AC,直接买了 某宝35块,网卡真的是被intel降到白菜价了 ax200这么高性能的卡也就80块(虽然问题挺大的)。 不过今天主要讲两个事情 一个是改善有多大,一个是怎么刷MAC地址。 原网卡跑分ubuntuinfo3: wlp5s0: <BROADCAST,MULTICAST,U..
更多Drone CI
Drone CI背景其实 Drone CI 对于一般用途是用不到的,只有在一些比较极限的情况下才会用得到。 你的代码不能托管到 Github(即使是私有仓库) 搭建本地的 Gitlab 又没有 runner(非常极限的条件) 只有同时满足这两点,Drone CI 才能发挥出最大的功能。 on Docker使用 Docker 来做构建,是一个非常优雅的选择。 干净的环境 通过镜像来简化构建流程 所有流程清晰可读 同时 这套 CI 可以非常优雅的部署到 Docker 上。所以下文 都通过 docker 来部署和构建。 部署 Drone CI 参考官方文档: Drone Installation GuidesGitlab: 13.10Docker 2.10.7Drone: 2Drone runner do..
更多Snapcraft 一个软件生态丰富的包管理器
Snapcraft 一个软件生态丰富的包管理器背景其实 snap 很早应就应用在了 Ubuntu desktop,只是一直被我忽略掉了而已。 最近重拾 Linux desktop,也不得不找一个更好的包管理器,其实 答案就在一开始: “snap”。 Snapcraft storeSnapcraft 我经常用的开发软件 无非就是: VSCode IDEA RDBMS GUI v2ray (或同类网络加密转发) 最基本的 Office 套件 安装软件snap 可以直接使用命令行安装软件,也可以通过 kubuntu 的 discover 的 GUI 来安装,但很多时候 不知道是哪里出了问题 discover 并不能搜索到某些应用,所以可以在官网上找到应用 然后点 install -> view in d..
更多Developer on Linux Desktop (大折腾)
Developer on Linux Desktop (大折腾)背景杀千刀的xx非要把每台电脑都加入 WindowsAD,还要用证书来加入内网。还要安装定制版360,还tm卸不掉。 在Linux下开发有个好处就是 server 和 本地开发 命令能相互兼容,我不用写多个脚本来兼容多个平台。这样可以做到 一键构建,部署,重启 等等。 这点已经在 macOS 上验证过了(虽然macOS是UNIX,但基本指令都是一样的) 非常舒服,那么接下来就只需要找个合适的 Linux 发行版。 Linux 发行版 ubuntu-20.04-desktop-amd64 deepin-desktop-community-20.2.1-amd64 manjaro-xfce-21.0.5-210519-linux510 openSU..
更多MySQL 5.7 集群(dual master)搭建
MySQL 5.7 集群(dual master)方案背景只有用真实的环境实践 才能知道这个这个机制是怎么样的。 MySQL 集群可以部署为 master slave,master master,master slave slave,等等,这需要依据你的场景来选择。不同的组合可能会带来不同的问题。 集群之间复制 主要依靠 mysql-bin 来实现,这需要你来指定具体的位置,另外值得注意的是,如果你是扩展现有 Stand alone 节点的话,你需要锁库来完成整个集群流程。具体方案在最下面会讲到。 环境 MySQL 5.7.28 on Docker 配置 这里就不从头开始讲了 你需要在docker上启动两个MySQL 并且正常运行。 编辑配置文件 (需要在多个节点上配置) # server-id 可..
更多iptables
iptables对于任何一个操作系统,防止被攻击,被入侵,防火墙的作用是至关重要的。 下文将 iptables 的 关键用法讲解清楚。 基本概念iptables 流程图 XXXXXXXXXXXXXXXXXX XXX Network XXX XXXXXXXXXXXXXXXXXX + | ..
更多