Linux 2: Cloud computing network application management | Linux

Linux 系列

Linux 1: 云计算操作系统管理

Linux 2: 云计算网络应用管理

  • Cloud computing network application management | Linux

Linux 3: 数据库开发技术


Linux 2: Cloud computing network application management | Linux

Linux 操作系统 2: 云计算网络应用管理


配置Linux网络

配置静态主机名

配置文件/etc/hostname

固定保存的主机名,永久有效

echo "svr7.tedu.cn" > /etc/hostname
hostname svr7.tedu.cn

修改网卡命名规则

vim /etc/default/grub
    .........
    GRUB_CMDLINE_LINUX="..... quiet net.ifnames=0 biosdevname=0"
    ...........

grub2-mkconfig -o  /boot/grub2/grub.cfg #使网卡命名规则生效
reboot

ifconfig | head -2    #重启之后查看网卡名是不是eth0

配置静态IP地址

nmcli connection show   #查看网卡信息
nmcli connection delete ens33   #删除ens33网卡设备
nmcli connection show
nmcli connection delete 有线连接\ 1
nmcli connection show
nmcli connection add type ethernet ifname eth0 con-name eth0         #添加网卡设备eth0
nmcli connection show

#配置 eth0 的IP地址 (手动manual,自动auto) 为 192.168.4.10/24,网关为 192.168.4.254,开机后自动连接
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.10/24 ipv4.gateway 192.168.4.254 connection.autoconnect yes

nmcli connection up eth0    #激活网卡
ifconfig | head -2
route -n    #查看网关
通过修改配置文件的方式修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet
    BOOTPROTO=static    #自动获取是dhcp,手动配置是static
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.4.25 #ip地址
    PREFIX=24   #子网掩码

systemctl restart network   #重启network网络服务
ifconfig | head -2
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.4.25  netmask 255.255.255.0  broadcast 192.168.4.255

为本机指定DNS服务器

配置文件 /etc/resolv.conf

关键记录:nameserver DNS服务器地址

vim /etc/resolv.conf
    # Generated by NetworkManager
    search tedu.cn
    nameserver 8.8.8.8

echo "nameserver 9.9.9.9" > /etc/resolv.conf

远程管理ssh

SSH协议(Secure Shell)

为客户机提供安全的 Shell 环境

默认端口:TCP22

OpenSSH 服务

服务名称:sshd

主程序:/use/sbin/sshd、/usr/bin/ssh

配置主件:/etc/ssh/sshd_config

/etc/ssh/ssh_config

SSH的基本使用

ssh root@要远程主机的ip地址	#远程指定的主机

ssh root@要使用图形界面远程主机的ip地址	#使用图形界面远程指定的主机
firefox	#测试图形界面状态下

使用scp远程复制工具

安全复制工具scp

scp -r 用户名@服务器:远程路径 本地路径	#将指定主机上的文件下载到本地
scp -r 本地路径 用户名@服务器:远程路径	#将本地的文件上上传至指定主机
scp -r root@192.168.4.207:/boot /opt/	#将远程主机.207的目录boot复制到本地opt目录下
scp -r /boot root@192.168.4.207:/opt/	#将本机的boot目录复制到远程主机.207主机的opt目录下

常用的网络工具

查看ip地址

ip address show
ip a s	#简写

添加ip地址

ip address add 192.168.8.1/24 dev ens33
ip aa

指定下一跳

vim /etc/rc.d/rc.local	#设置每次开机生效
	ip address add 192.168.8.1/24 dev ens33

ip route add 10.0.0.0/24 via 192.168.8.100 dev ens33	#添加路由,via是下一跳
ip route del 10.0.0.0/24	#删除路由表
ip route show	#查看路由表

查看对应的端口号

ss与netstat

选项列表:

-a:显示所有端口的信息

-n:以数字格式显示端口号

-t:显示TCP连接的端口

-u:显示UDP连接的端口

-l:显示服务正在监听的端口信息

-p:显示监听端口的服务名(程序名称)

netstat -anptu	#查看端口的详细信息
ss -antpu	#查看TCP端口号(相对全面)
netstat -anptu | grep :22	#筛选端口号为22的端口
ss -anptu | grep :22

ping命令

ping -c 测试包的个数n 目标ip地址 #ping包n次

Yum仓库特点

作为yum源需要准备的内容
大量的.rpm源需要准备的内容
针对这些软件包 repodata/ 仓库档案

repodata/:仓库档案数据

filelists.xml.gz 软件包的文件安装清单

primary.xml.gz 软件包的基本/主要信息

other.xml.gz 软件包的其他信息

repomd.xml

结束后台进程

kill oneko	

源码编译安装的优势

主要优点

获得软件的最新版,及时修复bug

软件功能可按需选择/定制,有更多软件可供选择

源码包适用于各种平台

安装开发工具gcc、make
yum -y install gcc make	#安装gcc、make包
rpm -q gcc	#检查是否安装成功
rpm -q make
tar -xf /opt/tools/inotify-tools-3.13.tar.gz -C /opt/
cd /opt/inotify-tools-3.13/
./confgure --help
./confgure --help --prefix=/opt/haha	#配置时指定安装位置
make	#编译
make install	#安装
ls /opt/haha/
ls /opt/haha/bin/

SELinux运行模式的切换

SELinux的运行模式

enforcing(强制模式)

permissive(宽松模式)

disabled(彻底禁用)

切换运行模式

临时切换:
getenforce	#查看SELinux当前的运行状态

setenforce 1	#切换至强制模式 1
setenforce 0	#切换至宽松模式 0
永久改变SELinux的运行模式

固定配置:/etc/selinux/config 文件

vim /etc/selinux/config	#永久改变SELinux的运行模式
    SELINUX=disabled	#彻底禁用SELinux
    SELINUX=enabled	#彻底禁用SELinux
	
reboot	#重启查看状态

服务器架构

服务器:能够为其他服务器提供服务的更高级的电脑

机架式

塔式

机柜室

刀片式

Client/Server架构

由服务器提供资源或某种功能

客户机使用资源或功能

搭建web(http)服务

装包、起服务
  1. 安装httpd(Apache)软件包(服务器软件)

    yum -y install httpd
    
  2. 重起httpd服务

    systemctl start httpd
    
  3. 访问测试,书写一个页面文件

    firefox http://192.168.4.10
    
    vim /var/www/html/index.html	#打开默认存放网页文件的路径进行编辑
    	<marquee><fount color=red><h1>I am king
    
    yum -y install elinks	#命令行浏览器
    
    elinks --dump http://192.168.4.10
    curl http://192.168.4.10	#命令行浏览器
    
浏览页面
curl http://192.168.4.10	#命令行界面访问网站
elinks http://192.168.4.10	#命令行界面下的浏览器
elinks --dump http://192.168.4.10	#命令行界面直接浏览

搭建ftp服务

装包、起服务
  1. 安装vsftpd软件包

    yum -y install vsftpd
    
  2. 启动vsftpd服务

    systemctl start vsftpd	#启动vsftpd服务
    systemctl restart vsftpd	#重起vsftpd服务
    
  3. 访问测试

    firefox ftp://192.168.4.10
    touch /var/ftp/a.txt
    
    ls /var/ftp
    

防火墙

Firewalld服务基础

系统服务:firewalld

管理工具:firewall-cmd、firewall-config

systemctl restart firewalld
firewall-config &

预设安全区域

根据所在的网络场所划分,预设保护规则集

public:仅允许访问本机的sshd等少数几个服务(sshd、ping、dhcp)

trusted:允许任何访问

block:阻塞任何来访请求

drop:丢弃任何来访的数据包

配置规则的位置

运行时(runtime)

永久(permanent)

#A机器
firewall-cmd --get-default-zone

#B机器
ping 192.168.4.10	可以ping通
curl http://192.168.4.10	#拒绝访问
curl ftp://192.168.4.10	#拒绝访问

#A机器
firewall-cmd --set-default-zone=trusted	#修改防火墙默认区域为trusted
firewall-cmd --get-default-zone

#B机器测试
ping 192.168.4.10	#可以ping通
curl http://192.168.4.10	#可以访问
curl ftp://192.168.4.10	#可以访问

#A机器
firewall-cmd --set-default-zone=block	#修改防火墙默认区域为block
firewall-cmd --get-default-zone

#B机器测试
ping 192.168.4.10	#不可以ping通,但是有回应

#A机器
firewall-cmd --set-default-zone=drop	#修改防火墙默认区域为drop
firewall-cmd --get-default-zone

#B机器测试
ping 192.168.4.10	#不可以ping通,但是有回应

互联网常见协议

名称协议类型默认端口
http超文本传输协议80
https安全的超文本传输协议443
ftp文件传输协议21
tftp简单的文件传输协议69
DNS域名解析协议53
telent远程管理协议23
smtp邮件协议(发送端口)25
pop3邮件协议(接收端口)110
snmp简单的网络管理协议161

添加服务(临时)

firewall-cmd --zone=public --add-service=http	#启动http服务,设置允许http协议通过public区域(允许其他主机通过http访问)
firewall-cmd --zone=public --add-service=ftp	#启动ftp服务,设置允许ftp协议通过public区域(允许其他主机通过ftp访问)
firewall-cmd --zone=public --list-all	#查看区域策略(查看已启动的服务)

curl http://192.168.4.10	#在另一台主机上检测是否开启成功
curl ftp://192.168.4.10

添加服务(永久)

(永久设置允许ftp协议和http协议通过public区域(permanent:永久设置)开机自启)

firewall-cmd --permanent --zone=public --add-service=ftp	#永久启动ftp服务
firewall-cmd --permanent --zone=public --add-service=http	#永久启动http服务
firewall-cmd --reload    #重新加载配置文件
firewall-cmd --permanent --zone=public --list-all    #查看区域策略

netatat -anptu | grep :80    #过滤80端口
systemcli status httpd    #查看http服务状态
systemcli enable httpd    #设置http服务开机自启

curl ftp://192.168.4.10    #使用192.168.4.7主机检测,可以访问
curl http://192.168.4.10    #使用192.168.4.7主机检测,可以访问

服务的启动、重启、停止

systemcli enable httpd    #设置http服务开机自启
systemcli disable httpd    #设置http服务开机不自启

systemcli restart httpd    #重启http服务
systemcli stop httpd    #停止http服务

拒绝其他主机(指定ip,指定网络段)访问服务

firewall-cmd --zone=block --add-source=192.168.4.7    #拒绝192.168.4.7主机访问服务

curl ftp://192.168.4.10    #使用192.168.4.7主机检测,不可以访问
curl http://192.168.4.10    #使用192.168.4.7主机检测,不可以访问

恢复其他主机(移除列表中已指定ip,指定网络段)访问服务

firewall-cmd --zone=block --remove-source=192.168.4.7	#移除192.168.4.7主机,使其可以访问服务

curl ftp://192.168.4.10    #使用192.168.4.7主机检测,可以访问
curl http://192.168.4.10    #使用192.168.4.7主机检测,可以访问

部署网络 yum 源

服务端:利用 Web 服务或 FTP 服务共享光盘所有内容

利用 web(HTTP)服务共享

默认共享位置:/var/www/html/

服务端svr7操作

yum -y install httpd
systemctl start httpd
systemctl status httpd #查看服务运行状态
mkdir /var/www/html/dvd
mount /dev/cdrom /var/www/html/dvd
ls /var/www/html/dvd #查看是否有光盘内容
firefox http://192.168.4.7/dvd #访问测试

客户端pc207操作

vim /etc/yum.repos.d/dvd.repo
	[dvd]
	name=CentOS7.5
	baseurl=http://192.168.4.7/dvd
	enabled=1
	gpgcheck=0
yum clean all
yum repolist
yum -y install unzip

利用 FTP 服务共享

默认共享位置:/var/ftp

服务端svr7操作

