首页
关于
Search
1
使用Tailscale远程访问局域网
875 阅读
2
Centos 7 安装Nextcloud
137 阅读
3
tailscale自建derper服务器中转,使用自定义端口
98 阅读
4
Linux 运维必备的13款实用工具,赶紧收藏!
92 阅读
5
使用 acme 自动获取 letsencrypt证书,并自动更新
27 阅读
区块链学习
Linux运维学习
登录
Search
标签搜索
开源程序
运维技能
Docker
Lance
累计撰写
6
篇文章
累计收到
0
条评论
首页
栏目
区块链学习
Linux运维学习
页面
关于
搜索到
6
篇与
Linux运维学习
的结果
2024-08-22
Docker 使用代理加速镜像下载
1. 创建配置目录和文件docker pull 是由守护进程dockerd执行,因此代理需添加在dockerd的systemd配置中。sudo mkdir -p /etc/systemd/system/docker.service.d sudo touch /etc/systemd/system/docker.service.d/proxy.conf2. 编辑proxy.conf文件,添加以下内容vim /etc/systemd/system/docker.service.d/proxy.conf[Service] Environment="HTTP_PROXY=http://代理服务器IP:端口" Environment="HTTPS_PROXY=http://代理服务器IP:端口"代理服务器的协议可自行修改,如sockes5://代理服务器IP:端口保证代理服务器可以正常获取镜像即可3. 重载systemd并重启docker服务sudo systemctl daemon-reload sudo systemctl restart docker
2024年08月22日
11 阅读
0 评论
0 点赞
2024-02-29
使用 acme 自动获取 letsencrypt证书,并自动更新
Let’s Encrypt 是一个免费的,自动化的,开放的证书颁发机构(CA),为公众的利益而运行。 它是一项由 Internet Security Research Group(ISRG)提供的服务。acme.sh 则是实现了 acme 协议, 可以从 letsencrypt 生成免费的证书。安装 acmecurl https://get.acme.sh | sh source ~/.bashrc切换默认证书 CA厂家为letsencrypt,否则默认的 CA 厂家是zerosslacme.sh --set-default-ca --server letsencrypt中国大陆如果无法直接安装,可使用以下方法git clone https://gitee.com/neilpang/acme.sh.git cd acme.sh ./acme.sh --install -m my@example.com source ~/.bashrc验证是否生效$ acme.sh -h https://github.com/acmesh-official/acme.sh v2.8.6 Usage: acme.sh command ...[parameters].... Commands: --help, -h Show this help message. --version, -v Show version info. --install Install acme.sh to your system. --uninstall Uninstall acme.sh, and uninstall the cron job. --upgrade Upgrade acme.sh to the latest code from https://github.com/acmesh-official/acme.sh. --issue Issue a cert. --signcsr Issue a cert from an existing csr. --deploy Deploy the cert to your server. --install-cert Install the issued cert to apache/nginx or any other server. # ......申请证书1. 通过http 方式申请证书只需要指定域名, 并指定域名所在的网站根目录,acme.sh 会全自动的生成验证文件, 并放到网站的根目录, 然后自动完成验证. 最后会聪明的删除验证文件. 整个过程没有任何副作用.# 生成 RSA 证书: acme.sh --issue -d 你的域名 -w 你的网站目录 # 生成 ECC 证书: acme.sh --issue -d 你的域名 -w 你的网站目录 --keylength ec-256如果没有安装 web 服务器,acme.sh 也自带一个建议的web服务用于证书申请,前提是需要安装 socat ,80端口没有被占用。使用方法:acme.sh --issue -d blog.exsvc.cn --standalone2. 通过DNS 验证方式申请证书这种方式的好处是,你不需要任何服务器,不需要任何公网 ip,只需要 dns 的解析记录即可完成验证,而且可申请泛域名证书。坏处是,需要配合DNS解析服务商的API使用,否则 acme.sh 将无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。目前支持 DNSPod、CloudXNS、Aliyun、jdcloud、 CloudFlare、 GoDaddy、 Azure、AWS 等国内外大多数主流DNS服务提供商。详细清单详见: https://github.com/Neilpang/acme.sh/wiki/dnsapiDNSPod 申请方式export DP_Id="你的 ID" export DP_Key="你的 key"申请证书acme.sh --issue --dns dns_dp -d 你的域名 --nginx--nginx 表示生成 nginx 格式的证书安装证书acme.sh --install-cert -d 你的域名 --key-file 证书存放目录/你的域名.key --fullchain-file 证书存放目录/你的域名.crt --reloadcmd "service nginx force-reload"--reloadcmd 参数用于让web服务器重新加载新的证书文件,例子中使用的是 nginx 服务器,您也可以定义成其它服务器查看安装的证书$ acme.sh --list Main_Domain KeyLength SAN_Domains CA Created Renew 你的域名 "ec-256" no LetsEncrypt.org 2024-02-29T07:49:13Z 2024-04-28T07:49:13ZLet’s Encrypt 的证书有效期为3个月,每3个月得重新申请证书。通过 acme.sh 可以自动管理SSL证书的申请。通过上面步骤的安装后 acme.sh 会定期自动更新SSL证书。crontab 中会自动生成一个任务$ crontab -l 21 6 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null手动更新方式acme.sh --renew -d 你的域名 --force
2024年02月29日
27 阅读
0 评论
0 点赞
2022-11-03
tailscale自建derper服务器中转,使用自定义端口
安装golang环境tailscale项目使用的golang环境比较新,部署自定义derper服务要求golang版本1.16以上。推荐尽可能安装最新的版本,本文安装目前最新版本golang官网在国外,直接从官网下载会比较慢,可以选择国内镜像站下载wget https://golang.google.cn/dl/go1.22.0.linux-amd64.tar.gz tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz 编辑/etc/profile文件,添加如下内容。编辑文件可以使用vim或者宝塔等其他工具。export GOROOT=/usr/local/go export GOPATH=/usr/local/gopath export GOBIN=$GOPATH/bin export PATH=$PATH:$GOROOT/bin export PATH=$PATH:$GOPATH/bin保存退出后,执行以下命令使环境变量生效source /etc/profile检查golang是否安装成功go -version查看golang版本,如果有相应信息返回,则说明golang环境安装成功。安装derper服务1. 下载安装derper服务,执行以下命令安装之前设置下go代理执行如下代码go env -w GOPROXY=https://goproxy.cn,direct然后执行如下代码安装go install tailscale.com/cmd/derper@main等待下载安装完成,查看是否安装成功2. 检查derper -h # 如果有以下提示信息 Usage of derper: -a string server address (default ":443") -bootstrap-dns-names string optional comma-separated list of hostnames to make available at /bootstrap-dns -c string config file path -certdir string directory to store LetsEncrypt certs, if addr's port is :443 (default "/root/.cache/tailscale/derper-certs") -dev run in localhost development mode -hostname string LetsEncrypt host name, if addr's port is :443 (default "derp.tailscale.com") -logcollection string If non-empty, logtail collection to log to -mesh-psk-file string if non-empty, path to file containing the mesh pre-shared key file. It should contain some hex string; whitespace is trimmed. -mesh-with string optional comma-separated list of hostnames to mesh with; the server's own hostname can be in the list -stun also run a STUN server -verify-clients verify clients to this DERP server through a local tailscaled instance.则说明derper安装成功3. 配置在安装路径下/usr/local/gopath/bin下编写如下脚本,然后保存文件为runderper#!/bin/sh cd /usr/local/gopath/bin nohup ./derper -hostname 你的域名 -c=derper.conf -a :端口 -http-port -1 -certdir 你的证书路径 -certmode manual -stun & echo $! > app.pid赋权可执行chmod +x runderper编写如下停止脚本,保存为stopderper#!/bin/sh kill `cat /usr/local/gopath/bin/app.pid` rm -rf /usr/local/gopath/bin/app.pid赋权可执行chmod +x stopderper然后在路径/etc/systemd/system目录中添加服务脚本derper.service脚本内容如下cd /etc/systemd/system vi derper.serviceDescription=derper服务 After=network.target [Service] Type=forking ExecStart=/usr/local/gopath/bin/runderper ExecStop=/usr/local/gopath/bin/stopderper [Install] WantedBy=multi-user.target然后启动服务并设置开机启动,这样就可以守护程序不被恶意停止,依次执行如下命令systemctl start derper systemctl enable derper然后可以观察日志:tail -f /usr/local/gopath/bin/console.log当看到有如下输出2021/09/18 15:04:31 derper: serving on :81 with TLS 2021/09/18 15:04:31 running STUN server on [::]:3478登录官方tailscale设置如下代码 代码如下:// Example/default ACLs for unrestricted connections. { // Declare static groups of users beyond those in the identity service. "Groups": { "group:example": [ "user1@example.com", "user2@example.com" ], }, // Declare convenient hostname aliases to use in place of IP addresses. "Hosts": { "example-host-1": "100.100.100.100", }, "ACLs": [ // Match absolutely everything. Comment out this section if you want // to define specific ACL restrictions. { "Action": "accept", "Users": ["*"], "Ports": ["*:*"] }, ], "derpMap": { "OmitDefaultRegions": true, "Regions": { "900": { "RegionID": 900, "RegionCode": "mangoderp", "Nodes": [{ "Name": "1", "RegionID": 900, "HostName":"你的域名", "DERPPort": 端口 }] }} } } {dotted startColor="#ff6c6c" endColor="#1989fa"/}打开如下详情页观察Relays #900 只有这一条说明已经连上了你的derper 并且只启用了你的derper服务器注意 DERPPort 设置你的自定义端口重启客户端 然后相互ping通过则说明服务器正常服务器需要开启tcp 你设置的端口和udp 3478端口
2022年11月03日
98 阅读
0 评论
0 点赞
2022-03-28
使用Tailscale远程访问局域网
Tailscale:基于WireGuard异地组建虚拟局域网Tailscale 是一种基于 WireGuard 的虚拟组网工具,它能帮助我们把安装了 Tailscale 服务的机器,都放到同一个局域网内,即公司或者家里的 PC 机器连到同一网络,甚至云服务器都能放到同一个局域网。Tailscale 官网Tailscale 文档1. 工具介绍没有公网IP,又想能满足远程办公需求?担心暴露公网IP而被频繁的恶意扫描、攻击?Tailscale的诞生,成为解决这些痛点的全新选择。无需注册/授权登录/开箱即用无需配置防火墙没有额外的配置高安全性/私密性自动密钥轮换基于WireGuard®保护-点对点连接支持用户审查端到端的访问记录访问/连接/高度可控支持使用节点共享与指定的Tailscale用户共享您的设备支持使用CL限制对设备的访问。低延时/不限速设备间在不跨运营商的前提条件下,设备所在网络环境的上行带宽就是访问下载的最大带宽我们知道TailScale是基于Wireguard开发而来的,所以天生支持协议加密,安全性更高,而且是P2P连线,流量不经服务器,延迟更低。并且,对个人用户免费。[1] 传输文件TailScale内置taildrop,可以在设备间传输文件,因为其支持全平台,所以实际上这也是一个很好用的全平台文件传输工具。而且如果设备处在同一个局域网的话,传输速度也会非常快。[2] 远程开发通过笔记本可以远程台式主机或者服务器,进行开发。优点在于,台式机硬件的售价非常便宜,可以用很低的成本组装一台超强配置的机器。移动办公的精髓应该在与你可以随时随地的连接上一个统一且强大的工作环境, 而不是抱着同一台笔记本走南闯北。[3] 服务代理TailScale节点间是点对点tls连接,所以实际上也可以用来做网络代理。2.使用方法访问官方并点击了 Get Started 之后,使用谷歌、微软和同性交友平台的账户镜像登录网站使用自己的账户进行登录之后,需要我们首先下载对应设备的客户端工具,只有 Linux 设备可以使用命令行安装,其他设备均需要安装客户端工具才行。需要注意的是,如果你是 macOS 的话,需要使用除中国区外的账户进行登录(得准备一个美区账户),才能够安装。如果是安卓手机的话,需要到谷歌应用商店安装(需要科学上网)。Linux客户端安装curl -fsSL https://tailscale.com/install.sh | shdocker 安装还可以使用docker安装# https://github.com/tailscale/tailscale/blob/main/Dockerfiledocker run -d --name=tailscaled \ -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun \ --network=host --privileged fastandfearless/tailscale tailscaled打印tailscale登录地址并进行授权登录docker exec tailscaled tailscale up获取设备TailscaleIP地址ip addr show tailscale0查看设备状态docker exec tailscaled tailscale statusMacOS本地编译安装https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS安装go工具brew install go直接编译# 会在$HOME/go/bin目录下面生成二进制包go install tailscale.com/cmd/tailscale{,d}@main后台守护进程运行tailscaled服务sudo tailscaled uninstall-system-daemon sudo $HOME/go/bin/tailscaled sudo $HOME/go/bin/tailscaled install-system-daemon启动服务tailscale up tailscale statusopenwrt 安装wget https://github.com/adyanth/openwrt-tailscale-enabler/releases/download/v1.36.1-fb2f6cf-autoupdate/openwrt-tailscale-enabler-v1.36.1-fb2f6cf-autoupdate.tgz解压安装包tar x -zvC / -f openwrt-tailscale-enabler-v1.36.1-fb2f6cf-autoupdate.tgz安装依赖opkg update opkg install libustream-openssl ca-bundle kmod-tun启动服务/etc/init.d/tailscale start tailscale up设置开机启动/etc/init.d/tailscale enable当你登录并授权登录成功后,会自动为该设备分配一个 Tailscale IP(可用于局域网内设备间的访问),之后可以看到这么一份带有 IP 的列表了。
2022年03月28日
875 阅读
0 评论
0 点赞
2021-12-30
Linux 运维必备的13款实用工具,赶紧收藏!
1、查看进程占用带宽情况-NethogsNethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。下载:http://sourceforge.net/projects/nethogs/files/nethogs/0.8/nethogs-0.8.0.tar.gz/download[root@localhost ~]#yum -y install libpcap-devel ncurses-devel [root@localhost ~]# tar zxvf nethogs-0.8.0.tar.gz [root@localhost ~]# cd nethogs [root@localhost nethogs]# make && make install [root@localhost nethogs]# nethogs eth02、硬盘读取性能测试-IOZoneIOZone是一款Linux文件系统性能测试工具 可以测试不同的操作系统中文件系统的读写性能。下载:http://www.iozone.org/src/current/[root@localhost current]# tar xvf iozone3_420.tar [root@localhost ~]# cd iozone3_420/src/current/ [root@localhost current]# make linux [root@localhost current]# ./iozone -a -n 512m -g 16g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls参数详情-a 使用全自动模式-n 为自动模式设置最小文件大小(Kbytes)。-g 设置自动模式可使用的最大文件大小Kbytes。-i 用来指定运行哪个测试。-f 指定测试文件的名字完成后自动删除-R 产生Excel到标准输出-b 指定输出到指定文件上3、实时监控磁盘IO-IOTopIOTop命令是专门显示硬盘IO的命令,界面风格类似top命令。[root@localhost ~]# yum -y install iotop4、网络流量监控-IPtrafIPtraf是一个运行在Linux下的简单的网络状况分析工具。[root@localhost ~]# yum -y install iptraf [root@localhost ~]# iptraf-ng5、网络流量监控-IFTopiftop是类似于linux下面top的实时流量监控工具。比iptraf直观些。下载:http://www.ex-parrot.com/~pdw/iftop/[root@localhost ~]# tar zxvf iftop-0.17.tar.gz [root@localhost ~]# cd iftop-0.17 [root@localhost iftop-0.17]# ./configure [root@localhost iftop-0.17]# make && make install [root@localhost iftop-0.17]# iftop [root@localhost iftop-0.17]# iftop -i eth0 #指定监控网卡接口6、进程实时监控-HTopHTop是一个 Linux 下的交互式的进程浏览器可以用来替换Linux下的top命令。[root@localhost ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(安装第三方YUM源) [root@localhost ~]# yum -y install htop7、系统资源监控-NMONNMON是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具下载地址:http://sourceforge.jp/projects/sfnet_nmon/releases/[root@localhost ~]# chmod +x nmon_x86_64_rhel6 [root@localhost ~]# mv nmon_x86_64_rhel6 /usr/sbin/nmon [root@localhost ~]# nmon8、监控多个日志-MultiTailMultiTail是在控制台打开多个窗口用来实现同时监控多个日志文档、类似tail命令的功能的软件。[root@localhost ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm (安装第三方YUM源) [root@localhost ~]# yum -y install multitail [root@localhost ~]# multitail -e "fail" /var/log/secure #筛选关键字进行监控 [root@localhost ~]# multitail -l "ping baidu.com" #监控后面的命令-l将要执行的命令 [root@localhost ~]# multitail -i /var/log/messages -i /var/log/secure #-i指定一个文件名## 9、SSH暴力破解防护-Fail2banFail2ban可以监视你的系统日志然后匹配日志的错误信息正则式匹配执行相应的屏蔽动作一般情况下是调用防火墙屏蔽下载地址:http://www.fail2ban.org/wiki/index.php/Downloads[root@localhost ~]# cd fail2ban-0.8.11 [root@localhost fail2ban-0.8.11]# python setup.py install [root@localhost fail2ban-0.8.11]# cd files/ [root@localhost files]# cp ./redhat-initd /etc/init.d/fail2ban [root@localhost files]# service fail2ban start [root@localhost files]# chkconfig --add fail2ban [root@localhost files]# chkconfig fail2ban on 注:需要配置iptables实用,如果重启iptables了也要重启fail2ban,因为fail2ban的原理是调用iptables实时阻挡外界的攻击。 [root@localhost ~]# grep -v "^#" /etc/fail2ban/jail.conf | grep -v "^$" [DEFAULT] ignoreip = 127.0.0.1/8#忽略本机IP bantime = 600 #符合规则后封锁时间 findtime = 600 #在多长时间内符合规则执行封锁如600秒达到3次则执行 maxretry = 3 #最大尝试次数 backend = auto #日志修改检测日志gamin、polling和auto这三种 usedns = warn [ssh-iptables] enabled = true#默认是禁用 false filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] # sendmail-whois[name=SSH,dest=收件人邮箱, sender=发件人邮箱, sendername="Fail2Ban"] logpath = /var/log/sshd.log #响应的错误日志一般在/var/log/secure maxretry = 5 #尝试错误次数覆盖全局中的maxretry 注:默认所有的应用防护都是关闭的,需要我们手动开启。fail2ban.conf文件是日志信息,jail.conf文件是保护的具体服务和动作配置信息。 [root@localhost ~]# touch /var/log/sshd.log [root@localhost ~]# service fail2ban restart [root@localhost ~]# fail2ban-client status #查看监控已经开启 Status |- Number of jail: 1 `- Jail list: ssh-iptables [root@localhost ~]# iptables -L #iptables过滤表有fail2ban一条规则 fail2ban-SSH tcp -- anywhere anywhere tcp dpt:ssh10、连接会话终端持续化-TmuxTmux是一个优秀的终端复用软件类似GNU Screen比Screen更加方面、灵活和高效。为了确保连接SSH时掉线不影响任务运行。[root@localhost ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(安装第三方YUM源)11、页面显示磁盘空间使用情况-Agedu下载地址:http://www.chiark.greenend.org.uk/~sgtatham/agedu/[root@localhost ~]# tar zxvf agedu-r9723.tar.gz [root@localhost ~]# cd agedu-r9723 [root@localhost ~]# ./configure [root@localhost ~]# make && make install [root@localhost ~]# agedu -s / #-s扫描 [root@localhost ~]# agedu -w --address 192.168.0.10:80 #-w输入一个网页链接 [root@localhost ~]# agedu -w --address 192.168.0.108080 --auth none #--auth关闭认证如果不加端口号会生成一个随机的用浏览器访问12、安全扫描工具-NMapNMap是Linux下的网络连接扫描和嗅探工具包用来扫描网上电脑开放的网络连接端。下载地址:http://nmap.org/download.html[root@localhost ~]# tar jxvf nmap-6.40.tar.bz2 [root@localhost nmap-6.40]# ./configure [root@localhost nmap-6.40]# make && make install [root@localhost ~]# nmap 192.168.0.10 #获取基本信息 [root@localhost ~]# nmap -O 192.168.0.10 #获取系统版本信息 [root@localhost ~]# nmap -A 192.168.0.10 #获取系统综合信息 [root@localhost ~]# nmap 192.168.0.0/24 #获取一个网段工作设备基本信息 -sSTCP扫描 -sV系统版本检测13、Web压力测试-HttperfHttperf比ab更强大,能测试出web服务能承载的最大服务量及发现潜在问题;比如:内存使用、稳定性。最大优势:可以指定规律进行压力测试,模拟真实环境。下载地址:http://code.google.com/p/httperf/downloads/list[root@localhost ~]# tar zxvf httperf-0.9.0.tar.gz [root@localhost ~]# cd httperf-0.9.0 [root@localhost httperf-0.9.0]# ./configure [root@localhost httperf-0.9.0]# make && make install [root@localhost ~]# httperf --hog --server=192.168.0.202 --uri=/index.html --num-conns=10000 --wsess=10,10,0.1参数说明:—hog:让httperf尽可能多产生连接,httperf会根据硬件配置,有规律的产生访问连接;—num-conns:连接数量,总发起10000请求;—wsess: 用户打开网页时间规律模拟,第一个10表示产生10个会话连接,第二个10表示每个会话连接进行10次请求,0.1表示每个会话连接请求之间的间隔时间/s。
2021年12月30日
92 阅读
0 评论
0 点赞
1
2