linux运维10

一、虚拟机搭建o,p,e,n,v,p,n,服务器

因为某种原因,以下都要改成这个o,p,e,n,v,p,n,看时请忽略,

CA机构和证书颁发详解链接:CA和证书颁发

环境搭建

系统/版本IP
centos 7.8/o,p,e,n,v,p,n, 2.4.11对外IP:192.168.116.145,对内IP:172.16.0.1
centos 7.8 内网服务器IP:172.16.0.100
Windows 10 客户端IP:192.168.116.131

拓扑图
在这里插入图片描述

内网服务器配置

修改网卡1的配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=a182d975-69eb-449a-a2ef-99edbab555b2
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.0.100
NETMASK=255.255.255.0

关机后,修改为网卡为主机模式后重启
在这里插入图片描述

o,p,e,n,v,p,n,服务器配置

1、服务器的服务端目录配置

因为某种原因,以下都要改成这个o,p,e,n,v,p,n,看时请忽略,

yum install -y o,p,e,n,v,p,n easy-rsa   安装o,p,e,n,v,p,n服务和秘钥服务

复制服务端配置模板到目录下
cp /usr/share/doc/o,p,e,n,v,p,n-2.4.11/sample/sample-config-files/server.conf /etc/o,p,e,n,v,p,n/
cp -r /usr/share/easy-rsa/ /etc/o,p,e,n,v,p,n/easy-rsa-server
cp /usr/share/doc/easy-rsa-3.0.8/vars.example /etc/o,p,e,n,v,p,n/easy-rsa-server/3/vars

vi /etc/o,p,e,n,v,p,n/easy-rsa-server/3/vars   设置证书的有效期
修改这2项
set_var EASYRSA_CA_EXPIRE       36500    #设置CA机构的有效期
set_var EASYRSA_CERT_EXPIRE     3650     #设置颁发的证书的有效期

初始化服务端的PKI服务
cd /etc/o,p,e,n,v,p,n/easy-rsa-server/3
./easyrsa init-pki  

CA生成自颁发证书,build-ca是专门生成CA的命令,所以不用签名
./easyrsa build-ca nopass     #nopass表示不用输入密码
出现这个,回车即可
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:  回车即可

为服务端生成证书
./easyrsa gen-req serveraa nopass 为serveraa账户生成证书,用于服务端使用
出现这个,回车即可
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:  回车即可

./easyrsa sign server serveraa  为serveraa账户的证书签名

出现这个,输入yes
Confirm request details: yes                 #输入yes确认

生成加密信息
./easyrsa gen-dh                加密时间较长,需要稍等一会

2、服务器的客户端目录配置

复制客户端的配置文件到配置目录下
cp -r /usr/share/easy-rsa/ /etc/o,p,e,n,v,p,n/easy-rsa-client
cp /usr/share/doc/easy-rsa-3.0.8/vars.example /etc/o,p,e,n,v,p,n/easy-rsa-client/3/vars


初始化客户端的PKI信息
cd /etc/o,p,e,n,v,p,n/easy-rsa-client/3  
./easyrsa init-pki

生成客户端证书
./easyrsa gen-req testaa    为testaa账户生成证书,如果不想设置密码就在testaa后面加nopass

Enter PEM pass phrase:                  输入密码
Verifying - Enter PEM pass phrase:      确认输入密码
Common Name (eg: your user, host, or server name) [testaa]:   回车即可

3、服务器对证书进行签名

回到服务端配置目录
cd /etc/o,p,e,n,v,p,n/easy-rsa-server/3

将生成的客户端证书导入到服务端的配置中
./easyrsa import-req /etc/o,p,e,n,v,p,n/easy-rsa-client/3/pki/reqs/testaa.req testaa          

vi /etc/o,p,e,n,v,p,n/easy-rsa-server/3/vars     修改时间,客户端账户实际使用时间可以短一点

set_var EASYRSA_CERT_EXPIRE     90   #这个就是账户登录到o,p,e,n,v,p,n的有效期,按天数算

./easyrsa sign client testaa      #为客户端的证书签名
出现这个,输入yes
Confirm request details: yes                 #输入yes确认

4、备份文件

创建服务端证书文件备份
mkdir /etc/o,p,e,n,v,p,n/certs
cp /etc/o,p,e,n,v,p,n/easy-rsa-server/3/pki/ca.crt /etc/o,p,e,n,v,p,n/certs/
cp /etc/o,p,e,n,v,p,n/easy-rsa-server/3/pki/private/serveraa.key /etc/o,p,e,n,v,p,n/certs/
cp /etc/o,p,e,n,v,p,n/easy-rsa-server/3/pki/dh.pem /etc/o,p,e,n,v,p,n/certs/
cp /etc/o,p,e,n,v,p,n/easy-rsa-server/3/pki/issued/serveraa.crt /etc/o,p,e,n,v,p,n/certs/