rpm -q vsftpd
systemctl start vsftpd
systemctl status vsftpd #查看服务运行状态
mkdir /var/ftp/dvd
mount /dev/cdrom /var/ftp/dvd
firefox ftp://192.168.4.7/dvd #访问测试

客户端pc207操作

vim /etc/yum.repos.d/dvd.repo
	[dvd]
	name=CentOS7.5
	baseurl=ftp://192.168.4.7/dvd
	enabled=1
	gpgcheck=0
yum clean all
yum repolist

NPT(网络时间协议)时间同步

Network Time Protocol(网络时间协议)

用来同步网络中各个计算机的时间的协议

210.72.145.39(国家授时中心服务器IP地址)

Stratum(分层设计)

Stratum层的总数限制在15层以内(包括15)

时间同步软件包

服务端(设置为时间同步服务器):

yum -y install chrony
rpm -qc chrony	#查看配置文件(.conf结尾的文件)

vim /etc/chrony.conf
	server 0.centos.pool.ntp.org iburst	#网络标准时间服务器(快速同步)
	allow 192.168.4.0/24	#允许同步时间的主机网络段
	denv 192.168.4.1	#拒绝同步时间的主机网络段
	local statum 10	#访问层数
systemctl restart chronyd	#重启时间同步服务

setenforce 0
systemctl stop firewalld	#关闭防火墙

客户端(同步服务器上的时间):

vim /etc/chrony.conf
	server 192.168.4.7 iburst	#指定要同步时间的服务器(192.168.4.7)
systemctl restart chronyd	#重启时间同步服务
chronyc sources -v	#验证时间是否同步成功

Iscsi概述

Internet SCSI,网际SCSI接口

一种基于C/S架构的虚拟磁盘技术

服务器提供磁盘空间,客户机连接并当成本地磁盘使用

Iscsi磁盘的构成

backstore,后端存储

对应到服务端提供实际存储空间的设备,需要起一个管理名称

target,磁盘组

是客户端的访问目标,作为一个框架,由多个lun组成

lun,逻辑单元

每一个lun需要关联到某一个后端存储设备,在客户端会视为一块虚拟磁盘

使用targetcli建立配置(服务机svr7)

backstore/block create name=后端存储名 dev=实际设备路径	#创建后端存储
iscsi create 磁盘组的IQN名称	#IQN名称规范,创建磁盘组
iscsi/磁盘组名/tpql/luns create 后端存储路径	#创建关联
iscsi/磁盘组名/tpgl/acls create 客户机IQN标识
iscsi/磁盘组名/tpql/portals create IP地址 端口号
yum -y install targetcli	#安装服务软件包 targetcli
systemctl stop firewalld    #关闭防火墙
targetcli	#运行 targetcli 命令进行配置
	ls
	
	#创建后端存储
	backstores/block create dev=/dev/sdb1 name=nsd
	
	#创建磁盘组target,使用IQN名称规范
	iscsi/ create iqn.2019-09.cn.tedu:server
	
	#创建lun关联
	iscsi/iqn.2019-09.cn.tedu:server/tpg1/luns create /backstores/block/nsd
	
	#设置访问控制(acl),设置客户端的名称
	iscsi/iqn.2019-09.cn.tedu:server/tpg1/acls create iqn.2019-09.cn.tedu:client

	ls
	exit
systemctl restart target.service
IQN名称规范

iqn.yyyy-mm.倒序域名:自定义标识
用来识别target磁盘组,也用来识别客户机身份

使用targetcli建立配置(客户机pc207)

#安装客户端软件
yum -y install iscsi-initiator-utils
rpm -q iscsi-initiator-utils

#修改配置文件,指定客户端声称的名称
vim  /etc/iscsi/initiatorname.iscsi
	InitiatorName=iqn.2019-09.cn.tedu:client

#重起iscsid服务,仅仅是刷新客户端声称的名称
systemctl restart iscsid

#利用命令发现服务端共享存储
man iscsiadm	#查看iscsiadm帮助	/example按n向下匹配,按b向上匹配
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.7 --discover

#重启iscsi服务(主服务),使用共享存储
systemctl restart iscsi
lsblk

Web通信基本概念

基于B/S(Browser/Server)架构的网页服务

服务端提供网页

浏览器下载并显示网页

构建独立的web服务器

服务端

yum -y install httpd	#安装httpd软件包
echo abc > /var/www/html/index.html	#书写页面文件内容
systemctl restart httpd	#启动服务

客户端

curl http://192.168.4.7

提供的默认配置

Listen:监听地址:端口80

ServerName:本站点注册的DNS名称(空缺)

DocumentRoot:网页根目录(/var/www/html)

DirectoryIndex:起始页/首页文件名(index.html)

修改http服务的默认路径
vim /etc/httpd/conf/httpd.conf	#修改监听的端口号
	/DocumentRoot
	DocumentRoot /var/www/myweb
echo abc > /var/www/myweb/index.html
systemctl restart httpd	#重启服务

#客户端测试
curl http://192.168.4.7	#成功
修改http服务的默认端口号
vim /etc/httpd/conf/httpd.conf
	/Listen
	Listen 8080
netstate -anptu | grep httpd	#查看httpd服务的监听端口

#客户端测试
curl http://192.168.4.7	#失败
curl http://192.168.4.7:8080	#成功
为浏览器程序提供URL网址

协议名://服务器地址[:端口号]/目录/文件名

elinks -dump http://server0.example.com/
firefox http://server0.example.com/

改变网页文件存放路径

网络路径:浏览器中输入的路径(192.168.4.7/abc)

实际路径:服务器上网页文件存放的路径(/var/www/myweb /abc/index.html)

#服务端配置
mkdir/webapp
vim /etc/httpd/conf/httpd.conf
	DocumentRoot /webapp
echo woshiapp > /webapp/index.html
systemctl restart httpd

#客户端测试
curl http://192.168.4.7	#出现测试页面

#服务端配置
vim /etc/httpd/conf/httpd.conf
    <Directory "/webapp">	#新添加
        Require all granted	#对webapp目录设置为允许任何人访问
    <Directory>
systemctl restart httpd

#客户端测试
curl http://192.168.4.7	#出现woshiapp页面

配置文件说明

