首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
34 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
17 阅读
3
博客简介
11 阅读
4
【N1安装飞牛优化四】关闭不必要服务优化记录
11 阅读
5
SSH如何访问fe80开头的ipv6????
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
586
篇文章
累计收到
8
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
搜索到
6
篇与
的结果
2024-12-10
lnmp如何打开mysql远程访问
1、给mysql的数据库账户增加远程访问权限mysql; mysql>use mysql; mysql>grant all privileges on *.* to '账户'@'%或者ip' identified by '密码' with grant option; mysql>flush privileges; # 加载刚刚设置的配置 mysql>exit; #退出mysql lnmp restart # 重启lnmp2、通过iptables修改系统防火墙规则iptables -L -n --line-numbers # 查看已有的iptables规则 # 在iptables规则里有一行是DROP,末尾以3306结尾的,在lnmp1.5里面序号是6,不同版本可能会不一样,自行确认 iptables -D INPUT 6如果删掉drop 3306端口后,还是连接补上,就通过iptables添加上3306端口# 新增规则(-I表示插入在链的第一位置,-A 表示追加到链的末尾位置,防火墙规则是从上往下读取) iptables -I INPUT -p tcp --dport 3306 -j ACCEPT # 保存规则到默认文件/etc/sysconfig/iptables service iptables save # 重启 service iptables restart3、阿里云或者腾讯云,在控制端放开相关端口
2024年12月10日
1 阅读
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 点赞
2023-11-07
【深度学习KylinOS二】【麒麟系统环境安装之Mysql】银河麒麟服务器V10 aarch64安装mysql8.0教程
服务器环境在 arm64(aarch64) 架构服务器上基于国产化操作系统安装 Mysql 服务## 查看系统版本,确认版本 cat /etc/kylin-release Kylin Linux Advanced Server release V10 (Tercel) ## 操作系统 uname -p aarch64 ## 内核版本(≥ 3.10) uname -r 4. 19.90-21.2.ky10.aarch64 ## iptables 版本(≥ 1.4) iptables --version iptables v1.8.1 (legacy)软件安装需先卸载mariadb-server、mariadb-commonyum remove mariadb-server mariadb-common下载安装包下载地址:https://downloads.mysql.com/archives/community/可以直接用命令下载:wget -c https://downloads.mysql.com/archives/get/p/23/file/mysql-8.1.0-1.el8.aarch64.rpm-bundle.tar解压:tar xvf mysql-8.1.0-1.el8.aarch64.rpm-bundle.tar安装:yum install -y ./mysql-community-server-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-client-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-libs-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-server-8.1.0-1.el8.x86_64.rpm yum install -y ./mysql-community-common-8.1.0-1.el8.x86_64.rpm 如果嫌弃麻烦,那就直接全部安装 yum install -y ./mysql-community-*启动mysqldsystemctl start mysqld设置开机启动systemctl enable mysqldMySQL默认密码和修改密码grep 'temporary password' /var/log/mysqld.log mysql -uroot -p修改密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'sfa33afFASD!@#';重新登录搞定收工
2023年11月07日
1 阅读
0 评论
0 点赞
2023-10-19
【环境安装记录一】Linux 使用yum命令安装mysql
【安装步骤】查看有没有安装包[root@localhost ~]#yum list mysql*安装mysql客户端[root@localhost ~]#yum install mysql安装mysql服务端[blockquote2 name='洛维花']提示:如果输入此命令没有报错,则跳过下面步骤,继续安装下一个服务端[/tip][root@localhost ~]#yum install mysql-server[blockquote2 name='洛维花']注意:此处错误提示为安装失败。原因:CentOS7自带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库解决方案:如果必须要安装MySQL,首先必须添加mysql社区repo通过输入命令:(权限不够,自行加入sudo)[/tip]rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm执行完后,则继续执行:[root@localhost ~]#yum install mysql-devel到此mysql数据库安装完成了,接下来需要对数据库进行一些简单配置简单配置在/etc/my.cnf 文件中加入默认字符集[root@localhost ~]#vim /etc/my.cnf ##添加元素 collation-server = utf8_general_ci init-connect='SET NAMES utf8' character-set-server = utf8启动或关闭mysql服务[root@localhost ~]#service mysqld start --启动mysql [root@localhost ~]#service mysqld stop --关闭mysql· [root@localhost ~]#lsof -i:3306 --数据库端口是否开启设置开机启动mysql服务方式一进入系统目录:cd /usr/lib/systemd/system/编写mysqld.service:vim mysql.service内容如下:[Unit] Description=MySQL Community Server After=network.target After=syslog.target [Install] WantedBy=multi-user.target Alias=mysql.service [Service] User=mysql Group=mysql # Execute pre and post scripts as root PermissionsStartOnly=true # Needed to create system tables etc. ExecStartPre=/usr/bin/mysql-systemd-start pre # Start main service ExecStart=/usr/bin/mysqld_safe --basedir=/usr # Don't signal startup success before a ping works ExecStartPost=/usr/bin/mysql-systemd-start post # Give up if ping don't get an answer TimeoutSec=600 Restart=always PrivateTmp=false[blockquote2 name='洛维花']各大路劲需要指定到Mysql的实际安装目录[/tip]执行命令:systemctl daemon-reload # 开启自启 systemctl enable mysqld.service # 启动、重启、停止 systemctl start|reload|stop mysql 设置开机启动mysql服务方式二[root@localhost ~]# chkconfig --add mysqld设置开机启动报错内容开机启动报错内容[root@localhost ~]# chkconfig --add mysqld 服务 mysqld 信息读取出错:没有那个文件或目录解决设置开机启动报错查找Mysql 安装目录###默认安装路径 mysql_config --variable=pkglibdir ###MySQL的数据目录路径 mysql_config --variable=datadir ###默认配置文件路径 mysql_config --variable=confdir ###查看Mysql状态 systemctl status mysql找到图片上的mysqld.server服务文件复制到/etc/rc.d/init.d下cp /usr/lib/systemd/system/mysqld.service /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld 然后执行chkconfig --add mysqld时提示“服务 mysql 不支持 chkconfig,解决办法要让chkconfig支持,就得在/etc/rc.d/init.d/mysqld脚本中添加 两行注释:# chkconfig: 234 19 08 # description: xxxxxxxxxxxxxxxxx设置权限并添加开机启动:##设置权限 chmod +x /etc/init.d/mysqld ##添加开机启动 chkconfig --add mysqld创建root管理员mysqladmin -u root password 密码进入mysql容器中mysql -u root -p设置允许远程访问开放防火墙的端口号mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。use mysql; UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1; ##%表示允许所有的ip访问 select host from user;开放防火墙端口,允许外部访问版本的问题,两种方式方式一systemctl status iptables.service ####如果报错,则看方式二 Unit iptables.service could not be founda、修改防火墙配置vi /etc/sysconfig/iptables 加入:-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 这段配置,然后进行保存iptables基本命令systemctl restart iptables.service -- 重启防火墙 systemctl status iptables.service -- 查看状态 service iptables save -- 保存规则 systemctl enable iptables.service -- 设置开机启动 systemctl start iptables.service -- 开启服务方式二查看防火墙状态systemctl status firewalld.service开放端口firewall-cmd --zone=public --add-port=3306/tcp --permanent ##重启防火墙 systemctl restart firewalld.service[blockquote2 name='洛维花']注意:如果用的是阿里云服务器,需要配置安全组规则,否则无法访问[/tip]测试远程访问我用的是navicat客户端进行连接,如果弹出该提示框,则表示连接成功!到此结束!
2023年10月19日
0 阅读
0 评论
0 点赞
2022-02-17
iptables只允许限定IP访问某端口、某特定网站
以下是端口,先全部封再开某些的IPiptables -I INPUT -p tcp --dport 9889 -j DROP iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 9889 -j ACCEPT如果用了NAT转发记得配合以下才能生效iptables -I FORWARD -p tcp --dport 80 -j DROP iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT
2022年02月17日
1 阅读
0 评论
0 点赞
2022-02-12
iptables设置只允许特定mac地址、端口访问
比如:我需要指定mac访问外网IP某端口#禁止所有设备访问80端口 iptables -I INPUT -p tcp --dport 80 -j DROP # 增加设备允许访问80端口 iptables -I INPUT -p tcp --dport 80 -m mac --mac-source 你想访问的设备MAC地址 -j ACCEPT
2022年02月12日
0 阅读
0 评论
0 点赞