首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
39 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
博客简介
11 阅读
4
SSH如何访问fe80开头的ipv6????
11 阅读
5
【N1安装飞牛优化四】关闭不必要服务优化记录
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
587
篇文章
累计收到
8
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
8
篇与
的结果
2025-11-26
在联网机器上下载所有 RPM 包并在离线机器上安装所有软件
在联网机器上下载所有 RPM 包并在离线机器上安装所有软件下载1. 安装下载工具sudo dnf install -y dnf-utils2. 创建目录mkdir ~/openEuler-20.03-LTS-SP4 && cd ~/openEuler-20.03-LTS-SP43. 启用必要仓库(关键!)欧拉openEuler系统sudo dnf config-manager --set-enabled everything EPOLCentos8.5系统sudo dnf config-manager --set-enabled base AppStream3. 下载dnf download --resolve \ nginx \ redis \ docker \ java-1.8.0-openjdk \ java-1.8.0-openjdk-devel4. 验证ls -l *.rpm | wc -l5. 打包tar -czvf openEuler-24.03-LTS-x86_64.tar.gz *.rpm安装:1. 解压 RPM 包cd /tmp tar -xzvf offline-apps.tar.gz dnf deplist java-1.8.0-openjdk2. 安装所有软件(自动解决依赖顺序)sudo dnf install -y *.rpm# (如果系统只有 yum,没有 dnf,可用:) # sudo yum localinstall -y *.rpm3. 启动并启用服务sudo systemctl enable --now nginx sudo systemctl enable --now redis sudo systemctl enable --now docker4. 验证安装结果nginx -v # 应显示版本 redis-cli --version # 应显示版本 docker --version # 应显示版本 java -version # 应显示 OpenJDK 17 curl http://localhost # 应看到 nginx 欢迎页
2025年11月26日
3 阅读
0 评论
0 点赞
2024-11-29
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置内容有点长,让我缕缕前言说起异地组网,之前一直在使用zerotier-planet进行搭建,使用了一段时间也挺稳定,唯一的不足就是ios平台由于系统限制没办法修改planet文件,也就没法进行组网。网上找了一圈,看到很早就有人在官方论坛里面提过这个需求,但是官方似乎对此兴趣好像不大,没办法只能研究其他组网方式,找了一圈后最后确定下来使用wireguard搭建中继服务器进行组网,wireguard的各平台支持也都比较齐全,其功能也都满足我的需求,在此记录下组网过程。画个图安装wireguard #Ubuntu22 apt install -y wireguard #Centos yum install -y wireguard #armbian yum install -y wireguard #KylinV10 yum install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1一键命令,一次性搞定。wg-gen-web 配置wg-gen-web 仓库对于新手来说,如何才能快速把 WireGuard 用起来呢?当然是通过图形管理界面啦,填几个参数,生成个二维码,再拿客户端扫下二维码就连上了,简直是比爽姐还爽~wg-gen-web 就是这样一款图形管理界面,主要包含以下这些功能:根据 CIDR 自动分配 IP 地址给客户端;每个客户端会生成 QR 二维码,方便移动客户端扫描使用;支持通过邮件发送二维码和配置文件;支持启用和禁用某个客户端;支持 IPv6;支持使用 GitHub 和 Oauth2 OIDC 来进行用户认证;颜值还比较高。wg-gen-web 支持直接通过容器来运行,如果你是在本地运行,可以准备一份 docker-compose 文件:version: '3.6' services: wg-gen-web: image: vx3r/wg-gen-web:latest container_name: wg-gen-web restart: always expose: - "8080/tcp" ports: - 80:8080 environment: - WG_CONF_DIR=/data - WG_INTERFACE_NAME=wg0.conf - OAUTH2_PROVIDER_NAME=fake - WG_STATS_API=http://<API_LISTEN_IP>:8182 volumes: - /etc/wireguard:/data network_mode: bridge wg-json-api: image: james/wg-api:latest container_name: wg-json-api restart: always cap_add: - NET_ADMIN network_mode: "host" command: wg-api --device wg0 --listen <API_LISTEN_IP>:8182我习惯于用docker命令来安装:docker run --rm -it -v /tmp/wireguard:/data -p 8080:8080 -e "WG_CONF_DIR=/data" vx3r/wg-gen-web:latest这里还用到了另外一个项目 wg-api,该项目提供了一个 JSON-RPC 接口,用来暴露 WireGuard 的网络状态信息。其中 <API_LISTEN_IP> 可以直接替换成 docker0 的 IP。执行以下命令运行 wg-gen-web:docker-compose up -d在浏览器中输入 URL 打开图形管理界面,点击 “SERVER” 开始填写服务端和客户端的配置信息:这里的 PostUp和PostDown我只有如下设置的时候才行,不知道是不是我的内网原因。各位看着弄 #PostUp iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #PostDown iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE填写好配置信息后,直接点击 UPDATE SERVER CONFIGURATION 保存,同时会生成配置文件 wg0.conf: cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE注意: 这里如果需要多个内网网段,记得都填写下去接下来点击 CLIENTS,然后点击 ADD NEW CLIENT 开始新增客户端配置:填写客户端配置信息:点击 SUBMIT,就会在 /etc/wireguard 目录下生成客户端的 json 配置文件:cat /etc/wireguard/f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f { "id": "f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f", "name": "test", "email": "yangchuansheng33@gmail.com", "enable": true, "ignorePersistentKeepalive": false, "presharedKey": "8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs=", "allowedIPs": [ "10.6.6.0/24" ], "address": [ "10.6.6.2/32" ], "tags": [], "privateKey": "ODN2xN12p5lwcEuj20C4uZV9kJE9yHz4eAHB/4czPEM=", "publicKey": "k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM=", "createdBy": "Unknown", "updatedBy": "", "created": "2021-01-20T05:19:16.659225991Z", "updated": "2021-01-20T05:19:16.659225991Z" }如果勾选了 “Enable client after creation”,还会将 peer 的配置加入 wg0.conf:cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # test / yangchuansheng33@gmail.com / Updated: 2021-01-20 05:19:16.659225991 +0000 UTC / Created: 2021-01-20 05:19:16.659225991 +0000 UTC [Peer] PublicKey = k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= PresharedKey = 8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs= AllowedIPs = 10.6.6.2/32最后直接启动 wg-quick 服务就行了:systemctl start wg-quick@wg0如果你之前已经启动过该服务,现在只需要重启就行了:systemctl restart wg-quick@wg0每次更新配置后都要手动 reload 还是很麻烦的,我们可以通过 systemd 来监听配置文件的实时变化,一但配置文件有所改动,就立即触发 reload。方法也很简单,先创建一个 wg-gen-web.service 用来 reload:# /etc/systemd/system/wg-gen-web.service [Unit] Description=Restart WireGuard After=network.target [Service] Type=oneshot ExecStart=/usr/bin/systemctl reload wg-quick@wg0.service [Install] WantedBy=multi-user.target然后再创建一个同名的 wg-gen-web.path 用来监听文件变化:# /etc/systemd/system/wg-gen-web.path [Unit] Description=Watch /etc/wireguard for changes [Path] PathModified=/etc/wireguard [Install] WantedBy=multi-user.target设置开机自启:systemctl enable wg-gen-web.service wg-gen-web.path --now后面如果再到 Web 页面上更新配置信息,会立即触发 reload,不需要再自己手动 reload 了。查看接口信息:wg show wg0 interface: wg0 public key: dG5xPA7Q6X7ByeNl5pasI/8ZPhiTOsfsy0NUX4w2wmI= private key: (hidden) listening port: 51820 peer: k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= preshared key: (hidden) allowed ips: 10.6.6.2/32客户端建立连接Linux客户端# 安装wireguard apt install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1将上面服务器添加的客户端配置文件下载后 存放到 /etc/wireguard/并执行启动程序systemctl reload wg-quick@wg0启动后ping一下上面设置的局域网内网连接,如果通了,则组网成功!一些优化有时外网IP变化了,wg服务并未报错,但是也没有重连到中继服务器上,造成机器离线,这里新增一个watchdog服务进行连接保活监控# 新建watchdog服务 vim /lib/systemd/system/wg-watchdog.service # 添加下面代码到service中 [Unit] Description=Wireguard Watchdog After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=10 ExecStart=/etc/wireguard/watchdog.sh [Install] WantedBy=multi-user.target# 新建脚本 vim /etc/wireguard/watchdog.sh # 添加下面代码到watchdog.sh中 #!/bin/bash # TARGET_HOST 根据实际情况修改,这里是中继服务器的内网IP TARGET_HOST='10.0.1.1' # this is your wireguard network server IP UP=false while true do count=$(ping -c 1 $TARGET_HOST | grep rtt | wc -l) if [ $count -eq 0 ]; then echo "$(date)" "Target host" $TARGET_HOST "unreachable, reinitiating wireguard wg0 interface!" systemctl restart wg-quick@wg0 UP=false else if [ $UP = false ]; then echo "$(date)" "Wireguard connection reestablished!" fi UP=true fi sleep 10 done最后启动服务systemctl daemon-reload systemctl start wg-watchdog systemctl enable wg-watchdog脚本原理是每隔10秒ping一下中继服务器IP,如果ping不通则说明本机离线,检测到离线后就重启wg服务,这样就可以保证机器一直在线了。
2024年11月29日
2 阅读
0 评论
0 点赞
2024-07-16
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysq
今天在linux里安装mysql,运行时遇到这样的错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'上网查了下:这种情况大多数是因为你的mysql是使用rpm方式安装的,它会自动寻找 /var/lib/mysql/mysql.sock 这个文件,通过unix socket登录mysql。常见解决办法如下:创建/修改文件 /etc/my.cnf,至少增加/修改一行[mysql] [client] socket = /tmp/mysql.sock在这里写上你的mysql.sock的正确位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下指定IP地址,使用tcp方式连接mysql,而不使用本地sock方式#mysql -h127.0.0.1 -uuser -ppassword为 mysql.sock 加个连接,比如说实际的mysql.sock在 /tmp/ 下,则#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可
2024年07月16日
1 阅读
0 评论
0 点赞
2024-06-04
Rsync+Inotify 实现数据同步,双向同步,单向同步
基本了解什么是rsync?与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。其次,rsync不能实时的去监测、同步数据,虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应用故障时完全的恢复数据。基于以上原因,rsync+inotify组合出现了!什么是inotify?Inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件。在上面章节中,我们讲到,rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决了同步数据的实时性问题。rsync+inotify同步逻辑图环境准备服务器类型IP地址应用操作系统源服务器(数据源服务器),客户端192.168.130.161rsync inotify-tools 脚本centos7/redhat7目标服务器(备份服务器),服务端192.168.130.160rsynccentos7/redhat7重要提示关闭服务端和客户端的防护墙(不是必须,可以开放端口)、selinux(必须)。 #临时关闭 setenforce 0 #长久关闭---使用此方法。需要重启生效。所以可以先执行上面那句,再执行这句。就暂时可以不重启,先配置 sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config如果未关闭,会提示错误:rsync: failed to set times on "." (in backup): Permission denied (13) rsync: recv_generator: failed to stat "ccc" (in backup): Permission denied (13)目标服务器(备份服务器),服务端一:安装rsycn在Centos上只要一句代码而已,其他系统自己找。yum install -y rsync二:添加配置文件参数。[root@server ~]# vim /etc/rsyncd.conf ##日志文件位置. log file = /var/log/rsyncd.log ##pid文件的存放位置 pidfile = /var/run/rsyncd.pid ##支持max connections参数的锁文件 lock file = /var/run/rsync.lock ##用户认证配置文件,用于保存用户名称和密码,必须手动创建 secrets file = /etc/rsync.pass #自定义同步资源名称。 [qingjun] #rsync服务端数据存放路径,客户端的数据将同步至此目录 path = /tmp/ comment = sync runtime from client #设置rsync运行权限为root uid = 0 #设置rsync运行权限为root gid = 0 #默认端口 port = 873 #表示出现错误忽略错误 ignore errors #默认为true,修改为no,增加对目录文件软连接的备份 use chroot = no #设置rsync服务端为读写权限 read only = no #不显示rsync服务端资源列表 list = no #最大连接数 max connections = 200 #设置超时时间 timeout = 600 #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开 auth users = admin #允许进行数据同步的源服务器IP地址,可以设置多个,用英文状态下逗号隔开 hosts allow = 192.168.0.0/24三:创建用户认证文件,设置文件权限为600。echo 'admin:123456' > /etc/rsync.pass chmod 600 /etc/rsync.pass 四:启动服务,设置开机自启。systemctl enable rsyncd systemctl start rsyncd五:验证是否监听端口ss -antl源服务器(数据源服务器),客户端一:安装rsycn在Centos上只要一句代码而已,其他系统自己找。yum install -y rsync二:配置epel源,安装inotify-tools服务。wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo #################################### wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel* sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel* ####################################### yum -y install inotify-tools二:创建认证密码文件,只需写密码,设置文件权限为600。echo '123456' > /etc/rsync.pass chmod 600 /etc/rsync.pass三:创建同步目录runtime。mkdir /runtime四:进入同步目录创建文件,开始同步。rsync -avH --port 873 --progress --delete /runtime admin@192.168.130.160::qingjun --password-file=/etc/rsync.pass 说明: rsync -avH --port 873 --progress --delete 源服务器需要同步到其他服务器的目录 admin@同步到哪个服务器IP::上面定义的同步模块 --password-file=/etc/rsync.pass五:服务端查看结果。六:自动同步- 1.写个脚本,给脚本设置开机启动执行。 #!/bin/bash host=192.168.130.160 src=/runtime des=qingjun password=/etc/rsync.pass user=admin inotifywait=/usr/bin/inotifywait $inotifywait -mrq --timefmt '%Y%m%d %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \ | while read files;do rsync -avzP --delete --timeout=100 --password-file=${password} $src $user@$host::$des echo "${files} was rsynced" >>/tmp/rsync.log 2>&1 done保存上面脚本到你想存放的目录,这边就存放到了opt目录下- 2. 后台执行脚本。nohup bash /opt/qingjun.sh &- 3. 添加到rc.local,实现开机自动启动这个脚本OK完美收工!
2024年06月04日
3 阅读
0 评论
0 点赞
2024-04-28
harbor部署(docker hub)+bash一键安装
[blockquote2 name='洛维花']搭建自己的docker hub,适用于内网部署演示版本为2.9.4(2024年4月版本)[/tip]官网: harbor官网: harbor前言需要docker和docker-compose,如果没有安装,可以参考:docker安装docker-compose安装docker hub安装cd /usr/local如果官方下载太慢,建议用下载工具下载并上传到服务器wget https://github.com/goharbor/harbor/releases/download/v2.9.4/harbor-offline-installer-v2.9.4.tgz解压tar -zxvf harbor-offline-installer-v2.9.4.tgz根据自己情况,这里是/var/harbormkdir /var/harbor授权chmod -R 750 /var/harbor复制模板为配置文件cp /usr/local/harbor/harbor.yml.tmpl /usr/local/harbor/harbor.yml编辑vi /usr/local/harbor/harbor.yml详细配置如下:1)hostname改为本机在局域网的ip,比如192.168.0.882)http的port改为设定的harbor的对外服务端口,比如88883)注释所有https的配置(前面加#),包括https、port、certificate、private_key如果使用https,则不要注释4)修改data_volume为上面创建的/var/harbor配置文件可以设置管理员的账号名称,根据需要设置cd /usr/local/harbor ./install.shharbor开机会自动启动[blockquote2 name='洛维花']这个脚本是我上面操作,如果上面手动操作了,就不要用了[/tip]vi /usr/local/harbor.sh修改脚本的常量区域,可以调整安装需要设置本地服务器ip和端口#!/bin/bash # 常量设置 harbor_version="2.9.0" # harbor版本 install_path="/usr/local" # 安装、操作目录 server_ip="192.168.0.88" # 服务ip server_port="8888" # 服务端口 data_path="/var/harbor" # 数据保存目录 data_path2="\/var\/harbor" # 数据保存目录 # 下载harbor源码包,如果下载过慢,注释下面几行代码 echo "......正在下载源码包......" wget -P ${install_path} wget https://github.com/goharbor/harbor/releases/download/v${harbor_version}/harbor-offline-installer-v${harbor_version}.tgz echo "......源码包下载完成......" # 解压缩 echo "......正在解压缩源码包......" cd ${install_path} tar -zxf ${install_path}/harbor-offline-installer-v${harbor_version}.tgz echo "......源码包解压缩完成......" # 创建数据目录 mkdir ${data_path} chmod -R 750 ${data_path} # 配置文件 echo "......正在修改配置文件......" ## 复制配置文件 cp ${install_path}/harbor/harbor.yml.tmpl ${install_path}/harbor/harbor.yml ## 调整配置文件 sed -i 's/data_volume: \/data/data_volume: '"$data_path2"'/g' ${install_path}/harbor/harbor.yml sed -i 's/hostname: reg.mydomain.com/hostname: '"$server_ip"'/g' ${install_path}/harbor/harbor.yml sed -i 's/https:/# https:/g' ${install_path}/harbor/harbor.yml sed -i 's/certificate:/# certificate:/g' ${install_path}/harbor/harbor.yml sed -i 's/private_key:/# private_key:/g' ${install_path}/harbor/harbor.yml sed -i 's/port: 443/# port: 443/g' ${install_path}/harbor/harbor.yml echo "......修改配置文件完成......" ## 启动 /usr/local/harbor/install.sh echo "......!!!脚本运行完成!!!......"保存后sh /usr/local/harbor.sh使用浏览器打开ip:port(每个设备的局域网ip不一样)访问地址上面设置的(这里是192.168.0.88:8888)默认账号:admin 默认密码:Harbor12345(在xml里面配置)系统管理——用户管理——创建用户如果用域名,需要配置ssl证书,证书将保存的目录写道xml里面即可二、卸载docker stop $(docker ps -a | grep "goharbor" | awk '{print $1}')docker rm $(docker ps -a | grep "goharbor" | awk '{print $1}')docker rmi $(docker images | grep "goharbor" | awk '{print $1":"$2}')然后删除下载的harbor安装包
2024年04月28日
1 阅读
0 评论
0 点赞
2024-04-22
mac,macOS下的l2tp,如何设置指定流量,而不是全局
注意网络有优先级服务顺序,开启L2TP VPN后发现无效,内网还是访问不了,但是设置L2TP为第一个服务顺序的话就可以访问。可是这样的话,如果内网不具备访问互联网的功能的话,就会导致我们电脑也不会有网,只能访问内网。每次需要访问互联网的时候就需要关闭VPN,来来回回切换就会体验很不好。开工设置本文代码来自:Github先设置一下设置 -> 网络 -> 目标VPN -> 高级 -> 取消勾选通过VPN连接发送所有流量黑名单模式在mac终端中:sudo vi /etc/ppp/ip-up添加以下内容:#!/bin/sh export PATH="/bin:/sbin:/usr/sbin:/usr/bin" OLDGW=`netstat -nr | grep 'ppp0' | grep 'UH ' | sed 's/ \([0-9.]*\).*/\1/g'` if [ ! -e /tmp/pptp_oldgw ]; then echo "${OLDGW}" > /tmp/pptp_oldgw fi dscacheutil -flushcache route add 192.168.8.0/16 "${OLDGW}" # 更改这里的ip段sudo vi /etc/ppp/ip-down添加以下内容:#!/bin/sh export PATH="/bin:/sbin:/usr/sbin:/usr/bin" if [ ! -e /tmp/pptp_oldgw ]; then exit 0 fi OLDGW=`cat /tmp/pptp_oldgw` route delete 106.75.0.0/16 ${OLDGW} # 更改这里的ip段 rm /tmp/pptp_oldgw完结重启电脑,重新链接vpn。注意事项如果刚开始已勾选通过VPN连接发送所有流量,建议重新创建vpn,我测试下取消勾选不会生效需要追加规则直接在两个脚本内追加ip,然后重连即可出现问题检查流程:改完规则是否重连VPNnetstat -nr,检查脚本内的路由规则是否已添加ls -l /etc/ppp,检查脚本文件是否可执行
2024年04月22日
0 阅读
0 评论
0 点赞
2024-03-29
群晖DSM7.2版本Web Station Nginx 配置的伪静态修改教程
升级后改来改去,我也是累了先进入Web Station Nginx 配置文件目录 cd /var/tmp/nginx/test/plugin_config/sites-enabled/会看到以 webservice_portal_老头后面为字母加数字的文件:webservice_portal_6edc8d4a-2bab-4c89-bc1d-d873ed0e708a我们输出查看 cat webservice_portal_6edc8d4a-2bab-4c89-bc1d-d873ed0e708a sudo -i #提升权限 cd /usr/local/etc/nginx/conf.d cat .service.6edc8d4a-2bab-4c89-bc1d-d873ed0e708a.f7dc2a4d-c44d-47ef-9a49-298f15fc340f.conf mkdir -p f7dc2a4d-c44d-47ef-9a49-298f15fc340f cd f7dc2a4d-c44d-47ef-9a49-298f15fc340f vi user.conf写入wordpress的伪静态配置文件 location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent; if (!-e $request_filename) { rewrite (.*) /index.php; }搞定!收尾重新加载nginx服务/bin/nginx -s reload
2024年03月29日
2 阅读
0 评论
0 点赞
2023-07-18
tmpfs满了?linux中tmp空间不够怎么办
tmpfs满了?linux中tmp空间不够怎么办出现原因安装数据库时,会使用到临时目录/tmp,但是/tmp太小时会报错解决办法:需要重新分配/tmp目录大小vim /etc/fstab加入一行tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0将/tmp文件更改为2G的空间,此操作需要重启才能生效。开机后使用df -h查看/tmp目录大小为2G //若有其他大小需求可自由更改异常情况?出现问题?解决办法:在命令行中输入按步骤执行以下三步:mkdir /home/usrname/tmp export TMPDIR=/home/usrname/tmp source ~/.bashrc问题就会解决了。
2023年07月18日
1 阅读
0 评论
0 点赞