/etc/httpd/conf/httpd.conf #主配置文件
/etc/httpd/conf.d/*.conf #调用配置文件

域名解析(一台服务器使用两个域名,虚拟主机)

为每个虚拟站点添加配置
vim /etc/httpd/conf.d/nsd01.conf
	<VirtualHost IP地址:端口>
		ServerName 此站点的DNS名称(www.qq.com)
		DocumentRoot 此站点的网页根目录(/var/www/qq)
	</VirtualHost>
配置页面

服务端操作

setenforce 0
systemctl stop firewalld.services	#关闭防火墙

vim /etc/httpd/conf.d/nsd01.conf
    <VirtualHost *:80>
    	ServerName www.qq.com
    	DocumentRoot /var/www/qq
    </VirtualHost>
    <VirtualHost *:80>
    	ServerName www.baidu.com
    	DocumentRoot /var/www/baidu
    </VirtualHost>

mkdir /var/www/qq /var/www/baidu

echo "qq" > /var/www/qq/index.html
echo "baidu" > /var/www/baidu/index.html

systemctl restart httpd

客户端操作

vim /etc/hosts
    192.168.4.7 www.qq.com www.baidu.com

curl www.qq.com	#结果显示qq
curl www.baidu.com	#结果显示baidu

虚拟主机对web站点的影响

一旦启用虚拟主机之后,外部的DocumentRoot、ServerName都会被忽略

第一个虚拟站点被视为默认站点,若客户机请求的URL不属于任何已有站点,则有第一个站点响应

当独立web服务器升级为虚拟主机服务器之后,需要为原web站点建立一个虚拟站点

NFS共享概述

Network File System,网络文件系统

用途:为客户机提供共享使用的文件夹

协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)

所需软件包:nfs-utils

系统服务:nfs-server

exports(/etc/exports)配置文件解析

文件夹路径 客户端地址

/test 192.168.4.0(ro)

实现NFS共享

服务端

rpm -q nfs-utils
yum -y install nfs-utils
mkdir /test
echo abc > /test/1.txt
vim /etc/exports
	/test 192.168.4.0(ro)

systemctl restart nfs-server
systemctl enable nfs-server
systemctl stop firewall

客户端

rpm -q nfs-utils
yum -y install nfs-utils
showmount -e 192.168.4.7
mkdir /abc
mount 192.168.4.7:/test /abc
df -h
ls /abc

实现开机自动挂载

_netdev:声明网络设备,系统在网络服务配置完成后,再挂载本设备

vim /etc/fstab
192.168.4.7:/test /abc nfs defaults,_netdev 0 0
umount /abc
mount -a
df -h

autofs触发挂载

由autofs提供的“按需访问”机制

只要访问挂载点,就会触发响应,自动挂载指定设备

闲置超过时限(默认5分钟)后,会自动卸载

yum -y install autofs
systemctl restart autofs
ls /

autofs配置解析

主配置文件 /etc/auto.master

监控点目录 /misc 挂载配置文件的路径

挂载配置文件,如 /etc/auto.misc

触发点子目录 挂载参数 :设备名

grep -v ‘^#’ /etc/auto.misc

/misc /etc/auto.misc #/misc为存放触发点的父文件夹

cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom #cd为autofs自动建立/移除的挂载点目录名

客户端

yum -y install autofs
systemctl restart autofs
ls /	#会出现misc的目录
ls /misc/
ls -A /misc
cd /misc/aa	#失败
cd /misc/bb	#失败
cd /misc/cd	#成功
pwd
ls
df -ah
vim /etc/auto.master	#查看即可,不作任何修改
vim /etc/auto.misc	#查看即可,不作任何修改
fdisk /dev/sdb	#划分一个3G的主分区
lsblk
mkfs.xfs /dev/sdb1
blkid /dev/sdb1
ls /misc/mydev
vim /etc/suto.misc	#当触发/misc/mydev时,实现将/dev/sdb1自动挂载
	mydev -fstype=xfs :/dev/sdb1

ls /misc/mydev
df -ah

客户端

vim /etc/auto.master
    /haha /etc/xoxo.conf

vim /etc/xixi.conf
    abc -fstype=cfs "/dev/sdb1

systemctl restart autofs
ls /haha/abc
df -ah
vim /etc/auto.misc
autonfs -fstype=nfs 192.168.4.7:/public
ls /misc/autonfs
df -ah

配置DNS服务器

#服务器配置
yum -y install bind bind-chroot.x86_64
rpm -q bind bind-chroot

vim /etc/named.conf
    options {
            directory       "/var/named";
    };
    
    zone "tedu.cn" IN {
            type master;
            file "tedu.cn.zone";
    };

named-checkconf /etc/named.conf	#检查主配置文件是否存在语法问题

cp -p /var/named/named.localhost /var/named/tedu.cn.zone
vim /var/named/tedu.cn.zone
	$TTL 1D
	@       IN SOA  @ rname.invalid. (
	                                        0       ; serial
	                                        1D      ; refresh
	                                        1H      ; retry
	                                        1W      ; expire
	                                        3H )    ; minimum
	
	tedu.cn.        NS      svr7.tedu.cn.
	www.tedu.cn.    A       192.168.4.100

named-checkzone tedu.cn /var/named/tedu.cn.zone	#检查地址库文件是否存在语法问题
systemctl restart named	#重启服务

systemctl stop firewalld.service    #关闭防火墙
setenforce 0


# 客户端验证
echo "nameserver 192.168.4.7" > /etc/resolv.conf
yum -y install bind-utils
nslookup www.tedu.cn
构建多区域的DNS(多区域DNS服务)

服务端:

#修改主配置文件,在下面新添加
vim /etc/named.conf
    options {
            directory       "/var/named";
    };
    #指定这台机器要解析的域名
    zone "tedu.cn" IN {
            type master;
            file "tedu.cn.zone";
    };
    zone "baidu.com" IN {
            type master;
            file "baidu.com.zone";
    };
    
cp -p /var/named/named.localhost /var/named/baidu.com.zone
cp -p /var/named/named.localhost /var/named/tedu.cn.zone
vim /var/named/baidu.com.zone
	$TTL 1D
	@       IN SOA  @ rname.invalid. (
	                                        0       ; serial
	                                        1D      ; refresh
	                                        1H      ; retry
	                                        1W      ; expire
	                                        3H )    ; minimum
	
	baidu.com.        NS      svr7
	svr7   A       192.168.4.7
	www    A       10.20.30.40

vim /var/named/tedu.cn.zone
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum
	tedu.cn.	NS	www.tedu.cn.
	www	A	192.168.4.7
	svr7	A	0.0.0.0

systemctl restart named	#重启服务

客户端操作:

yum -y install bind-utils
nslookup svr7.tedu.cn
nslookup www.baidu.com
特殊的解析记录

基于DNS的站点负载均衡
一个域名 --> 多个不同IP地址

基于解析记录的轮询(负载均衡,缓解网站服务器的压力)

服务器:

vim /var/named/baidu.com.zone
	baidu.com	NS	svr7
	svr7	A	192.168.4.7
	www	A	192.168.4.50
	www	A	192.168.4.60
	www	A	192.168.4.70
	www	A	192.168.4.80
	www	A	192.168.4.90

systemctl restart named

客户端:

ping www.baidu.com
ping www.baidu.com
泛域名解析

解决用户输入错误域名时的解析结果

#服务端
vim /var/named/baidu.com.zone
	* A 10.20.30.40

systemctl restart named

#客户端测试
nslookup wwww.baidu.com
无规律的泛域名解析(无前置域名访问)

服务端:

vim /var/named/baidu.com.zone
    ···
    baidu.com. A 50.60.70.80

systemctl restart named

客户端:

nslookup baidu.com
使用内置函数生成有规律的泛域名解析

$GENERATE 1-100 pc$ A 192.168.10.$

vim /var/named/baidu.com.zone
	$GENERATE 1-100 pc$ A 192.168.10.$
	#$GENERATE 要生成的整数范围 pc$ A 192.168.10.$

system restart named    #重启服务

nslookup pc1.baidu.com    #测试结果
nslookup pc2.baidu.com
nslookup pc100.baidu.com
使用别名解析(CNAME)
vim /var/named/baidu.com.zone
	···
	tts CNAME ftp
	#别名 CNAME 要解析的域名

systemctl restart named	#重启服务
nslookup tts.baidu.com	#测试结果

主/从DNS服务器

主域名服务器

特定DNS区域的官方服务器,具有唯一性

负责维护该区域内所有的“域名 <–> IP地址”记录

从域名服务器

也称为辅助域名服务器,可以没有

其维护的“域名 <–> IP地址”记录取决于主域名服务器

主/从DNS应用场景

案例环境
主DNS服务器的IP地址为 192.168.4.7/24

从DNS服务器的IP地址为192.168.4.207/24

其中任何一台都能提供对tedu.cn域的主机查询,返回相同的解析结果

基本配置步骤

以区域tedu.cn为例,正常搭建好DNS服务

主服务器配置:

  1. 装bind、bind-chroot软件包

  2. 建立主配置文件

  3. 建立区域数据文件

  4. 启动named服务

  5. 测试主DNS的域名解析

#主服务器配置
vim /etc/named.conf
	options {
                directory 	"/var/named";
		allow-transfer { 192.168.4.207; };
		#allow-transfer  { 从服务器的IP地址; };
	};
        zone "tedu.cn." IN {
		type master;
		file "tedu.cn.zone";
	};

cp -p /var/named/named.localhost /var/named/tedu.cn.zone
vim /var/named/tedu.cn.zone
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial    #版本号(10位数字组成,年月日修改次数 2020010101,做数据同步使用,用于在主服务器修改地址后,同步数值只可增加不可减小)
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum    #无效记录缓存时间

	tedu.cn NS pc207
	pc207 A 192.168.4.207
	#从服务器名称(NS记录必须写在A解析记录上)

systemctl restart named	#重启服务
systemctl stop firewalld.service    #关闭防火墙
setenforce 0

从服务器配置:

  1. 装bind、bind-chroot软件包

  2. 建立主配置文件

  3. 启动named服务

  4. 测试主DNS的域名解析

#从服务器配置
vim /etc/named.conf
    options {
        directory	"/var/named";
    };
    
    zone "tedu.cn" IN {
      	type slave;
    	file "/var/named/slaves/tedu.cn.slave";
        masters { 192.168.4.7; };
    };

systemctl restart named	#重启服务

客户端测试

#客户端测试
nslookup www.tedu.cn 192.168.4.7
nslookup www.tedu.cn 192.168.4.207
vim /etc/resolv.conf
    nameserver 192.168.4.7
    nameserver 192.168.4.207

nslookup www.tedu.cn    #会首先解析到主服务器

基础邮件服务

电子邮件通信

电子邮件服务器的基本功能

为用户提供电子邮箱存储空间(用户名@邮件域名)

处理用户发出的邮件 – 传递给收件服务器

处理用户收到的邮件 – 投递到邮箱

配置邮件服务器的DNS

服务器端(svr7)构建DNS服务器

yum -y install bind bind-chroot
vim /etc/named.conf 
	options {
		directory 	"/var/named";
	};
	zone "example.com." IN {
		type master;
		file "example.com.zone";
	};

cp -p /var/named/named/named.localhost /var/named/example.com.zone
vim /var/named/example.com.zone
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum
	example.com.	NS	svr7
	example.com.	MX	10 mail    #MX邮件交互记录,10为第几台邮件服务器,数字越小优先级越高;mail:邮件服务器
	svr7	A	192.168.4.7
	mail	A	192.168.4.207

systemctl restart named

客户端(pc207)主机验证邮件交换记录

echo "nameserver 192.168.4.7" > /etc/resolv.conf	
yum -y install bind-utils
host -t MX example.com	#查看在example.com域中邮件服务器是谁
host mail.example.com	#查看邮件服务器解析

构建邮件服务器

邮件服务搭建
rpm -q postfix
vim /etc/postfix/main.cf
	#99行 - 去除注释
	myorigin = example.com	#默认补全的域名后缀

	#116行
	inet_interfaces = all	#修改默认监听端口为所有网卡都提供邮件功能

	#164 行
	mydestination = example.com	#判断为本域邮件的依据

systemctl restart postfix	#重启服务

#测试
useradd fajianren	#发件用户
useradd shoujianren	#收件用户
yum -y install mailx	#安装邮件收发包
交互式mail命令

语法格式:

mail -s ‘邮件标题’ -r 发件人 收件人

邮件内容

. #结束邮件

mail -s "test01" -r fajianren shoujianren
	邮件内容
	.	#结束邮件

mail -u xln	#查看邮件
	1
	q
非交互式mail命令

语法格式:

echo “邮件内容” | mail -s ‘邮件标题’ -r 发件人 收件人

echo abc | mail -s 'mail title' -r fajianren shoujianren	#使用非交互式命令发送邮件
mail -u shoujianren	#检查邮件

分离解析概述

分离解析:

当收到客户机的DNS查询请求的时候

能够区分客户机的来源地址

为不同类别的客户机提供不向的解析结果(IP地址)

典型适用场景:

访问压力大的网站,购买CDN提供的内容分发服务

在全国各地/不同网终内部署大量镜像服务节点

针对不同的客户机就近提供服务器

BIND的view视图

匹配原则:由上到下

根据源地址集合将客户机分类

不同客户机获得不同结果(待遇有差别)

view "联通" {
	match-clients { 来源地址1; ...; }:
	zone "12306.cn" IN 
		...地址库1;
	};  };
view "铁通" {
	match-clients { 来源地址2; ...; };
	zone "12306.cn" IN {
		...地址库2;
	}; };

分离解析实例

服务端(svr)7操作:

vim /etc/named.conf
	options {
		directory /var/named";
	};
	view "VIP" {
		match-clients { 192.168,4.207; };
		zone "tedu.en" IN {
			type master
			file "tedu.cn.zone";
		};
	};
	view "other" {
		match-clients { any; };
		zone "tedu.cn" IN {
			type master;
			file "tedu.cn.other;
		};
	};

cp -p /var/named/named.localhost /var/named/tedu.cn.zone
vim /var/named/tedu.cn.zone
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum

	tedu.cn.	NS	svr7
	svr7	A	192.168.4.7
	www	A	192.168.4.100

cp -p /var/named/tedu.cn.zone /var/named/tedu.cn.other
vim /var/named/tedu.cn.other
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum

	tedu.cn.	NS	svr7
	svr7	A	192.168.4.7
	www	A	1.2.3.4

systemcti restart named

分别用pc207和虚拟机A验证

nslookup www.tedu.cn

缓存DNS概述

作用:缓存解析记录,加快解析速度

缓存DNS的适用场景

主要适用环境:

互联网出口带宽较低的企业局域网络

ISP服务商的公共DNS服务器

构建缓存服务器

客户端(pc207)

yum -y install bind bind-chroot
vim /etc/namd.conf
	options {
		directory"/var/named";
		forwarders	{ 192.168.4.7 };	#转发地址
	};

systemctl restart named

客户端验证(A)

nalookup www.tedu.cn 192.168.4.207

批量装机PXE

部署DHCP服务器

DHCP概述及原理
  • Dynamic Host Configuration Protocol

动态主机配置协议,由IETF (Internet网络工程师任务小组)组织制定,用来简化主机地址分配管理。

主要分配以下入网参数:

IP地址/子网掩码/广播地址
默认网关地址、DNS服务器地址

  • DHCP地址分配的四次会话

-DISCOVERY -> OFFER - REQUEST ->ACK

  • 服务端基本概念

租期:允许客户机租用IP地址的时间期限,单位为秒
作用域:分配给客户机的IP地址所在的网段
地址池:用来动态分配的IP地址的范围

配置 dhcpd 地址分配服务
  • 装软件包dhcp
  • 配置文件 /etc/dhcp/dhcpd.conf
  • 起服务 dhcpd
vim /etc/dhcp/dhcpd.conf
	subnet 192.168.4.0 netmask 255.255.255.0 {	# 声明网段
		range 192.168.4.10 192.168.4.200;	# IP范围
	}
	netstat -antpu I grep dhcpd	//确认结果
	udp	0	00.0.0.0:67	0.0.0.0:*	8380/dhcpd
yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
	:r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
	subnet 192.168.4.0 netmask 255.255.255.0 {
		range 192.168.4.100 192.168.4.200;
		option domain-name-servers 192.168.4.10;
		option routers 192.168.4.254;	#网关
		default-lease-time 600;	#租约时间600秒
		max-lease-time 7200;	#最大祖约时间
	}
systemctl restart dhcpd
ss -anptu | grep 67

#svr7
dhclient-r	#临时释放IP地址
dhclient-d	#临时获取IP地址

网络装机的优势

  • 规模化:同时装配多台主机
  • 自动化:装系统、配置各种服务
  • 远程实现:不需要光盘、U盘等物理安装介质
什么是PXE网络
  • PXE,Pre-boot eXecution Environment
  • 预启动执行环境在操作系统之前运行
  • 可用于远程安装
  • 工作模式
  • PXE client集成在网卡的启动芯片中
  • 当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行
PXE组件及过程分析
  • 需要哪些服务组件?
  • DHCP服务,分配1P地址、定位引导程序
  • TFTP服务,提供引导程序下载
  • HTTP服务(或FTP/NFS),提供yum安装源
  • 客户机应具备的条件
  • 网卡芯片必须支持PXE协议
  • 主板支持从网卡启动
配置dhcpd服务
  • 装软件包 dhcp
  • 配置文件 /etc/dhcp/dhcpd.conf
  • 起服务dhcpd
vim /etc/dhcp/dhcpd.conf
	:r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
	subnet 192.168.4.0 netmask 255.255.255.0 {
		range 192.168.4.100 192.168.4.200;
		option domain-name-servers 192.168.4.10;
		option routers 192.168.4.254;	#网关
		default-lease-time 600;	#租约时间600秒
		max-lease-time 7200;	#最大祖约时间

		next-server 192.168.4.10;	#指定下一台服务器的IP地址
		filename "pxelinux.0";	#网卡引导文件(网络装机说明书,二进制文件)
	}
systemctl restart dhcpd

部署TFTP服务

启用TFTP服务端
  • TFTP,Trivial File Transfer Protocol
  • 小文件传输协议,UDP 69端口
  • 主要用来传送小文件,不支持认证和复杂FTP操作
  • 默认资源目录:/var/lib/tftpboot
yum -y install tftp-server
systemctl restart tftp
ss -anptu | grep 69
部署引导文件pxelinux.0
yum provides */pxelinux.0	#//查找产生的软件包
yum -y install syslinux
ls /usr/share/syslinux
rpm -ql syslinux | grep pxelinux.0	#查看软件相应的安装内容
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
部署菜单文件
mkdir /var/lib/tftpboot/pxelinux.cfg
ls /var/lib/tftpboot/
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
ls /var/lib/tftpboot/pxelinux.cfg
部署引导程序
cp /mnt/isolinux/vesamenu.c32	 /mnt/isolinux/splash.png /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot	#图形模块
ls /var/lib/tftpboot/
修改菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default
	#1行
	default vesamenu.c32	#默认加载图形模块
	timeout 600	#默认读秒时间1/10

	#10行
	menu background splash.png
	menu title Centos7	#装机界面标题

	#61行
	label linux	#菜单名
		menu label ^Install CentOS 7	#菜单显示内容
		menu default	#默认进入菜单
		kernel vmlinuz	#默认进入菜单
		append initrd=initrd.img	#加载的驱动程序

