利用nginx搭建自己的docker镜像加速器
前面我介绍了如何使用Cloudflare Workpage构建docker hub代理,那么CF是有请求限制的,如果是个人使用应该还够,如果是公司使用(应该也够)…那么今天的话我就使用Nginx对docker hub进行反代
部署准备
国外服务器一台,静态公网IPV4或者NAT都行
域名可有可无
部署步骤安装nginx和docker这边就省流了
12345#debian系sudo apt update && sudo apt install nginx docker.io -y#红帽系sudo yum install docker-ce nginx -y#或者podman,跟docker一样
制作证书(可有可无)
12345678910111213mkdir /certs && cd /certsopenssl genrsa -out you.key 2048openssl req -new -key you.key -out you.csr -subj "/C=CN/ST=State/L=City/O=Organization/OU=Dep ...
利用大厂免费Page搭建docker代理镜像
在今年6.7月份左右,国内知名docker镜像全部歇菜,具体原因不得而知,我只知道阿里的还生效,而且还是旧的镜像。然而到了9月10左右,好像又全部解封了。。不管封没封,我们可以自己搭建一个加速站点供自己使用
部署准备
自行注册一个CF账号
准备一个域名
部署步骤参考我前面发布github代理,只需要把代码改成以下即可
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 ...
云服务器忘记密码以及DD系统
相信很多人在使用云服务器的时候都会碰到系统忘记密码,或者弱密码被爆破修改,而各类厂商的云面板功能不一,比如国内腾讯和阿里都支持修改密码,而国外的甲骨文没有修改密码选项,那么此时不用着急,只要可以连接VNC,或者分离附加引导卷就不用进行重装系统等删除服务器数据之类的操作,那么接下来我就演示一下Oracle的流程
演示步骤首先我们分离需要修改密码的机器的引导卷然后在另一台机器上附加刚才分离的卷然后在被附加的机器上执行一下命令
1234567#建立连接sudo iscsiadm -m node -o new -T iqn.2015-02.oracle.boot:uefi -p 169.254.2.2:3260sudo iscsiadm -m node -o update -T iqn.2015-02.oracle.boot:uefi -n node.startup -v automaticsudo iscsiadm -m node -T iqn.2015-02.oracle.boot:uefi -p 169.254.2.2:3260 -l#断开连接sudo iscsiadm -m node ...
简单扩容内存
之前购买的国外主机发现内存只有128mb,安装个nginx基本上就差不多了,所以需要添加swap,步骤如下
部署步骤首先查看是否已经有swap文件或者swap内存
12free -hswapon -s
那么我的是没有的,如果有那就不用看了,接着创建swap文件,一般来说swap内存为实际内存的一倍,我这里给多了。最佳应该是256
1dd if=/dev/zero of=/swapfile bs=1M count=512
权限配置,防止恶意利用
1chmod 600 /swapfile
转换swap
1mkswap /swapfile
启用swap
1swapon /swapfile
到这里也就结束了,那么它下次开机启动还是会消失的,所以我们确保永久添加,需要写fstab文件
12echo '/swapfile none swap sw 0 0' >> /etc/fstab#注意这里新手最后手动添加
利用大厂免费Page搭建github代理
平时购买了国内的云服务器,在下载GitHub上的一些资源时,总是会超时。我自己也经常碰到,不过由于我大部分服务器都是国外,我可以通过中转来进行操作,但是始终是太麻烦。之前就有了解到Google,Cloudflare,Github等大厂有提供免费静态页面托管服务,我的博客也是托管在Git上的。那么今天就来操作下在CF上无成本搭建一个Github代理
部署准备
自行注册一个CF账号
域名可有可无
部署步骤打开官网登录,点击worker,创建一个worker,然后点击部署名字随意创建完之后点编辑,把原有的js删除然后复制以下代码至worker.js中
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101 ...
搭建SSH蜜罐,戏耍肉鸡
最近可以看到,服务器被爆破次数越来越多,虽然是密钥,但是本着不能让”肉鸡”们白来一趟的原则,我想到了搭建蜜罐来响应”肉鸡们”,之前就想过搭个mysql蜜罐,一直没有空,今天偶然在论坛看见了,就顺手搭建了。
部署步骤首先修改ssh配置文件的默认端口,以免跟docker冲突
12345vim /etc/ssh/sshd_configPort new_portsystemctl restart sshdiptables -IINPUT -p tcp --dport new_port -j ACCEPT
接着部署docker
123apt install docker.iodnf install docker-cednf install podman
拉取运行蜜罐容器
1docker run -d --name ssh -p 22:2022 ghcr.io/jaksi/sshesame
然后查看日志
1docker logs ssh
可以看到奇奇怪怪的命令,第一个是我自己连的,马上就有肉鸡光顾了。生意别提多好了
部署总结
1.这个机器我还有个sftp,不知道受影响不,应该也要改成响应的端口才能 ...
关于Docker防火墙
最近我在使用docker容器镜像的时候,发现Docker暴露的端口并不受iptables管控(之前也遇到过),特地去百度了一下,太深的也说不上来,只是Docker也是调用的内核防火墙,那么如何解决呢,有以下几种方法:
解决办法
1.一般大厂上面还会有一层防火墙安全组,可在安全组进行端口管控。
2.在启动容器时,监听地址改为127.0.0.1,这样也可解决。
3.在daemon.json配置文件中添加 “iptables” : false,注意,如果有 V6 需求,那么只能修改监听地址了,实际测试,我配置了false之后,容器无法获取V6地址。
4.补充一种或者使用其他防火墙,这个我不确定有没有效果,反正ufw是没效果的 ,可以试试nftables和firewall
解决Oracle不能发送邮件问题
前阵子搭了个Promethues + Grafana + Nginx 监控自己服务器,然后发现每台服务器的ssh爆破数暴涨至3w(平时就1.2千不到),防火墙我把服务端,客户端v4和v6的api端口都进行了相关限制,按理说不应该,后来想想普罗米修斯的流量是没有进行https传输的,我想可能是有大哥抓包搞定了我所有服务器的源IP,改天去配置https传输,无所谓,反正我密钥,随便爆破,有本事多线程干我。现在想配置下altmanager邮箱告警功能,突然发现Oracle的小鸡用mailx和postfix无法发送邮件,百思不得其解,后度娘得知Oracle在2021年就关闭了25端口,需要跟客服申请工单才能开启,于是我使用了mutt发送解决了该问题,下面是解决步骤
部署步骤卸载原有邮箱客户端
1apt remove bsd-mailx postfix -y
安装mutt
1apt install mutt -y
在配置文件尾添加个人配置
12345678910vim /etc/Muttrcset from = "leexww@hotmail.com"#发件邮箱set rea ...
利用FRP转NAT机器的SSH端口
前言最近买了几台国外nat鸡,然后IP又被墙了,恰好又买了国内商家的1元NAT鸡,正好可以利用起来去做个转发,切勿用作违法行为(ps:FRP流量特征明显,切勿作死,可以使用GOST等其他开源工具)
部署准备
下载系统对应FRP二进制包
中转机安装FRPS
被转发机安装FRPC
部署步骤这里我自己写了一个简易的FRPC简易脚本,我转发的是ssh端口,FRPS这里就不介绍,跟FRPC相差无几。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#!/bin/bashSERVER_PORT=30212#all port 30211-30219#usable port 30213-30218SERVER_IP=mhy7.muhanyun.cnFRP_PATH=/etc/frpREMOTE_PORT=30219#FRP_VERSION=v ...
docker构建redis
部署准备
ubuntu 或其他主流发行版本
部署docker
部署步骤安装docker,报错的话,一般是发行版不支持(脚本没有你的发行版名字),可到官网查看使用其他方法(比如说rocky,可自己在脚本内加个 rocky 判断,或者把红帽系改成 rocky)
1sh <(curl -fsSL https://get.docker.com)
拉取镜像,这里我就用 alpine 了.
1docker pull alpine:latest
编写 dockerfile 文件
12345678910111213141516171819202122232425262728293031323334353637383940mkdir /images/alpine/redis -p && cd /images/alpine/redis cat << EOF > dockerfileFROM alpine:latestLABEL autor="lee"ENV redis_version=redis-7.0.11 install_path=/u ...