创建客户端证书文件备份
mkdir /etc/o,p,e,n,v,p,n/client/testaa
cp /etc/o,p,e,n,v,p,n/easy-rsa-server/3.0.8/pki/ca.crt /etc/o,p,e,n,v,p,n/client/testaa
cp /etc/o,p,e,n,v,p,n/easy-rsa-server/3.0.8/pki/issued/testaa.crt /etc/o,p,e,n,v,p,n/client/testaa
cp /etc/o,p,e,n,v,p,n/easy-rsa-client/3.0.8/pki/private/testaa.key /etc/o,p,e,n,v,p,n/client/testaa

生成安全配置文件
o,p,e,n,v,p,n --genkey --secret /etc/o,p,e,n,v,p,n/certs/ta.key
cp /etc/o,p,e,n,v,p,n/certs/ta.key /etc/o,p,e,n,v,p,n/client/testaa/ 复制文件到客户端目录下 

5、创建登录账户和开启路由转发

getent passwd o,p,e,n,v,p,n                        创建登录账户
mkdir /var/log/o,p,e,n,v,p,n                      创建日志目录
chown o,p,e,n,v,p,n.o,p,e,n,v,p,n /var/log/o,p,e,n,v,p,n/
vi /etc/sysctl.conf                          开启内核转发

net.ipv4.ip_forward = 1

sysctl -p                                    临时启动或者重启都可以

配置iptables路由转发
echo 'iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

6、配置o,p,e,n,v,p,n服务器的配置文件

cp /etc/o,p,e,n,v,p,n/server.conf /etc/o,p,e,n,v,p,n/server.conf.bak  备份配置文件
vi /etc/o,p,e,n,v,p,n/server.conf  
#删除文件的其他内容,改为下面这些
port 1194
proto tcp
dev tun
ca /etc/o,p,e,n,v,p,n/certs/ca.crt
cert /etc/o,p,e,n,v,p,n/certs/serveraa.crt
key /etc/o,p,e,n,v,p,n/certs/serveraa.key
dh /etc/o,p,e,n,v,p,n/certs/dh.pem
server 10.0.0.0 255.255.255.0               #连接时自动分配的网段,通过这个网段,外网的访问可以到达内网,注意不能和内网的网段冲突
push "route 172.16.0.0 255.255.255.0"       #内部网络的网段配置
keepalive 10 120 
cipher AES-256-CBC
push "compress lz4-v2"
max-clients 2048
user o,p,e,n,v,p,n
group o,p,e,n,v,p,n
status o,p,e,n,v,p,n-status.log
status /var/log/o,p,e,n,v,p,n-status.log
log-append  /var/log/o,p,e,n,v,p,n/o,p,e,n,v,p,n.log
verb 3
mute 20
tls-auth /etc/o,p,e,n,v,p,n/certs/ta.key 0         #服务器要设为0,客户端设为1

7、配置客户端登录的配置文件

vi /etc/o,p,e,n,v,p,n/client/testaa/client.ovpn     生成客户端配置文件

client
dev tun
proto tcp
remote  192.168.116.145  1194      
resolv-retry infinite
nobind
ca ca.crt
cert testaa.crt                     #这里要修改为客户端新的账户的名字,其他不变
key testaa.key                      #这里要修改为客户端新的账户的名字,其他不变
remote-cert-tls server
tls-auth ta.key 1                   #服务器要设为0,客户端设为1
cipher AES-256-CBC
verb 3
compress lz4-v2

systemctl enable o,p,e,n,v,p,n@server  开机启动服务
systemctl start o,p,e,n,v,p,n@server   启动服务

8、网卡1配置,连接外网

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=7b636dc1-fa52-4fc5-a424-e8cd83fa0bfd
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.116.145
NETMASK=255.255.255.0
GATEWAY=192.168.116.2
DNS1=114.114.114.114

9、网卡2配置,连接内网

vi /etc/sysconfig/network-scripts/ifcfg-ens34

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=9de44ead-9df5-46bb-bb51-bbbb041f5976
DEVICE=ens34
ONBOOT=yes
IPADDR=172.16.0.1
NETMASK=255.255.255.0

关机,修改虚拟机的网卡2连接为主机模式
在这里插入图片描述
10、重启后,确认网卡生成
ip a
可以看到多了一块网卡tun0,这块网卡就是用来外网和内网进行连通的网卡
在这里插入图片描述

ping 172.16.0.100            测试o,p,e,n,v,p,n服务器到内网服务器的连接

在这里插入图片描述

客户端配置
服务器这个文件夹的文件都要传给客户端,用winscp或xftp都可以传
ls /etc/o,p,e,n,v,p,n/client/testaa/
客户端需要的就是这些文件,把这些文件放到C:\Program Files\o,p,e,n,v,p,n\config目录下
ca.crt client.ovpn ta.key testaa.crt testaa.key
在这里插入图片描述
传送完成后,确认客户端目录C:\Program Files\o,p,e,n,v,p,n\config下面有这些文件
在这里插入图片描述

1、客户端没有连接o,p,e,n,v,p,n服务器时
ipconfig 查看IP配置,不用配置网关,只要和o,p,e,n,v,p,n服务器的网卡1网段相同即可
在这里插入图片描述