setenforce 0
systemctl stop firewalld.service

部署 WEB 服务器

搭建httpd服务
#安装软件包 httpd
yum -y install httpd

#挂载光盘内容并启动 httpd 服务
mkdir /var/www/html/centos
mount /dev/cdrom /var/www/html/centos
systemctl restart httpd
firefox http://192.168.4.7/centos
生成应答文件
#图形工具 system-config-kickstart 进行生成应答文件
yum -y install system-config-kickstart 

#运行
system-config-kickstart

vim /etc/yum.repos.d/centos.repo 
    [development] 
    name=CentOS7.5
    baseurl=file:///dvd 
    enabled=1 
    gpgcheck=0 

#再次运行 点击 "软件包选择(Package Selection)" 查看是否可以进行选择(可以进行选择)
system-config-kickstart

PXE网络装机

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.10/24 connection.autoconnect yes
nmcli connection up ens33
mount /dev/cdrom /mnt

vim /etc/yum.repos.d/mnt.repo
	[development]
	name=Centos7.5
	baseurl=file:///mnt
	enabled=1
	gpgcheck=0

rm -rf /etc/yum.repos.d/C*
yum clean all

yum repolist

setenforce 0
systemctl stop firewalld.service 
yum -y install httpd
yum -y install dhcp
rpm -q dhcp
systemctl restart dhcpd
ss -anptu | grep 67

vim /etc/dhcp/dhcpd.conf 
	subnet 192.168.4.0 netmask 255.255.255.0 {
	  range 192.168.4.100 192.168.4.200;
	  option domain-name-servers 192.168.4.10;
	  option routers 192.168.4.254;
	  default-lease-time 600;
	  max-lease-time 7200;
	  next-server 192.168.4.10;
	  filename "pxelinux.0";
	}
	
systemctl restart dhcpd
yum -y install tftp-server.x86_64 
systemctl restart tftp
ss -anptu | head -69
yum provides */pxelinux.0
yum -y install syslinux
rpm -ql syslinux | grep pxelinux.0
cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz /var/lib/tftpboot/

vim /var/lib/tftpboot/pxelinux.cfg/default 
	label linux
	  menu label ^Install CentOS 7
	  menu default
	  kernel vmlinuz
	  append initrd=initrd.img ks=http://192.168.4.10/ks.cfg

systemctl restart dhcpd
systemctl restart tftp
setenforce 0
yum -y install httpd
systemctl restart httpd
mkdir /var/www/html/centos
mount /dev/cdrom /var/www/html/centos/
yum -y install system-config-kickstart.noarch 
yum -y install system-config-kickstart

#编辑配置文件
vim /var/www/html/ks.cfg

install
keyboard 'us'
rootpw --iscrypted $1$6/ldzaKw$dsdWMg2fX1l40RTZ2BoN50
url --url="http://192.168.4.10/centos"
lang en_US
auth  --useshadow  --passalgo=sha512
graphical
firstboot --disable
selinux --disabled
firewall --disabled
network  --bootproto=dhcp --device=eth0
reboot
timezone Asia/Shanghai
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part / --fstype="xfs" --grow --size=1

%packages
@base

%end



systemctl restart httpd.service 
systemctl restart dhcpd.service 
systemctl restart tftp.service

#########################################################
#法二

system-config-kickstart
	#基本配置 - 时区 - Asia/Shanghai
	#基本配置 - Root密码 - 1
	#基本配置 - 确认密码 - 1
	#基本配置 - 安装后重启 - v
	#安装方法 - HTTP - v
	#HTTP服务器 - 192.168.4.10
	#HTTP目录 - centos
	#引导装载程序选项 - 安装新引导装载程序
	#分区信息 - 清除主引导记录 - v
	#分区信息 - 初始化磁盘标签 - v
	#分区信息 - 添加 - 挂载点:/
	#分区信息 - 添加 - 使用磁盘上全部未用空间 - v
	#网络配置 - 添加网络设备 - 网络设备:eth0
	#防火墙配置 - SELinux: 禁用
	#软件包选择 - 系统- 基本
	文件 - 保存

cp /root/ks.cfg /var/www/html/ks.cfg

##

#设置永久关闭
vim /etc/selinux/config 
	SELINUX=disabled

systemctl enable dhcpd
systemctl enable tftp
systemctl enable httpd

shell脚本

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.10/24 connection.autoconnect yes
nmcli connection up ens33
mount /dev/cdrom /mnt

echo "[development]
name=Centos7.5
baseurl=file:///mnt
enabled=1
gpgcheck=0" > /etc/yum.repos.d/mnt.repo 

rm -rf /etc/yum.repos.d/C*
yum clean all 
yum repolist

setenforce 0
systemctl stop firewalld.service 
yum -y install httpd
yum -y install dhcp
rpm -q dhcp
systemctl restart dhcpd
ss -anptu | grep 67

echo "subnet 192.168.4.0 netmask 255.255.255.0 {
  range 192.168.4.100 192.168.4.200;
  option domain-name-servers 192.168.4.10;
  option routers 192.168.4.254;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.4.10;
  filename \"pxelinux.0\";
}" > /etc/dhcp/dhcpd.conf 

systemctl restart dhcpd
yum -y install tftp-server.x86_64 
systemctl restart tftp
ss -anptu | head -69
yum provides */pxelinux.0
yum -y install syslinux
rpm -ql syslinux | grep pxelinux.0
cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz /var/lib/tftpboot/

sed -i '61d' /var/lib/tftpboot/pxelinux.cfg/default 
sed -i '61d' /var/lib/tftpboot/pxelinux.cfg/default 
sed -i '61d' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '61d' /var/lib/tftpboot/pxelinux.cfg/default

sed -i "61a label linux" /var/lib/tftpboot/pxelinux.cfg/default 
sed -i "62a   menu default" /var/lib/tftpboot/pxelinux.cfg/default 
sed -i "63a   kernel vmlinuz" /var/lib/tftpboot/pxelinux.cfg/default 
sed -i "64a   append initrd=initrd.img ks=http://192.168.4.10/ks.cfg" /var/lib/tftpboot/pxelinux.cfg/default 

systemctl restart dhcpd
systemctl restart tftp
setenforce 0
yum -y install httpd
systemctl restart httpd
mkdir /var/www/html/centos
mount /dev/cdrom /var/www/html/centos/
yum -y install system-config-kickstart.noarch 
yum -y install system-config-kickstart

echo "install
keyboard 'us'
rootpw --iscrypted $1$6/ldzaKw$dsdWMg2fX1l40RTZ2BoN50
url --url=\"http://192.168.4.10/centos\"
lang en_US
auth  --useshadow  --passalgo=sha512
graphical
firstboot --disable
selinux --disabled
firewall --disabled
network  --bootproto=dhcp --device=eth0
reboot
timezone Asia/Shanghai
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part / --fstype=\"xfs\" --grow --size=1

%packages
@base

%end" > /var/www/html/ks.cfg

systemctl restart httpd.service 
systemctl restart dhcpd.service 
systemctl restart tftp.service





---





## 远程管理ssh

### SSH协议(Secure Shell)

> 为客户机提供安全的 Shell 环境
>
> 默认端口:**TCP22**


### OpenSSH 服务

> 服务名称:sshd
>
> 主程序:/use/sbin/sshd、/usr/bin/ssh
>
> 配置主件:/etc/ssh/sshd_config
>
> 	/etc/ssh/ssh_config

### SSH的基本使用

```shell
ssh root@要远程主机的ip地址	#远程指定的主机

ssh root@要使用图形界面远程主机的ip地址	#使用图形界面远程指定的主机
firefox	#测试图形界面状态下

使用scp远程复制工具

安全复制工具scp
scp -r 用户名@服务器:远程路径 本地路径	#将指定主机上的文件下载到本地
scp -r 本地路径 用户名@服务器:远程路径	#将本地的文件上上传至指定主机
scp -r root@192.168.4.207:/boot /opt/	#将远程主机.207的目录boot复制到本地opt目录下
scp -r /boot root@192.168.4.207:/opt/	#将本机的boot目录复制到远程主机.207主机的opt目录下

实现ssh无密码验证

部署公钥与私钥
生成公钥与私钥

ssh-keygen
(使用默认ssh路径)
(实现ssh无密码验证,不需要设置密码)
(确认密码)
ls /root/.ssh
cat /root/.ssh/known_hosts

ssh-copy-id root@要传输公钥目标主机(无密码登陆)的ip地址
ssh root@无密码登陆目标主机的ip地址

传递公钥到对方主机


练习 4.25

案例:使用ssh客户端

准备虚拟机A和虚拟机B,完成以下操作

  1. 从主机A(192.168.4.7)上以root身份登入主机B(192.168.4.207)
ssh root@192.168.4.207
  1. 在主机B上创建用户student,设置密码为redhat
useradd student
echo redhat | passwd --stdin student
  1. 从主机A上以用户student登入主机B
ssh student@192.168.4.207

案例:使用scp远程复制工具

  1. 在主机A上使用scp下载文档
    a. 将主机B上的/root/anaconda-ks.cfg文件复制到/opt下
scp -r root@192.168.4.207:/root/anaconda-ks.cfg /opt/
ls /opt/

b. 将主机B上的/home目录复制到本地的/opt下

scp -r root@192.168.4.207:/home /opt
ls /home
  1. 在主机A上使用scp上传文档
    a. 确保主机B上有本地用户lisi
id lisi

b. 将本地的/root/anaconda-ks.cfg文件复制到主机B上用户lisi的家目录下,以用户lisi的密码验证

scp -r /root/anaconda-ks.cfg lisi@192.168.4.207:/home/lisi
su lisi
ls

4.26 练习

案例

  1. 利用ip命令查看ip地址

    ip address show
    
  2. 利用ip命令为本机第一张网卡添加ip地址192.168.100.10/24

    ip address add 192.168.100.10/24 dev ens33
    
  3. 利用ip命令添加路由,去往200.0.0.0/24下一跳为192.168.100.10

    ip route add 200.0.0.0/24 via 192.168.100.10 dev ens33
    
  4. 安装vsftpd软件包

    yum -y install vsftpd
    
  5. 启动vsftpd服务(systemctl restart vsftpd)

    systemctl restart vsftpd
    
  6. 查看vsftpd服务监听的端口号

    netstat -anptu | grep vsftpd
    

4.27 练习

实验环境准备

虚拟机A

  1. 主机名配置为A.tedu.cn

    hostname A.tedu.cn
    echo A.tedu.cn > /etc/hostname
    
  2. IP地址配置为192.168.4.10/24

    nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.10/24 connection.autoconnect yes
    nmcli connection up ens33 
    
  3. 用真机Xshell远程到虚拟机A

    ssh root@192.168.4.10
    
  4. 将tools.tar.gz包传输到虚拟机A

    tar xf /root/tools.tar.gz /
    
  5. 将tools.tar.gz解压到/tools文件夹下

    mkdir /tools/
    tar xf /root/tools.tar.gz /tools/
    
  6. 源码编译安装inotify-tools-3.13.tar.gz,安装位置为/opt/abc

    ./configure --prefix=/opt/abc
    vim /etc/yum.repos.d/mnt.repo
        [mnt]
        name=Centos7.5
        baseurl=file:///dvd
        enabled=1
        gpgcheck=0
        [mymnt]
        name=Centos7.5
        baseurl=file:///tools/tools/other
        enabled=1
        gpgcheck=0
    
    rm -rf /etc/yum.repos.d/C*
    yum clean all
    yum repolist
    
    createrepo /tools/tools/other/
    yum -y install gcc
    yum -y install make
    
    rpm -q gcc make	#检查安装情况
    
    tar -xf /tools/tools/inotify-tools-3.13.tar.gz -C /opt
    
    cd /opt/inotify-tools-3.13/
    
    make
    make install
    
    ls /opt/abc/
    

4.28 练习

案例

  1. 在svr7安装web服务和ftp服务

    #前提:安装yum源
    yum -y install httpd
    systemctl start httpd
    
    yum -y install vsftpd
    systemctl start vsftpd
    
  2. 修改防火墙默认区域,在pc207上验证

    firewall-cmd --set-default-zone=trusted
    
    curl http://192.168.4.7	#使用另一台主机进行验证
    curl ftp://192.168.4.7
    

4.29 练习

将虚拟机A,svr7,pc207开机,网络模式选为vmnet1

  1. 将虚拟机A主机名设置为A.tedu.cn

    hostname A.tedu.cn
    echo A.tedu.cn > /etc/hostname
    
  2. 将虚拟机A IP地址设置为192.168.4.10

    nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.10/24 connection.autoconnect yes 
    nmcli connection up ens33 
    
  3. 在虚拟机A上构建web服务和ftp服务

    mount /dev/cdrom /mnt
    
    vim /etc/yum.repos.d/a.repo
        [mnt]
        name=Centos
        baseurl=file:///mnt
        gpgcheck=0
        enabled=1
        
    rm -rf /etc/yum.repos.d/C*
    yum clean all
    yum repolist 
    
    yum repolist 
    yum -y install httpd
    yum -y install vsftpd
    systemctl start vsftpd
    systemctl start httpd
    
    curl http://192.168.4.10
    curl ftp://192.168.4.10
    
  4. 用真机xshell远程到虚拟机A,svr7,pc207

    ssh root@192.168.4.10
    
  5. 关闭虚拟机A,svr7,pc207的selinux

    vim /etc/selinux/config 
        SELINUX=disabled
    

案例1:新建一台虚拟机,要求如下:

  1. 硬盘80G,内存2G
  2. 采取自动分区规划
  3. 软件选择“最小安装”

案例2(重复)(最小化装机): 配置网络参数,要求如下:

  1. 永久设置主机名为 A.tedu.cn

    echo A.tedu.cn > /etc/hostname
    hostname A.tedu.cn
    
    hostname
    
  2. 永久配置静态IP地址为192.168.4.20/24

    nmcli connection modify ens33 ipv4.addresses 192.168.4.20/24 connection.autoconnect yes
    
    #安装yum源
    mount /dev/cdrom /mnt/	#先连接光盘
    echo "/dev/cdrom /mnt iso9660 defaults 0 0" >> /etc/fstab
    
    echo "[mnt]
    name=Centos7.5
    baseurl=file:///mnt
    enabled=1
    gpgcheck=0" > /etc/yum.repos.d/mnt.repo
    
    rm -rf /etc/yum.repos.d/CentOS-*
    yum clean all
    yum repolist
    
    yum -y install vim-enhanced	#安装vim包
    yum -y install net-tools	#安装ifconfig支持包
    yum -y install bash-completion	#安装Tab键支持包
    reboot	#重启以生效
    #调整网络适配器,开机
    
    nmcli connection modify ens33 ipv4.addresses 192.168.4.20/24 connection.autoconnect yes
    nmcli connection up ens33
    
  3. 用真机XShell远程到虚拟机B

    ssh root@192.168.4.20
    

案例3:练习克隆

  1. 将A机器进行克隆

  2. 克隆后的机器配置要求如下:
    a. 永久设置主机名为 B.tedu.cn

    echo B.tedu.cn > /etc/hostname
    hostname B.tedu.cn
    
    hostname
    

b. 永久配置静态IP地址为192.168.4.30/24

```shell
nmcli connection modify ens33 ipv4.addresses 192.168.4.30/24 connection.autoconnect yes
nmcli connection up ens33
```

案例4(重复):复制,拷贝,移动要求如下:

  1. 新建目录结构/student/test/nsd

    mkdir -p /student/test/nsd
    
  2. 在目录/student/test/nsd创建文件testa.txt并写入内容 NSD Student

    echo "NSD  Student" > /student/test/nsd/testa.txt
    
  3. 将/student/test/nsd/testa.txt文件复制到/root目录下,同时改名为 tedu.txt

    cp /student/test/nsd/testa.txt /root/tedu.txt
    
  4. 将/etc/passwd 、/etc/resolv.conf、/etc/hosts 同时拷贝到/student/test/nsd目录下

    cp /etc/passwd /etc/resolv.conf /etc/hosts /student/test/nsd
    
  5. 将文件 student/test/nsd 重改名为 hs.txt

    mv student/test/nsd student/test/hs.txt
    

案例5(重复):查找并处理文件

  1. 创建目录/root/findfiles/

    mkdir /root/findfiles/
    
  2. 利用find查找所有用户 lisi 拥有的必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中

    useradd lisi
    mkdir /root/findfiles/
    find / -user lisi -a -type f -exec cp {} /root/findfiles/ \;
    
  3. 利用find查找/boot目录下大于10M并且必须是文件,拷贝到/opt

    find /boot -size +10M -type f -exec cp {} /opt \;
    
  4. 利用find查找/boot/ 目录下以 vm 开头且必须是文件,拷贝到/opt

    find /boot -name "vm*" -type f -exec cp {} /opt \;
    
  5. 利用find查找/etc 目录下,以 tab 作为结尾的 必须是文件

    find /etc -name "*tab" -type f -exec cp {} /opt \;
    

案例6(重复):查找并提取文件内容

  1. 在文件 /usr/share/dict/words 中查找到所有包含字符串 seismic 的行,将输出信息,写入到/opt/nsd18.txt

    grep seismic /usr/share/dict/words > /opt/nsd18.txt
    
  2. 查看内核版本,将显示结果重定向到/root/version.txt

    uname -r > /root/version.txt
    
  3. 查看红帽系统版本,将显示结果追加到/root/version.txt

    cat /red hat-release > /root/version.txt
    
  4. 查看主机名将显示结果追加到/root/version.txt

    hostname > /root/version.txt
    
  5. 将/etc/fstab文件中以UUID开头的信息,写入到/root/fstab.txt

    grep ‘^UUID’ /etc/fstab > /root/fastab.txt
    
  6. 提取/etc/passwd以bash结尾的行,将其信息写入/opt/pass.txt

    grep ‘bash$’ /etc/passwd  > /opt/pass.txt
    
  7. 复制/etc/login.defs文件到当前目录下,改名为init.txt

    cp /etc/login.defs ./init.txt
    
  8. 提取init.txt文件里的有效配置(去除以#号开头,去除空行),保存为init2.txt

    grep -v '^#' init.txt | grep -v '^$' > init2.txt
    

案例7(重复): MBR分区模式规划分区

  1. 添加一块80G的硬盘并规划分区:

  2. 划分2个10G的主分区;1个12G的主分区;2个10G的逻辑分区。

    fdisk /dev/sdb
        n
        p
        1
        
        +10G
        
        n
        p
        2
        
        +10G
        n
        p
        3
        
        +10G
        n
        e
        
        
        n
        e
        
        +10G
        n
        e
        
        +10G
    

案例8(重复):构建 LVM 存储

  1. 利用/dev/sdb1和/dev/sdb2 新建一个名为 systemvg 的卷组

    vgcreate systemvg /dev/sdb1 /dev/sdb2
    vgs
    
  2. 在此卷组中创建一个名为 vo 的逻辑卷,大小为10G

    lvcreate -L 10G -n vo systemvg
    
  3. 将逻辑卷 vo 格式化为 xfs 文件系统

    mkfs.xfs /dev/systemvg/vo 
    blkid /dev/systemvg/vo
    
  4. 将逻辑卷 vo 挂载到 /vo 目录,并在此目录下建立一个测试文件 votest.txt,内容为“I AM KING.”

    mkdir /vo
    mount /dev/systemvg/vo /vo
    echo "I AM KING" > /vo/votest.txt
    cat /vo/votest.txt
    
  5. 实现逻辑卷vo开机自动挂载到/vo

    vim /etc/fstab
        /dev/systemvg/vo /vo xfs defaults 0 0
    umount /vo
    df -h
    mount -a
    df -h /vo
    

案例9(重复):构建 LVM 存储(修改PE大小)

  1. 新的逻辑卷命名为 database,其大小为50个PE的大小,属于 datastore 卷组

    vgcreate database /dev/sdb3
    vgs
    lvcreate -l 50 -n database datastore
    
  2. 使用 EXT4 文件系统对逻辑卷 database 格式化,此逻辑卷应该在开机时自动挂载到/nsd/vo

    mkfs.ext4 /dev/database/datastore
    vim /etc/fstab
        /dev/database/datastore /nsd/vo ext4 defaults 0 0
    
    mkdir -p /nsd/vo
    mount -a
    df -h
    

案例10(重复):扩展逻辑卷

  1. 将/dev/systemvg/vo逻辑卷的大小扩展到30G

    vgs
    lvs
    
    vgextend systemvg /dev/sdb5 /dev/sdb6
    vgs
    lvextend -L 30G /dev/systemvg/vo
    
    df -h
    xfs_growfs /dev/systemvg/vo
    df -h /vo
    

案例11(重复):创建用户

  1. 创建一个名为alex的用户,用户ID是 3456。密码是flectrag

    useradd -u 3456 alex
    grep alex /etc/passwd
    echo flectrag | passwd --stdin alex
    id alex
    

案例12(重复):创建用户和组

  1. 一个名为adminuser的组

    groupadd adminuser
    grep adminuser /etc/group
    
  2. 一个名为natasha的用户,其属于adminuser,这个组是该用户的从属组

    useradd -G adminuser natasha
    grep natasha /etc/group
    
  3. 一个名为harry的用户,属于adminuser,这个组是该用户的从属组

    useradd -G adminuser harry
    grep harryr /etc/group
    
  4. 一个名为sarah的用户,其在系统中没有可交互的shell,并且不是adminuser组的成员用户

    useradd -s /sbin/nologin sarah
    grep sarah /etc/group
    
  5. natasha、harry、和sarah的密码都要设置为flectrag

    echo flectrag | passwd --stdin natasha
    echo flectrag | passwd --stdin harry
    echo flectrag | passwd --stdin sarah
    

案例13(重复):配置文件 /var/tmp/fstab 的权限

  1. 拷贝文件/etc/fstab到/var/tmp/fstab,配置文件/var/tmp/fstab的权限:

    cp /etc/fstab /var/tmp/fstab
    
  2. 文件/var/tmp/fstab的拥有者是root用户

  3. 文件/var/tmp/fstab属于root组

    chown root:root /var/tmp/fstab
    ls -ld /var/tmp/fstab 
    
  4. 文件/var/tmp/fstab对任何人都不可执行

    chmod -x /var/tmp/fstab
    ls -l /var/tmp/fstab
    
  5. 用户natasha 能够对文件/var/tmp/fstab执行读和写操作

    setfacl -m u:natasha:rw /var/tmp/fstab
    setfacl /var/tmp/fstab
    
  6. 用户harry 对文件/var/tmp/fstab既不能读,也不能写

    setfacl -m u:harry:- /var/tmp/fstab
    getfacl /var/tmp/fstab
    
  7. 所有其他用户(当前的和将来的)能够对文件/var/tmp/fstab进行读操作

    ls -l /var/tmp/fstab
    

案例14(重复):创建一个归档

  1. 创建一个名为 /root/backup.tar.bz2 的归档文件,其中包含 /usr/local 目录中的内容,tar 归档必须使用 bzip2 进行压缩

    tar -jcf /root/backup.tar.bz2 /usr/local/
    

案例15(重复):配置一个cron任务

  1. 为用户 natasha 配置一个定时任务

    su natasha
    crontab -e
    
    crontab -e -u natasha
    
  2. 每天在本地时间 14:23 执行

  3. 需要完成的任务操作为 /bin/echo hiya

    23 14 * * * /bin/echo hiya
    

案例16(重复):设置别名

  1. 为root用户永久设置别名为hn=‘hostname’

    su root
    vim ~/.bashrc
    	alias hn='hostname'
    
  2. 为所有用户设置别名为 qstat=’/bin/ps -Ao pid,tt,user,fname,rsz’

    vim /etc/bashrc
    	qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
    

案例17:实现虚拟机B的Web服务

  1. 利用httpd软件搭建Web服务,页面显示内容为 I LIKE LINUX.

    yum -y install httpd
    systemctl start httpd
    
    firefox http://192.168.4.10
    
    vim /var/www/html/index.html	#打开默认存放网页文件的路径进行编辑
    	I LIKE  LINUX.
    
    yum -y install elinks	#命令行浏览器
    
    elinks --dump http://192.168.4.10
    curl http://192.168.4.10	#命令行浏览器
    

案例18:实现虚拟机A的防火墙配置

  1. 修改虚拟机A防火墙配置,明确拒绝所有客户端访问(默认区域修改为block)

    firewall-cmd --set-default-zone=block	#修改防火墙默认区域为block
    
  2. 在虚拟机B上测试能否访问A的Web服务

    curl http://192.168.4.10	#不可以访问
    
  3. 在虚拟机 B上测试能否 ping通 虚拟机A

    ping 192.168.4.10	#不可以访问
    

案例19:实现虚拟机A 的防火墙配置

  1. 修改虚拟机A防火墙配置,将默认区域修改为trusted

    firewall-cmd --set-default-zone=trusted	#修改防火墙默认区域为trusted
    
  2. 在虚拟机B上测试能否访问A的Web服务

    curl http://192.168.4.10	#可以访问
    
  3. 在虚拟机B上测试能否 ping通 虚拟机 A

    ping 192.168.4.10	#可以访问
    

案例20:实现虚拟机A的防火墙配置

  1. 修改虚拟机A防火墙配置,将默认区域修改为public

    firewall-cmd  --set-default-zone=public
    
  2. 修改虚拟机A防火墙配置,在public区域中添加http协议,实现永久配置

    firewall-cmd --permanent --zone=public --add-service=http	#永久启动http服务
    firewall-cmd --reload    #重新加载配置文件
    firewall-cmd --permanent --zone=public --list-all    #查看区域策略
    
    netatat -anptu | grep :80    #过滤80端口
    systemcli status httpd    #查看http服务状态
    systemcli enable httpd    #设置http服务开机自启
    
  3. 在虚拟机B上测试能否访问A 的Web服务

    curl ftp://192.168.4.10    #使用B主机检测,可以访问
    curl http://192.168.4.10    #使用B主机检测,可以访问
    

5.7 练习

服务端是svr7,客户端为pc207,完成以下案例

案例1:构建网络yum

利用ftp服务实现yum源提供服务

  1. svr7构建vsftpd服务

    setenforce 0	#SELinux运行模式切换 0宽松 1强制
    /etc/selinux/config	#永久配置
    getenforce	#查看
    ststemctl stop firewall
    
    mount /dev/cdrom /mnt
    vim /etc/yum.repos.d/mnt.repo
    	[mnt]
    	name=Centos7.5
    	baseurl=file:///mnt
    	gpgcheck=0
    	enabled=1
    rm -rf /etc/yum.repos.d/C*
    yum clean all
    yum repolist
    
    yum -y install vsftpd
    systemctl start vsftpd
    systemctl status vsftpd #查看服务运行状态
    
    firewall-cmd --set-default-zone=trusted 
    
    curl ftp://192.168.4.7
    
  2. 利用vsftpd服务提供如下内容:
    a. Centos7光盘内容

    mkdir /var/ftp/dvd
    mount /dev/cdrom /var/ftp/dvd
    

b. 自定义yum仓库内容

```shell
vim /etc/yum.repos.d/dvd.repo
	[dvd]
	name=CentOS7.5
	baseurl=ftp://192.168.4.7/dvd
	enabled=1
	gpgcheck=0