ping 192.168.116.145   到o,p,e,n,v,p,n服务器的网卡1能通
ping 172.16.0.1        到o,p,e,n,v,p,n服务器的网卡2不通
ping 172.16.0.100      到内网服务器不通

在这里插入图片描述
2、客户端连接o,p,e,n,v,p,n服务器后
网上下载o,p,e,n,v,p,n-install-2.4.8-I602-Win10.exe软件
点击开始菜单栏,找到客户端的登录软件,双击打开
在这里插入图片描述
查看右下角多了一个软件
在这里插入图片描述
右键点击连接
在这里插入图片描述
输入密码
在这里插入图片描述
可以看到软件出现绿色,表示已经连接,分配的ip为10.0.0.6
在这里插入图片描述
ipconfig 可以看到o,p,e,n,v,p,n的tun0网卡分配的IP
在这里插入图片描述

ping 172.16.0.1        到o,p,e,n,v,p,n服务器的网卡通了
ping 172.16.0.100      到内网服务器通

在这里插入图片描述

二、通过编译、二进制安装MySQL5.7.31

源码包编译安装mysql 5.7.31
编译安装有点像安装系统时自定义安装,还可以修改mysql默认定义的一些配置。
下载地址:mysql源码包下载
需要选择source code
在这里插入图片描述

安装依赖包,虚拟机配置能调高就调高,要不然编译会很久
yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel   ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel perl-Data-Dumper 

创建账户
useradd -r -s /sbin/nologin -d /mysql mysql
mkdir /mysql/data -p

必须下载mysql-boost-5.7.31.tar.gz,下载mysql-5.7.31.tar.gz会出现下面报错
CMake Error at cmake/boost.cmake:81 (MESSAGE):

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.31.tar.gz
tar xf mysql-boost-5.7.31.tar.gz 
cd mysql-5.7.31/
cmake . \
-DCMAKE_INSTALL_PREFIX=/mysql \
-DMYSQL_DATADIR=/mysql/data \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DWITH_BOOST=./boost \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install
定义变量
echo 'PATH=/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
定义配置文件
vi /etc/my.cnf
删除其他内容,改成这些
[mysqld]
datadir=/mysql/data
skip_name_resolve=1
socket=/mysql/mysql.sock
log-error=/mysql/mysql.log
pid-file=/mysql/mysql.pid
[client]
socket=/mysql/mysql.sock
!includedir /etc/my.cnf.d

chown mysql.mysql -R /mysql/          修改权限
mysqld --initialize --user=mysql --datadir=/mysql/data  初始化

cp /mysql/support-files/mysql.server /etc/init.d/mysqld
chown mysql.mysql -R /mysql/         修改权限
service mysqld start                 启动mysql
ss -tnl                              查看端口
grep password /mysql/mysql.log       查看日志得到root密码
chkconfig --add mysqld               设置开机启动
alter user 'root'@'localhost'IDENTIFIED BY 'Test12#$';  修改密码

在这里插入图片描述
二进制安装mysql 5.7.31
二进制安装有点像安装系统时的最小化安装,只包括基本功能,不能修改原本定义好的基本配置。需要选择linux generic(通用)。
二进制(glibc包)下载方式:mysql二进制包下载链接
在这里插入图片描述

yum  -y install libaio numactl-libs          安装依赖包
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

下载二进制包
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
tar xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mysql-5.7.31-linux-glibc2.12-x86_64/ mysql
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh

cp /etc/my.cnf{,.bak}   备份配置文件

vi /etc/my.cnf
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
!includedir /etc/my.cnf.d/

mkdir /data/mysql -p                创建安装数据库的目录
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql  初始化
chown -R mysql.mysql /data/mysql/    修改权限
复制启动脚本到/etc下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

service mysqld start                   启动mysql
ss -tnl                                查看3306端口打开
chkconfig --add mysqld                 设置开机启动
mysqladmin -uroot password 123456      默认是空密码,修改root的密码
mysql -uroot -p123456                  登录测试
exit                                   退出

在这里插入图片描述

三、二进制安装mariadb10.4

官网下载二进制glibc包:mariadb下载
在这里插入图片描述

yum  -y install libaio numactl-libs        安装依赖
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

下载二进制包
wget https://mirrors.ustc.edu.cn/mariadb//mariadb-10.4.21/bintar-linux-glibc_214-x86_64/mariadb-10.4.21-linux-glibc_214-x86_64.tar.gz
tar xf mariadb-10.4.21-linux-glibc_214-x86_64.tar.gz -C /usr/local/
cd /usr/local
ln -s mariadb-10.4.21-linux-glibc_214-x86_64/ mysql

定义变量文件
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh

创建配置文件
cp /etc/my.cnf{,.bak}
vi /etc/my.cnf
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
!includedir /etc/my.cnf.d/

mkdir /data/mysql -p
chown -R mysql.mysql /data/mysql/    修改权限
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mariadb

service mariadb start                   启动mysql
chkconfig --add mariadb                 设置开机启动

mysql                               进入系统
alter user 'root'@'localhost'IDENTIFIED BY 'Test12#$';   修改root密码
mysql -uroot -pTest12#$

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值