yum clean all
yum repolist
```

案例2:高级远程管理

  1. 实现svr7远程管理pc207,无密码验证

    ssh root@192.168.4.207
    ssh-keygen
    ssh-copy-id root@192.168.4.207
    
    ssh root@192.168.4.207
    
  2. 将svr7的/home目录拷贝到pc207的/opt目录下

    scp -r /home root@192.168.4.207:/opt/
    ls /opt
    
  3. 将svr7的/etc/passwd文件拷贝到tom用户的家目录下,以用户tom的密码验证(用户tom密码为redhat)

    ssh root@192.168.4.207
    useradd tom
    echo 'redhat' | passwd --stdin tom
    scp -r /etc/passwd tom@192.168.4.207:/home/tom/
    ls /home/tom
    

案例练习

配置iSCSI服务端

  1. 配置svr7提供iSCSI服务,磁盘名为iqn.2016-02.com.example:svr7,服务端口为3260,使用store作其后端卷,其大小为3GiB

    fdisk /dev/sdb
    	+3G
    partprobe /dev/sdb	#刷新分区
    lsblk
    
    yum -y install targetcli
    systemctl stop firewalld
    targetcli
    	ls
    	backstores/block create dev=/dev/sdb1 name=store
    	iscsi/ create iqn.2016-02.com.example:svr7
    	iscsi/iqn.2016-02.com.example:svr7/tpg1/luns create /backstores/block/store
    	iscsi/iqn.2016-02.com.example:svr7/tpg1/acls create iqn.2016-02.com.example:client
    	ls
    	exit
    systemctl restart target.service
    

配置iSCSI客户端

  1. 配置pc207使其能连接上svr7提供的iqn.2016-02.com.example.svr7,iSCSI设备在系统启动期间自动挂载,块设备iSCSI上包含一个大小为2100MiB的分区,并格式化为ext4文件系统,此分区挂载在/mnt/data上,同时在系统启动的期间自动挂载

    #安装客户端软件
    yum -y install iscsi-initiator-utils
    rpm -q iscsi-initiator-utils
    
    #修改配置文件,指定客户端声称的名称
    vim  /etc/iscsi/initiatorname.iscsi
    	InitiatorName=iqn.2016-02.com.example.client
    
    #重启iscsi服务(主服务),使用共享存储
    systemctl restart iscsi	d
    iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.7 --discover	#利用命令发现服务端共享存储
    
    #iSCSI自动挂载
    systemctl restart iscsi	
    systemctl enable iscsi	
    
    #重起iscsid服务,仅仅是刷新客户端声称的名称
    systemctl restart iscsi
    
    #添加iSCSI 2100M分区
    fdisk /dev/sdb
    	+2100M
    partprobe /dev/sdb	#刷新分区
    lsblk
    
    #格式化为ext4文件系统类型?
    mkfs.ext4 /dev/sdb2
    
    #挂载到 /mnt/data
    umount /mnt
    mkdir /mnt/data
    mount /mnt/data
    mount /dev/sdb2 /mnt/data
    
    #系统启动自动挂载
    vim /etc/fstab
    	/dev/sdb2 /mnt/data ext4 defaults 0 0
    
    mount -a
    df -h
    

5.10

案例ISCSI练习

  1. 为svr7添加一块10G硬盘

  2. 在svr7操作,采用MBR分区模式利用/dev/sdb/划分一个主分区,大小为5G

    lsblk
    fdisk /dev/sdb
    n
    +5G
    w
    
    lsblk
    
  3. 在svr7创建iscsi服务,磁盘名为iqn.2020-05.com.example:server,
    服务端口号为3260,使用nsd做后端卷,大小为5G

    yum -y install targetcli	#安装服务软件包 targetcli
    systemctl stop firewalld    #关闭防火墙
    targetcli	#运行 targetcli 命令进行配置
    	ls
    	
    	#创建后端存储
    	backstores/block create name=nsd dev=/dev/sdb1
    	ls
    	
    	#创建磁盘组target,使用IQN名称规范
    	iscsi/ create iqn.2020-05.com.example:server
    	
    	#创建lun关联
    	iscsi/iqn.2020-05.com.example:server/tpg1/luns/ create /backstores/block/nsd
    	
    	#设置访问控制(acl),设置客户端的名称
    	iscsi/iqn.2020-05.com.example:serve/tpg1/acls create iqn.2020-05.com.example:client
    
    	ls
    	exit
    systemctl restart target
    
    getenforce 0
    systemctl status firewalld.service
    
  4. 在pc207上连接使用服务端提供的iqn.2020-05.com.example:server,
    并利用共享过来的磁盘划分一个主分区,大小为2G,格式化xfs文件系统类型,
    挂载到/data文件夹下

    #安装客户端软件
    yum -y install iscsi-initiator-utils
    rpm -q iscsi-initiator-utils
    
    #修改配置文件,指定客户端声称的名称
    vim  /etc/iscsi/initiatorname.iscsi
    	InitiatorName=iqn.2020-05.com.example:client
    
    #重起iscsid服务,刷新客户端声称的名称
    systemctl restart iscsid
    
    #利用命令发现服务端共享存储
    man iscsiadm	#查看iscsiadm帮助	/example按n向下匹配,按b向上匹配
    iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.7 --discover
    
    #重启iscsi服务(主服务),使用共享存储
    systemctl restart iscsi
    lsblk
    fdisk /dev/sdb
        n
        +2G
        
    mkfs.xfs /dev/sdb1
    mount /dev/sdb1 /data
    df -h
    

5.11 练习

案例:虚拟主机练习

  1. 配置域名为www.tedu.cn,访问页面内容为I AM KING.

    yum -y install httpd
    vim /etc/httpd/conf.d/nsd01.conf
        <VirtualHost *:80>
        	ServerName www.tedu.cn
        	DocumentRoot /var/www/tedu
        </VirtualHost>
        <VirtualHost *:80>
        	ServerName www0.qq.com
        	DocumentRoot /var/www/qq
        </VirtualHost>
        <VirtualHost *:80>
        	ServerName www.baidu.com
        	DocumentRoot /var/www/baidu
        </VirtualHost>
    
    mkdir /var/www/qq /var/www/baidu /var/www/tedu
    
    echo I AM KING  > /var/www/tedu/index.html
    
  2. 配置域名为www0.qq.com,访问页面内容为I GOOD STUDY.

       echo I GOOD STUDY  > /var/www/qq/index.html
    
  3. 配置域名为www.baidu.com,访问页面内容为I AM girl.

    echo I AM girl  > /var/www/qq/index.html
    
    systemctl restart httpd
    
  4. 用客户端pc207测试访问3个页面

    vim /etc/host
        192.168.4.7 www.baidu.com
        192.168.4.7 www.tedu.cn
        192.168.4.7 www0.qq.com
    
    curl www.baidu.com
    curl www.tedu.cn
    www0.qq.com
    
  5. 书写页面内容为wo shi abc,用pc207测试页面内容(用IP地址访问)

    #svr7
    echo "wo shi abc" > /var/www/html/index.html
    
    vim /etc/httpd/conf.d/nsd01.conf
        <VirtualHost *:80>
                ServerName www.test.cn
                DocumentRoot /var/www/html
        </VirtualHost>
    
    systemctl restart httpd.service 
    
    
    #pc207
    vim /etc/hosts
        192.168.4.7 www.test.cn
    
    curl www.test.cn
    

案例15:为虚拟机A配置以下虚拟Web主机

实现三个网站的部署

  1. 实现客户端访问server0.example.com网页内容为 大圣归来

  2. 实现客户端访问www0.example.com网页内容为 大圣又归来

  3. 实现客户端访问webapp0.example.com网页内容为 大圣累了

    setenforce 0
    systemctl stop firewalld.services	#关闭防火墙
    
    yum -y install httpd
    vim /etc/httpd/conf.d/nsd01.conf
        <VirtualHost *:80>
        	ServerName server0.example.com
        	DocumentRoot /var/www/server0
        </VirtualHost>
        <VirtualHost *:80>
        	ServerName www0.example.com
        	DocumentRoot /var/www/www0
        </VirtualHost>
        <VirtualHost *:80>
        	ServerName webapp0.example.com
        	DocumentRoot /var/www/webapp0
        </VirtualHost>
    
    mkdir /var/www/server0 /var/www/www0 /var/www/webapp0
    
    echo "大圣归来" > /var/www/server0/index.html
    echo "大圣又归来" > /var/www/www0/index.html
    echo "大圣累了" > /var/www/webapp0/index.html
    
    systemctl restart httpd
    
    #客户端测试
    echo 192.168.4.10 server0.example.com >> /etc/hosts
    echo 192.168.4.10 www0.example.com >> /etc/hosts
    echo 192.168.4.10 webapp0.example.com >> /etc/hosts
    
    curl server0.example.com
    curl www0.example.com
    curl webapp0.example.com
    

案例16:为虚拟机A配置web服务访问控制

  1. 修改默认网页文件位置为/webapp1

    #服务端配置
    mkdir /webapp1
    vim /etc/httpd/conf/httpd.conf
    	DocumentRoot /webapp1
    
  2. 实现访问/webapp1页面文件为index.html,内容为奔跑吧 骆驼

    #服务端配置
    echo "奔跑吧 骆驼" > /webapp1/index.html
    systemctl restart httpd
    
    #客户端测试
    curl http://192.168.4.7	#出现测试页面
    

案例17:发布iSCSI网络磁盘

配置 A提供 iSCSI 服务,要求如下:

  1. 磁盘名为iqn.2020-06.com.example:server0

  2. 服务端口为 3260

  3. 使用 iscsi_store(后端存储的名称) 作其后端卷,其大小为 3GiB

  4. 在A配置客户端ACL为iqn.2020-06.com.example:desktop0

    fdisk /dev/sdb
    	+3G
    partprobe /dev/sdb	#刷新分区
    lsblk
    
    yum -y install targetcli	#安装服务软件包 targetcli
    systemctl stop firewalld    #关闭防火墙
    targetcli	#运行 targetcli 命令进行配置
    	ls
    	
    	#创建后端存储
    	backstores/block create dev=/dev/sdb1 name=store
    	
    	#创建磁盘组target,使用IQN名称规范
    	iscsi/ create iqn.2020-06.com.example:server0
    	
    	#创建lun关联
    	iscsi/iqn.2020-06.com.example:server0/tpg1/luns create /backstores/block/store
    	
    	#设置访问控制(acl),设置客户端的名称
    	iscsi/iqn.2020-06.com.example:server0/tpg1/acls create iqn.2020-06.com.example:desktop0
    
    	ls
    	exit
    systemctl restart target.service
    
  5. 配置虚拟机B使用虚拟机A提供 iSCSI 服务

    #安装客户端软件
    yum -y install iscsi-initiator-utils
    rpm -q iscsi-initiator-utils
    
    #修改配置文件,指定客户端声称的名称
    vim  /etc/iscsi/initiatorname.iscsi
    	InitiatorName=iqn.2020-06.com.example:desktop0
    
    #重起iscsid服务,仅仅是刷新客户端声称的名称
    systemctl restart iscsid
    
    #利用命令发现服务端共享存储(A的ip地址:192.168.4.7)
    man iscsiadm	#查看iscsiadm帮助	/example按n向下匹配,按b向上匹配
    iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.7 --discover
    
    #重启iscsi服务(主服务),使用共享存储
    systemctl restart iscsi
    lsblk
    

5.12 练习

在虚拟机svr7上配置NFS共享,完成如下操作

  1. 以读写的方式访问目录/public,只能被192.168.4.0/24系统访问

    rpm -q nfs-utils
    yum -y install nfs-utils
    mkdir /public
    
    vim /etc/exports
    	/public 192.168.4.0/24(rw,no_root_squash)	#开放权限
    
    systemctl restart nfs-server
    systemctl enable nfs-server
    systemctl stop firewall
    
  2. 在虚拟机pc207上访问NFS共享目录,挂载点为/nfs

    rpm -q nfs-utils
    yum -y install nfs-utils
    showmount -e 192.168.4.7
    
    mkdir /nfs
    mount 192.168.4.7:/public /nfs
    df -h
    ls /nfs
    
  3. 实现开机自动挂载

_netdev:声明网络设备,系统在网络服务配置完成后,再挂载本设备

vim /etc/fstab
    192.168.4.7:/test /abc nfs defaults,_netdev 0 0

mount /abc
mount -a
df -h

5.17 练习

案例:
提供以下正向解析记录的解析

  1. svr7.tedu.cn --> 192.168.4.7

    pc207.tedu.cn --> 192.168.4.207

    www.tedu.cn --> 192.168.4.100

#服务器配置
systemctl stop firewalld.service 
setenforce 0

yum -y install bind bind-chroot.x86_64	#安装named包默认端口号53
rpm -q bind bind-chroot

vim /etc/named.conf
    options {
            directory       "/var/named";
    };
    
    #指定这台机器要解析的域名
    zone "tedu.cn" IN {
            type master;
            file "tedu.cn.zone";
    };

named-checkconf /etc/named.conf	#检查主配置文件是否存在语法问题

cp -p /var/named/named.localhost /var/named/tedu.cn.zone
#第二种方法:相对路径方式
cd /var/named/
cp -p named.localhost tedu.cn.zone

vim /var/named/tedu.cn.zone
	$TTL 1D
	@       IN SOA  @ rname.invalid. (
	                                        0       ; serial
	                                        1D      ; refresh
	                                        1H      ; retry
	                                        1W      ; expire
	                                        3H )    ; minimum
	
	tedu.cn.        NS      svr7.tedu.cn.
	svr7.tedu.cn.   A       192.168.4.7
	pc207.tedu.cn.  A       192.168.4.207
	www.tedu.cn.    A       192.168.4.100


named-checkzone tedu.cn /var/named/tedu.cn.zone	#检查地址库文件是否存在语法问题

systemctl restart services	#重启服务
  1. 在客户机上验证查询结果

    #客户端测试
    yum -y install bind-utils
    echo "nameserver 192.168.4.7" > /etc/resolv.conf
    
    nslookup pc207.tedu.cn
    nslookup www.tedu.cn
    

5.18 练习

案例:构建多区域DNS
实现以下正向解析记录

  1. 访问www.tedu.cn —> 192.168.4.100

  2. 访问www.baidu.com —> 10.20.30.40

  3. 访问ftp.baidu.com —> 50.60.70.80

    #服务器配置
    systemctl stop firewalld.service 
    setenforce 0
    
    yum -y install bind bind-chroot.x86_64	#安装named包默认端口号53
    rpm -q bind bind-chroot
    
    vim /etc/named.conf	#指定这台机器要解析的域名
        options {
        	directory 	"/var/named";
        };
        
        zone "tedu.cn" IN {
        	type master;
        	file "tedu.cn.zone";
        };
        zone "baidu.com" IN {
        	type master;
        	file "baidu.com.zone";
        };
    
    named-checkconf /etc/named.conf	#检查主配置文件是否存在语法问题
    
    cp -p /var/named/named.localhost /var/named/tedu.cn.zone
    cp -p /var/named/named.localhost /var/named/baidu.com.zone
    
    vim /var/named/tedu.cn.zone
        $TTL 1D
        @	IN SOA	@ rname.invalid. (
        					0	; serial
        					1D	; refresh
        					1H	; retry
        					1W	; expire
        					3H )	; minimum
        tedu.cn.	NS	svr7
        svr7	A	192.168.4.7
        www	A	192.168.4.100
    
    vim /var/named/baidu.com.zone
        $TTL 1D
        @	IN SOA	@ rname.invalid. (
        					0	; serial
        					1D	; refresh
        					1H	; retry
        					1W	; expire
        					3H )	; minimum
        baidu.com.	NS	svr7
        svr7	A	192.168.4.7
        www	A	10.20.30.40
        ftp	A	50.60.70.80
    
    named-checkzone tedu.cn /var/named/tedu.cn.zone	#检查地址库文件是否存在语法问题
    named-checkzone baidu.com /var/named/baidu.com.zone
    
    systemctl restart services	#重启服务
    
    #客户端测试
    yum -y install bind-utils
    echo "nameserver 192.168.4.7" > /etc/resolv.conf
    
    nslookup www.tedu.cn
    nslookup www.baidu.com
    nslookup ftp.baidu.com
    

5.19 练习

案例:搭建主/从DNS服务器

  1. 准备3台虚拟机,主机名及IP地址要求如下:
主机名IP地址
svr7.tedu.cn192.168.4.7
pc207.tedu.cn192.168.4.207
A.tedu.cn192.168.4.10

虚拟机svr7

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.7/24 connection.autoconnect yes 
nmcli connection up ens33 
ifconfig
hostname svr7.tedu.cn
echo svr7.tedu.cn > /etc/hostname

虚拟机pc207

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.207/24 connection.autoconnect yes 
nmcli connection up ens33 
ifconfig
hostname pc207.tedu.cn
echo pc207.tedu.cn > /etc/hostname

虚拟机A

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.10/24 connection.autoconnect yes 
nmcli connection up ens33 
ifconfig
hostname A.tedu.cn
echo A.tedu.cn > /etc/hostname
  1. 构建主/从DNS服务
主DNSsvr7.tedu.cn192.168.4.7
从DNSpc207.tedu.cn192.168.4.207
提供www.tedu.cn1.2.3.4

用虚拟机A测试。

虚拟机svr7

yum -y install bind bind-chroot.x86_64

vim /etc/named.conf
	options {
		directory 	"/var/named";
		allow-transfer     { 192.168.4.207; };
	};
	
	zone "tedu.cn." IN {
		type master;
		file "tedu.cn.zone";
	};

cp -p /var/named/named.localhost /var/named/tedu.cn.zone
vim /var/named/tedu.cn.zone
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum
	tedu.cn.	NS	svr7
	tedu.cn.	NS	pc207
	svr7	A	192.168.4.7
	pc207	A	192.168.4.207
	www	A	1.2.3.4

systemctl restart named	#重启服务
systemctl stop firewalld.service 
setenforce 0

虚拟机pc207

yum -y install bind bind-chroot.x86_64

vim /etc/named.conf 
	options {
		directory 	"/var/named";
	};
	zone "tedu.cn." IN {
		type slave;
		file "/var/named/slaves/tedu.cn.slave";
		masters { 192.168.4.7; };
	};

systemctl restart named
systemctl stop firewalld.service 
setenforce 0

虚拟机A

vim /etc/resolv.conf 
	nameserver 192.168.4.7
	nameserver 192.168.4.207

nslookup www.tedu.cn

5.20 练习

多区域DNS分离解析

  1. 分类(配户端相同)相同:

192.168.4.207 --> www.tedu.cn --> 192.168.4.100

	www.qq.com

其他地址 --> www.tedu.cn --> 1.2.3.4

	www.qq.com
  1. 分类(匹配客户端来源不相同)不相同:

客户端192.168.4.207 --> www.tedu.cn --> 192.168.4.100

客户端其他地址 --> www.tedu.cn --> 1.2.3.4

客户端192.168.4.10 --> www.qq.com -->192.168.10.100

客户端其他地址 --> www.qq.com --> 172.25.0.11

分析:

192.168.4.207 --> www.tedu.cn --> 192.168.4.100 --> 地址库tedu.cn.zone

192.168.4.207 --> www.qq.com --> 172.25.0.11 --> qq.com.other

192.168.4.10 --> www.tedu.cn --> 1.2.3.4 --> tedu.cn.other

192.168.4.10 --> www.qq.com --> 192.168.10.100 --> qq.com.other

其他地址 --> www.tedu.cn --> 1.2.3.4 --> tedu.cn.other

其他地址 --> www.qq.com --> 172.25.0.11 --> qq.com.zone

#服务端(svr7)
yum -y install bind bind-chroot
vim /etc/named.conf
	options {
		directory "/var/named";
	};
	view "nsd" {
		match-clients { 192.168.4.207; };
		zone "tedu.cn" IN {
			type master;
			file "tedu.cn.zone";	#解析结果为192.168.4.100
		};
		zone "qq.com" IN {
			type master;
			file "qq.com.zone";	#解析结果为172.25.0.11
		};
	 };
	view "vip" {
		match-clients { 192.168.4.10; };
		zone "tedu.cn" IN {
			type master;
			file "tedu.cn.other";	#解析结果为1.2.3.4
		};
		zone "qq.com" IN {
			type master;
			file "qq.com.other";	#解析结果为192.168.10.100
		};
	 };
	view "others" {
		match-clients { any; };
		zone "tedu.cn" IN {
			type master;
			file "tedu.cn.other";	#解析结果为1.2.3.4
		};
		zone "qq.com" IN {
			type master;
			file "qq.com.zone";	#解析结果为172.25.0.11
		};
	 };

cd /var/named/
cp -p named.localhost tedu.cn.zone
vim tedu.cn.zone
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum

	tedu.cn.	NS	svr7
	svr7	A	192.168.4.7
	www	A	1.2.3.4

cp -p tedu.cn.zone tedu.cn.other
vim tedu.cn.other
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum

	tedu.cn.	NS	svr7
	svr7	A	192.168.4.7
	www	A	192.168.4.100


cp -p tedu.cn.zone qq.com.zone
vim qq.com.zone
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum

	qq.com.	NS	svr7
	svr7	A	192.168.4.7
	www	A	172.25.0.11

cp -p qq.com.zone qq.com.other
vim qq.com.other
	$TTL 1D
	@	IN SOA	@ rname.invalid. (
						0	; serial
						1D	; refresh
						1H	; retry
						1W	; expire
						3H )	; minimum

	qq.com.	NS	svr7
	svr7	A	192.168.4.7
	www	A	192.168.10.100

systemctl restart named

客户机(pc207)

echo "nameserver 192.168.4.7" > /etc/resolv.conf
yum -y install bind-utils
nslookup www.qq.com
nslookup www.tedu.cn

客户机A

echo "nameserver 192.168.4.7" > /etc/resolv.conf
nslookup www.qq.com
nslookup www.tedu.cn

服务端(svr7)

echo "nameserver 192.168.4.7" > /etc/resolv.conf
yum -y install bind-utils
nslookup www.qq.com
nslookup www.tedu.cn

案例

在这里插入图片描述

web 服务器和 DNS 服务结合(web 服务器做需要开启基于域名的虚拟主机,DNS 需要使用分离解析技术)

-主机名ip地址
虚拟机 AA.tedu.cn192.168.4.10
虚拟机 BB.tedu.cn192.168.4.20
虚拟机 CC.tedu.cn192.168.4.208
虚拟机 svr7svr7.tedu.cn192.168.4.7
虚拟机 pc207pc207.tedu.cn192.168.4.207

虚拟机 A 操作:

#1.安装软件包 httpd
yum -y install httpd

#2.建立修改调用配置文件
vim /etc/httpd/conf.d/nsd01.conf
    <VirtualHost *:80>
        ServerName www.qq.com
        DocumentRoot /var/www/qq
    </VirtualHost>
    <VirtualHost *:80>
        ServerName www.163.com
        DocumentRoot /var/www/163
    </VirtualHost>

mkdir /var/www/qq /var/www/163
echo '<h1> Web1 QQ' > /var/www/qq/index.html
echo '<h1> Web1 163' > /var/www/163/index.html

systemctl restart httpd

虚拟机 B 操作:

yum -y install httpd

#从虚拟机A拷贝nsd01配置文件
scp /etc/httpd/conf.d/nsd01.conf 192.168.4.20:/etc/httpd/conf.d/
mkdir /var/www/qq /var/www/163
echo '<h1>Web2 QQ' > /var/www/qq/index.html
echo '<h1>Web2 163' > /var/www/163/index.html

systemctl restart httpd

虚拟机 svr7 操作:

#1、修改主配置文件
vim /etc/named.conf
        ……
        view "vip" {
            match-clients { 192.168.4.207; };
            zone "163.com" IN {
                type master;
                file "163.com.zone";
            };
            zone "qq.com" IN {
                type master;
                file "qq.com.zone";
            };
        };
        view "other" {
            match-clients { any; };
            zone "163.com" IN {
                type master;
                file "163.com.other";
            };
            zone "qq.com" IN {
                type master;
                file "qq.com.other";
            };
        };

#2、建立地址库文件
cd /var/named/
cp -p qq.com.zone 163.com.zone
cp -p qq.com.zone 163.com.other

vim 163.com.zone
        …….
        163.com. NS svr7
        svr7 A 192.168.4.7
        www A 192.168.4.10

vim qq.com.zone
        …
        qq.com. NS svr7
        svr7 A 192.168.4.7
        www A 192.18.4.10

vim 163.com.other
        …
        163.com. NS svr7
        svr7 A 192.168.4.7
        www A 192.168.4.20

vim qq.com.other
        ……
        qq.com. NS svr7
        svr7 A 192.168.4.7
        www A 192.168.4.20

systemctl restart named

测试:指定 DNS 服务器地址
虚拟机pc207

echo nameserver 192.168.4.7 > /etc/resolv.conf
curl www.qq.com
curl www.163.com

虚拟机C

echo nameserver 192.168.4.7 > /etc/resolv.conf
curl www.qq.com
curl www.163.com

6.2 练习

案例19:普通NFS共享的实现

  1. 只读的方式共享目录 /public,只允许192.168.4.0网段访问

    rpm -q nfs-utils
    yum -y install nfs-utils
    mkdir /public
    touch /public/p1.txt
    
    echo "/public *(ro)" >> /etc/exports
    
  2. 可读写共享目录/protected,允许所有人访问

    mkdir /protected
    touch /protected/p2.txt
    echo "/protected 192.168.4.0/24(rw,no_root_squash)" >> /etc/exports
    
    systemctl restart nfs-server
    systemctl enable nfs-server
    systemctl stop firewall.service
    
  3. 在虚拟机 B上访问NFS共享目录
    3.1. 将A 的 /public 挂到本地 /nfsmount

    #虚拟机B操作
    yum -y install nfs-utils
    showmount -e 192.168.4.10
    
    mkdir /nfsmount
    mount 192.168.4.10:/public /nfsmount
    df -h
    ls /nfsmount
    
  4. 这些文件系统在系统启动时自动挂载
    4.1. 将/protected实现触发挂载到/abc/mynfs下

    mkdir -p /abc/mynfs
    
    echo "192.168.4.10:/public /nfsmount nfs defaults,_netdev 0 0" >> /etc/fstab
    echo "192.168.4.10:/protected /abc/mynfs nfs defaults,_netdev 0 0" >> /etc/fstab
    
    umount /nfsmount
    mount -a
    df -h
    

案例20:iscsi磁盘共享

  1. 配置 虚拟机A提供 iSCSI 服务,要求如下:
  2. 磁盘名为iqn.2020-08.tedu.cn:server0
  3. 服务端口为 3260
  4. 使用 store(后端存储的名称) 作其后端卷,其大小为 3GiB
  5. 配置客户端ACL为iqn.2020-08.tedu.cn:desktop0
  6. 配置虚拟机B使用 虚拟机svr7提供 iSCSI 服务
partprobe /dev/sdc
lsblk
yum -y install targetcli
systemctl stop firewalld
targetcli
	ls
	backstores/block create dev=/dev/sdc1 name=store
	iscsi/ create iqn.2020-08.tedu.cn:server0
	iscsi/iqn.2020-08.tedu.cn:server0/tpg1/luns create /backstores/block/store
	iscsi/iqn.2020-08.tedu.cn:server0/tpg1/acls create iqn.2020-08.tedu.cn:desktop0
	ls
	exit
systemctl restart target.service
#虚拟机B
yum -y install iscsi-initiator-utils
rpm -q iscsi-initiator-utils

echo "InitiatorName=iqn.2020-08.tedu.cn:desktop0" > /etc/iscsi/initiatorname.iscsi

systemctl restart iscsid
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.10 --discover

systemctl restart iscsi	
systemctl enable iscsi	

systemctl restart iscsi
	
lsblk

案例21:NTP时间同步

  1. 在虚拟机A设置ntp时间同步
  2. 设置时间服务器上层与0.centos.pool.ntp.org同步
  3. 设置本地服务器层数为10
  4. 允许192.168.4.0/24网络的主机同步时间
  5. 客户端B验证时间是否同步
yum -y install chrony
rpm -qc chrony	#查看配置文件(.conf结尾的文件)

vim /etc/chrony.conf
	server 0.centos.pool.ntp.org iburst	#网络标准时间服务器(快速同步)
	allow 192.168.4.0/24	#允许同步时间的主机网络段
	local statum 10	#访问层数

systemctl restart chronyd	#重启时间同步服务

setenforce 0
systemctl stop firewalld	#关闭防火墙
#虚拟机B
vim /etc/chrony.conf
	server 192.168.4.10 iburst	#指定要同步时间的服务器(192.168.4.7)
systemctl restart chronyd	#重启时间同步服务
chronyc sources -v	#验证时间是否同步成功

案例22:利用FTP服务实现网络yum源

  1. 虚拟机A构建ftp服务

    yum -y install vsftpd
    systemctl restart vsftpd
    
  2. 利用ftp服务提供Centos7光盘内容,自定义yum仓库内容

    ls /var/ftp/
    mkdir /var/ftp/centos
    mount /dev/cdrom /var/ftp/centos/
    ls /var/ftp//centos/
    firefox ftp://192.168.4.10/centos
    
    #虚拟机软件-toos.tar.gz -> /root
    tar -xf tools.tar.gz
    ls tools/other/
    mkdir /var/ftp/other/
    cp tools/other/* /var/ftp/other/
    ls /var/ftp/other
    createrepo /var/ftp/other/
    ls /var/ftp/other
    
  3. 利用虚拟机B进行测试,并安装软件包sl

    vim /etc/yum.repos.d/mnt.repo
    	[centos]
    	name=Centos7.5
    	baseurl=ftp://192.168.4.10/centos
    	gpgcheck=0
    	[myrpm]
    	name=myyum
    	baseurl=ftp://192.168.4.10/other
    	gpgcheck=0
    
    yum clean all
    yum repolist
    
    yum -y install sl
    sl
    

如有侵权,请联系作者删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小饅頭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值