这里写目录标题

  • 配置Linux网络
  • 远程管理Linux主机
    • 远程登录工具 ssh
    • 使用scp远程复制工具
    • 实现ssh无密码登录验证
  • 远程管理进阶与Xshell
  • 常用的网络工具
    • IP命令的使用
    • ss与netstat
    • ping命令
  • 源码编译安装
    • 源码编译安装的优势
    • 源码编译安装的基本实现过程
    • 源码编译安装的步骤
  • 自定义yum仓库:
    • yum仓库的定义
    • 自定义yum仓库的配置
  • SELinux
    • SELinux概述
    • SELinux运行模式及切换
  • C/S服务架构
    • 什么是服务器
    • 服务器类型
    • 典型服务器模式
  • 构建 WEB 服务&FTP 服务
    • 构建Web服务
    • 搭建FTP服务
  • 防火墙
    • 防火墙简介
    • firewall服务基础
    • 防火墙默认区域的修改
  • 互联网常见协议
  • 网络YUM源实战
    • yum仓库概述
    • 部署网络yum源
  • ISCSI服务基础:
    • ISCSI概述
    • ISCSI 磁盘的构成
    • ISCSI服务端
    • ISCSI客户端
    • 总结
  • 普通NFS服务
    • NFS共享概述
    • NFS服务端
    • NFS客户端
  • 触发挂载
    • 触发挂载概述
    • autofs配置
    • autofs配置解析
    • 触发挂载进阶
  • DNS
    • DNS解析作用
    • DNS 的分布式结构
    • BIND 域名服务
    • 构建单区域DNS
    • 构建多区域DNS
  • 特殊的解析记录
    • 极域解析记录的轮询(负载均衡,缓解服务器压力)
    • 泛域名解析
    • 有规律的泛域名解析
    • 解析记录的别名CNAME
  • 主从DNS架构
    • 什么事主/从DNS服务器
    • 主从DNS服务器环境准备
    • 部署从DNS服务器

配置Linux网络

配置静态主机名
–配置文件/etc/hostname
–固定保存的主机名,永久有效

[root@localhost ~]# echo "svr7.tedu.cn" > /etc/hostname
[root@localhost ~]# cat /etc/hostname
svr7.tedu.cn
[root@localhost ~]# hostname svr7.tedu.cn
[root@localhost ~]# hostname
svr7.tedu.cn
[root@localhost ~]#

修改网卡命名规则

[root@server0 ~]# vim /etc/default/grub
.........
GRUB_CMDLINE_LINUX="..... quiet  net.ifnames=0 biosdevname=0"
...........[root@server0 ~]# grub2-mkconfig -o  /boot/grub2/grub.cfg                  #让网卡命名规则生效
[root@server0 ~]# reboot

重启之后查看网卡名是不是eth0

[root@server0 ~]#  ifconfig  |  head -2

配置静态IP地址

[root@server0 ~]# nmcli connection show                                     #查看网卡信息
[root@server0 ~]#  nmcli connection delete ens33                         #删除ens33网卡设备
[root@server0 ~]#  nmcli connection show
[root@server0 ~]#  nmcli connection delete 有线连接\ 1
[root@server0 ~]#  nmcli connection show
[root@server0 ~]#  nmcli connection add type ethernet ifname eth0 con-name eth0         #添加网卡设备为eth0
[root@server0 ~]#  nmcli connection show
[root@server0 ~]#  nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.10/24  ipv4.gateway 192.168.4.254 \connection.autoconnect yes                                    #配置IP地址为192.168.4.10,网关为192.168.4.254
[root@server0 ~]#  nmcli connection up eth0           #激活网卡
[root@server0 ~]# ifconfig | head -2
[root@server0 ~]#  route -n                                        #查看网关

通过修改配置文件的方式修改IP地址

[root@A ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@A ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static                                                       #自动获取是dhcp,手动配置是static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.4.25
PREFIX=24
[root@A ~]# systemctl restart network                                    #重启network网络服务
[root@A ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.4.25  netmask 255.255.255.0  broadcast 192.168.4.255
[root@A ~]#

为本机指定DNS服务器
–配置文件 /etc/resolv.conf
–关键记录:nameserver DNS服务器地址

[root@svr7 ~]# vim /etc/resolv.conf
[root@svr7 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search tedu.cn
nameserver 8.8.8.8
[root@svr7 ~]#
[root@svr7 ~]# echo "nameserver 9.9.9.9" > /etc/resolv.conf
[root@svr7 ~]# cat /etc/resolv.conf
nameserver 9.9.9.9
[root@svr7 ~]#

远程管理Linux主机

  • SSH:
    为客户提供安全的Shell环境
    默认端口:22
  • OpenSSH:
    主程序:/usr/sbinsshd 、 /usr/bin/ssh
    配置文件:/etc/ssh/ssdh_config
    /etc/ssh/ssh_config

远程登录工具 ssh

SSH基本应用

—ssh[选项] 服务器 # 以客户端当前用户名作为登录名
– ssh [选项] 用户名@服务器 #指定以对方的用户名登录
-x 在本机运行对方的图形程序

使用scp远程复制工具

  • 安全复制工具scp
    -scp [-r] 用户名@服务器:路径 本地路径
    -scp [-r] 本地路径 用户名@服务器:路径
    把本机的boot目录放到207主机的opt下面


把远程主机的目录boot放到本地opt下

实现ssh无密码登录验证

– 生成公钥和私钥
– 传递公钥到对方主机

[root@svr7 ~]# ssh-keygen #一路回车生成公钥与私钥
[root@svr7 ~]# ls /root/.ssh/
将公钥传递给对方主机
[root@svr7 ~]# ssh-copy-id root@192.168.4.207
…
root@192.168.4.207's password: 输入密码
测试:
虚拟机A远程虚拟机B不需要输入密码
[root@svr7 ~]# ssh root@192.168.4.207

远程管理进阶与Xshell

点击跳转安装XShell与使用Xshell

常用的网络工具

IP命令的使用

查看 IP 地址

[root@svr7 ~]# ip address show

添加 IP 地址

[root@svr7 ~]# ip address add 192.168.8.1/24 dev ens33
#会有8.1的IP,但是是临时的,只能通过ip address show查看,ifconfig查看不到
[root@svr7 ~]# ip addr show
[root@svr7 ~]# ping 192.168.8.1 #可以ping通
如果想要每次开机生效,可以写/etc/rc.d/rc.local 文件,给个执行的权限
[root@svr7 ~]# vim /etc/rc.d/rc.local ip address add 192.168.8.1/24 dev ens33

添加路由

[root@svr7 ~]# ip route add 10.0.0.0/24 via 192.168.8.100 dev eth0 #via是下一跳
[root@svr7 ~]# ip route show #查看路由表

删除路由

[root@svr7 ~]# ip route del 10.0.0.0/24
[root@svr7 ~]# ip route show

ss与netstat

-a 显示所有端口的信息
-n 以数字格式显示端口号
-t 显示 TCP 连接的端口
-u 显示 UDP 连接的端口 2 -l 显示服务正在监听的端口信息
-p 显示监听端口的服务名称是什么(也就是程序名称)

[root@svr7 ~]# netstat -anptu
[root@svr7 ~]# ss -anptu
[root@svr7 ~]# netstat -anptu | grep :22
[root@svr7 ~]# ss -anptu | grep :22

ping命令

常用选项:-c 测试包个数

[root@svr7 ~]# ping -c 2 192.168.4.207 #ping2次结束

源码编译安装

源码编译安装的优势

RPM 软件包: rpm -ivh yum -y install
源码包----开发工具----->可以执行的程序----->运行安装
优势:

1)灵活度较高,自定义较高,可以指定安装位置
2)获得软件的最新版,及时修复 bug
3)软件功能可按需选择/定制,有更多软件可供选择
4)源码包适用各种平台

源码编译安装的基本实现过程

下载源码包
步骤一:tar解包,释放源代码到指定目录
步骤二:./configure配置,指定安装目录/功能模块等选项
步骤三:make编译,生成可执行的二进制程序文件
步骤四:make install安装,将编译好的文件复制到安装目录
测试及应用/维护软件

源码编译安装的步骤

步骤一:安装开发工具 gcc 与 make

[root@svr7 ~]# yum -y install gcc make #可能会报错,报错参考下面步骤修复
[root@svr7 ~]# mount /dev/cdrom /dvd/
[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=CentOS7.5
baseurl=file:///dvd
enabled=1
gpgcheck=0
[root@svr7 ~]# yum -y install gcc make
查看是否安装成功
[root@svr7 ~]# rpm -q gcc make
gcc-4.8.5-28.el7.x86_64 4
make-3.82-23.el7.x86_64

步骤二: tar 解包,释放源代码至指定目录

[root@svr7 ~]# tar -xf tools.tar.gz -C /opt
[root@svr7 ~]# ls /opt/tools/
[root@svr7 ~]# tar -xf /opt/tools/inotify-tools-3.13.tar.gz -C /opt/
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# cd /opt/inotify-tools-3.13/

步骤三: ./configure 配置,指定安装目录/功能模块等选项,检测系统是否安装了 gcc 软件
–prefix=安装路径

[root@svr7 inotify-tools-3.13]# ./configure --prefix=/opt/myrpm #指定安装目录,目录
可以不存在
常见的错误提示,没有安装 gcc
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

步骤四: make 编译,生成可执行的二进制程序文件

[root@svr7 inotify-tools-3.13]# make
步骤五: make install 安装,将编译好的文件复制到安装目录
[root@svr7 inotify-tools-3.13]# make install [root@svr7 inotify-tools-3.13]# ls /opt/myrpm/
[root@svr7 inotify-tools-3.13]# ls /opt/myrpm/bin/

自定义yum仓库:

yum仓库的定义

自定义Yum仓库:将自己准备好的软件包进行Yum机制管理

自定义yum仓库的配置

步骤一:准备软件包,这个已经提前准备好,在 tools 压缩包里

[root@svr7 ~]# ls /opt/tools/other/ #注:tools包释放到哪个目录就写哪里

步骤二:通过命令生成仓库数据文件

[root@svr7 ~]# createrepo /opt/tools/other/
[root@svr7 ~]# ls /opt/tools/other/ #再次查看有repodata目录

步骤三:书写客户端配置文件

[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=CentOS7.5
baseurl=file:///dvd
enabled=1
gpgcheck=0
[nsd]
name=myrpm
baseurl=file:///opt/tools/other
enabled=1
gpgcheck=0
[root@svr7 ~]# yum clean all
[root@svr7 ~]# yum repolist

步骤四:安装软件包6

[root@svr7 ~]# yum -y install sl
[root@svr7 ~]# sl
[root@svr7 /]# yum -y install cmatrix
[root@svr7 /]# cmatrix
[root@svr7 /]# yum -y install oneko
[root@svr7 /]# oneko
[root@svr7 /]# oneko & #将程序放入后台运行
[root@svr7 /]# killall oneko #杀死所有oneko程序
[root@svr7 /]# yum -y install boxes
[root@svr7 /]# echo “I am dog” | boxes -d dog -a c

SELinux

SELinux概述

  • 美国 NSA 国家安全局主导开发,一套增强 Linux 系统安全的强制访问控制体系
  • 集成到 Linux 内核(2.6 及以上)中运行
  • RHEL7 基于 SELinux 体系针对用户、进程、目录和文件 提供了预设的保护策略,以及管理工

SELinux运行模式及切换

  • enforcing(强制)
  • permissive(宽松)
  • disabled(彻底禁用)
    任何模式再切换到 disabled(彻底禁用)模式,都必须要经历重起系统
  • SELinux 的运行模式切换
    – 临时切换:setenforce 1|0
    – 固定配置:/etc/selinux/config 文件 #不影响当前 SELinux 状态
    临时配置
[root@localhost ~]# getenforce #查看SELinux当前的状态 Enforcing
[root@localhost ~]# setenforce 0 #更改当前模式,0是宽松状态
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]# setenforce 1 #更改当前模式,1是强制状态2
[root@localhost ~]# getenforce
Enforcing

永久更改

[root@localhost ~]# vim /etc/selinux/config #彻底禁用模式
……..
SELINUX=disabled
……
[root@localhost ~]# reboot

重启系统查看 SELinux 状态

[root@localhost ~]# getenforce
Disabled

C/S服务架构

什么是服务器

能够为其他计算机提供服务的更高级的电脑

服务器类型

–机架式
–塔式
–机柜式
–刀片式
注:1U 服务器尺寸:规定的尺寸是服务器的宽(48.26cm=19 英寸)与高(4.445cm 的倍数)
1U=4.445cm

典型服务器模式

C/S,Client/Server 架构
– 由服务器提供资源或某种功能
– 客户机使用资源或功能

构建 WEB 服务&FTP 服务

构建Web服务

安装httpd软件包:

[root@A ~]# yum -y install httpd #注:安装失败检测yum源是否可用
[root@A ~]# rpm -q httpd

启动httpd服务

[root@A ~]# systemctl start httpd

书写页面文件,测试
默认存放网页文件的路径:/var/www/html
默认网页文件的名称:index.html

[root@A ~]# vim /var/www/html/index.html
I am king.
测试
[root@A ~]# curl http://192.168.4.7

搭建FTP服务

安装vsftp软件包:

[root@A~]# yum -y install vsftpd #注:安装失败检测yum源是否可用
[root@A ~]# rpm -q vsftpd

启动 httpd 服务

[root@A ~]# systemctl start vsftpd

测试
默认共享数据目录:/var/ftp

[root@A ~]# touch /var/ftp/a.txt #创建测试文件
[root@A ~]# curl ftp://192.168.4.7

防火墙

防火墙简介

防火墙分为硬件防火墙,软件防火墙
作用:隔离,进行过滤所有入站请求

firewall服务基础

• 管理工具:firewall-cmd、firewall-config(图形工具)
预设安全区域
• 根据所在的网络场所区分,预设保护规则集

  • public:仅允许访问本机的 sshd、ping、dhcp 服务
  • trusted:允许任何访问
  • block:阻塞任何来访请求(明确拒绝,有回应客户端)
  • drop:丢弃任何来访的数据包(直接丢弃,没有回应客户端),节省服务器资源
    防火墙判定规则:(进入哪一个区域)
  1. 首先查看,客户端数据包中源 IP 地址,然后查看自己所有区域规则,那个区域有该源 IP 地
    址的规则,则进入该区域
  2. 进入默认区域(public)

防火墙默认区域的修改

虚拟机 A 操作:

[root@A ~]# firewall-cmd --get-default-zone #查看默认区域

虚拟机 B(svr7)测试:

[root@svr7 ~]# ping 192.168.4.10 #可以通信
[root@svr7 ~]# curl 192.168.4.10 #拒绝访问
[root@svr7 ~]# curl ftp://192.168.4.10 #拒绝访问

虚拟机 A 操作:

[root@A ~]# firewall-cmd --set-default-zone=trusted #修改默认区域为trusted
[root@A ~]# firewall-cmd --get-default-zone

虚拟机 B(svr7)测试:4

[root@svr7 ~]# curl ftp://192.168.4.10 #可以访问
[root@svr7 ~]# ping 192.168.4.10 #可以通信

虚拟机 A 操作:

[root@A ~]# firewall-cmd --set-default-zone=block #修改默认区域为block
[root@A ~]# firewall-cmd --get-default-zone

虚拟机 B(svr7)测试:

[root@svr7 ~]# ping 192.168.4.10 #不可以通信,有回应

虚拟机 A 操作:

[root@A ~]# firewall-cmd --set-default-zone=drop #修改默认区域为drop
[root@A ~]# firewall-cmd --get-default-zone
虚拟机 B(svr7)测试:
[root@svr7 ~]# ping 192.168.4.10 #不可以通信,没有回应

互联网常见协议

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

虚拟机A

[root@localhost ~]# firewall-cmd --zone=public --add-service=http
success
[root@localhost ~]# firewall-cmd --zone=public --list-all #查看区域策略
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-client httpports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules:

虚拟机B

[root@svr7 ~]# curl http://192.168.4.10
<h1>LBW NB

虚拟机A

[root@localhost ~]# firewall-cmd --zone=public --add-service=ftp
Warning: ALREADY_ENABLED: 'ftp' already in 'public'
success
[root@localhost ~]# firewall-cmd --zone+public --list-all
usage: see firewall-cmd man page
firewall-cmd: error: unrecognized arguments: --zone+public
[root@localhost ~]firewall-cmd --reload
[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-client http ftpports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules:

虚拟机B

[root@svr7 ~]# curl ftp://192.168.4.10
-rw-r--r--    1 0        0               0 Apr 29 00:25 a.txt
drwxr-xr-x    2 0        0               6 Aug 03  2017 pub

网络YUM源实战

yum仓库概述

  1. 大量的 .rpm 软件安装包文件
  2. 针对这些软件包的 repodata/ 仓库档案
    –repodata/ 仓库档案提供的数据:
    filelists.xml.gz:提供所有软件包的文件安装清单
    primary.xml.gz:提供所有软件包的基本/主要信息
    other.xml.gz:提供所有软件包的其他信息
    repomd.xml:提供上述档案数据文件
    .xml.gz 的下载和校验信息
[root@svr7 ~]# mkdir -p /dvd/nsd
[root@svr7 ~]# mount /dev/cdrom /dvd/nsd
[root@svr7 ~]# vim /etc/yum.repos.d/mnt.repo
[dvd]
name=dvd
baseurl=file:///dvd
enabled=1
gpgcheck=0
[root@svr7 ~]# yum clean all
[root@svr7 ~]# yum repolist #无软件包
修改 yum 客户端配置文件,将服务端 URL 地址修改为/dvd/nsd2
[root@svr7 ~]# vim /etc/yum.repos.d/mnt.repo
[dvd]
name=dvd
baseurl=file:///dvd/nsd
enabled=1
gpgcheck=0
[root@svr7 ~]# yum clean all
[root@svr7 other]# yum repolist #有软件包

部署网络yum源

服务端:利用 Web 服务或 FTP 服务共享光盘所有内容
利用 web(HTTP)服务共享,默认共享位置:/var/www/html/
服务端svr7操作

[root@svr7 ~]# yum -y install httpd
[root@svr7 ~]# systemctl start httpd
[root@svr7 ~]# systemctl status httpd #查看服务运行状态
[root@svr7 ~]# mkdir /var/www/html/dvd
[root@svr7 ~]# mount /dev/cdrom /var/www/html/dvd
[root@svr7 ~]# ls /var/www/html/dvd #查看是否有光盘内容
[root@svr7 ~]# firefox http://192.168.4.7/dvd #访问测试
客户端pc207操作
[root@pc207 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=CentOS7.5
baseurl=http://192.168.4.7/dvd
enabled=1
gpgcheck=0 3
[root@pc207 ~]# yum clean all
[root@pc207 ~]# yum repolist
[root@pc207 ~]# yum -y install unzip

3 利用 FTP 服务共享,默认共享位置:/var/ftp
服务端svr7操作

[root@svr7 ~]# rpm -q vsftpd
[root@svr7 ~]# systemctl start vsftpd
[root@svr7 ~]# systemctl status vsftpd 查看服务运行状态
[root@svr7 tools]# mkdir /var/ftp/dvd
[root@svr7 tools]# mount /dev/cdrom /var/ftp/dvd
[root@svr7 tools]# firefox ftp://192.168.4.7/dvd #访问测试
客户端pc207操作
[root@pc207 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=CentOS7.5
baseurl=ftp://192.168.4.7/dvd
enabled=1
gpgcheck=0
[root@pc207 ~]# yum clean all
[root@pc207 ~]# yum repolist

ISCSI服务基础:

ISCSI概述

  • Internet SCSI,网际 SCSI 接口
  • 一种基于 C/S 架构的虚拟磁盘技术
  • 服务器提供磁盘空间,客户机连接并当成本地磁盘使用
  • ISCSI 磁盘的构成

  • backstore,后端存储
    – 对应到服务端提供实际存储空间的设备,需要起一个管理名称
  • target,磁盘组
    – 是客户端的访问目标,作为一个框架,由多个 lun 组成
  • lun,逻辑单元
    – 每一个 lun 需要关联到某一个后端存储设备,在客户端会视为一块虚拟硬盘
    虚拟机 svr7,虚拟机 pc207 的防火墙默认区域设置为 trusted 或者关闭,关闭 SELinux
[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
[root@svr7 ~]# setenforce 0
[root@pc207 ~]# firewall-cmd --set-default-zone=trusted
[root@pc207 ~]# setenforce 0
svr7 和 pc207 的 yum 仓库可以正常使用
[root@svr7 ~]# yum clean all
[root@svr7 ~]# yum repolist
发布 ISCSI 磁盘
为虚拟机 svr7 添加一块 10G 硬盘,利用/dev/sdb 划分一个主分区,大小为 5G
[root@svr7 ~]# fdisk /dev/sdb2
命令(输入 m 获取帮助):n
Partition type: p primary (0 primary, 0 extended, 4 free)
e extended Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
Last 扇区, +扇区 or +size{K,M,G}:+5G
命令(输入 m 获取帮助):w
[root@svr7 ~]#

ISCSI服务端

使用 targetcli 建立配置

基本操作

/backstore/block create 后端存储名 世纪设备路径
/iscsi create 磁盘组的IQN名称
/iscsi/磁盘组名/tpg1/luns create 后端存储路径
/iscsi/磁盘组名/tpg1/acls create
客户机IQN标识 /iscsi/磁盘组名/tpg1/porals create IP地址 端口号

ISCSI Qualified Name(iqn) 名称规范
– iqn.yyyy-mm.倒序域名:自定义标识
– 用来识别 target 磁盘组,也用来识别客户机身份
qq.com > .com.qq
example.com > .com.example
虚拟机 svr7 操作:3
安装服务端软件包 targetcli

[root@svr7 ~]# yum -y install targetcli
//运行 targetcli 命令进行配置
[root@svr7 ~]# targetcli
/> ls
//1、创建后端存储
/> backstores/block create dev=/dev/sdb1 name=nsd
/> ls
//2、创建磁盘组target
/> iscsi/ create iqn.2019-09.cn.tedu:server
/> ls
//3、进行lun关联
/> iscsi/iqn.2019-09.cn.tedu:server/tpg1/luns create /backstores/block/nsd
/> ls
//4、设置访问控制(acl),设置 客户端声称的名字
/> iscsi/iqn.2019-09.cn.tedu:server/tpg1/acls create iqn.2019-09.cn.tedu:client
/> ls /> exit
//重启服务并加入开机自启
[root@svr7 ~]# systemctl restart target.service
[root@svr7 ~]# systemctl enable target.service

ISCSI客户端

访问 ISCSI 磁盘
虚拟机 pc207 操作:

//1、安装客户端软件:iscsi-initiator-utils
[root@pc207 ~]# yum -y install iscsi-initiator-utils 4
[root@pc207 ~]# rpm -q iscsi-initiator-utils
//2、修改配置文件,指定客户端声称的名字
[root@pc207 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2019-09.cn.tedu:client
//3、重起 iscsid 服务,仅仅是刷新客户端声称的名字
[root@pc207 ~]# systemctl restart iscsid
//4、利用命令发现服务端共享存储
[root@svr7 ~]# man iscsiadm #iscsiadm man帮助查看
全文查找/example 按n项下跳转匹配
[root@pc207 ~]# iscsiadm --mode discoverydb --type sendtargets –portal \
192.168.4.7 --discover 192.168.4.7:3260,1 iqn.2019-09.cn.tedu:server
//注:\为换行符
//5、重启 iscsi 服务,使用共享存储
[root@pc207 ~]# systemctl restart iscsi
[root@pc207 ~]# systemctl enable iscsi
[root@pc207 ~]# lsblk

总结

服务端:
1、修改防火墙默认区域
2、划分新的分区
3、安装服务端 targetcli 软件
4、运行 targetcli 进行配置
1)建立后端存储 5
2)建立磁盘组 target
3)进行关联 lun
4)设置 ACL,书写客户端声称的名字
5)启用相应 IP 地址及端口(可以不做,默认监听所有)
5、重起 target 服务

客户端:
1、安装客户端软件包 iscsi-initiator-utils
2、修改配置文件,设置客户端声称的名字 vim /etc/iscsi/initiatorname.iscsi
3、重启 iscsid 进行刷新
4、执行发现共享存储命令
5、 重启 iscsi 客户端服务,使用共享存储

普通NFS服务

NFS共享概述

  • Network File System,网络文件系统
    – 用途:为客户机提供共享使用的文件夹
    – 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
  • 所需软件包:nfs-utils
  • 系统服务:nfs-server

虚拟机 svr7,虚拟机 pc207 的防火墙默认区域设置为 trusted 或者关闭,关闭 SELinux

[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
[root@svr7 ~]# setenforce 0
[root@pc207 ~]# firewall-cmd --set-default-zone=trusted
[root@pc207 ~]# setenforce 0

svr7 和 pc207 的 yum 仓库可以正常使用

[root@svr7 ~]# yum clean all
[root@svr7 ~]# yum repolist

NFS服务端

虚拟机 svr7 操作:

//1、安装服务端软件包 nfs-utils
[root@svr7 ~]# yum -y install nfs-utils
//2、创建共享目录及完成共享配置
[root@svr7 ~]# mkdir /test
[root@svr7 ~]# echo haha > /test/1.txt
[root@svr7 ~]# man exports #查看帮助,搜索example 2
[root@svr7 ~]# vim /etc/exports
/test 192.168.4.0/24(ro) #文件夹路径 客户机地址(权限)
//3、重启 nfs-server 服务
[root@svr7 ~]# systemctl restart nfs-server
[root@svr7 ~]# systemctl enable nfs-server

NFS客户端

访问 NFS 共享
虚拟机 pc207 操作:

1、安装客户端软件:nfs-utils
[root@pc207 ~]# yum -y install nfs-utils
[root@pc207 ~]# rpm -q nfs-utils
2、挂载使用
[root@pc207 ~]# mkdir /nfs
[root@pc207 ~]# mount 192.168.4.7:/test /nfs
[root@pc207 ~]# df -h
[root@pc207 ~]# ls /nfs
3、实现开机自动挂载
_netdev:声明网络设备,系统在网络服务配置完成后,再挂载本设备
[root@pc207 ~]# vim /etc/fstab
192.168.4.7:/test /nfs nfs defaults,_netdev 0 0
[root@pc207 ~]# umount /nfs
[root@pc207 ~]# df -h
[root@pc207 ~]# mount -a
[root@pc207 ~]# df -h

触发挂载

触发挂载概述

  • 由 autofs 服务提供的“按需访问”机制
  • 只要访问挂载点,就会触发响应,自动挂载指定设备
  • 闲置超过时限(默认 5 分钟)后,会自动卸载
  • 所需软件包: autofs
  • 系统服务: autofs
//虚拟机 svr7,虚拟机 pc207 的防火墙默认区域设置为 trusted 或者关闭,关闭 SELinux
[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
[root@svr7 ~]# setenforce 0
[root@pc207 ~]# firewall-cmd --set-default-zone=trusted
[root@pc207 ~]# setenforce 0
svr7 和 pc207 的 yum 仓库可以正常使用
[root@svr7 ~]# yum clean all
[root@svr7 ~]# yum repolist

autofs配置

虚拟机 pc207 操作:

//1、安装服务端软件包 autofs
[root@pc207 ~]# yum -y install autofs
//2、关于分区的触发挂载
[root@pc207 ~]# systemctl restart autofs
[root@pc207 ~]# ls / #会出现misc的目录
[root@pc207 ~]# ls /misc/ #查看里面没有数据2
[root@pc207 ~]# ls -A /misc/
[root@pc207 ~]# cd /misc/aa #失败
[root@pc207 ~]# cd /misc/bb #失败
[root@pc207 ~]# cd /misc/cd #成功
[root@pc207 cd]# ls
[root@pc207 cd]# df -ah #可以查看,这是触发挂载的机制

autofs配置解析

主配置文件 /etc/auto.master
–监控点目录 挂载配置文件的路径
挂载配置文件,比如 /etc/auto.misc
–触发点子目录 -挂载参数 :设备名
查看这两个文件即可,不做更改

[root@pc207 ~]# vim /etc/auto.master
[root@pc207 ~]# vim /etc/auto.misc

案例练习触发挂载一个分区

[root@pc207 ~]# fdisk /dev/sdb #划分一个主分区,大小为3G
[root@pc207 ~]# mkfs.xfs /dev/sdb1
[root@pc207 ~]# blkid /dev/sdb1
当触发/misc/mydev时,实现自动挂载
[root@pc207 ~]# ls /misc/mydev
ls: 无法访问/misc/mydev: 没有那个文件或目录
创建触发式挂载
[root@pc207 ~]# vim /etc/auto.misc
mydev -fstype=xfs :/dev/sdb1
[root@pc207 ~]# systemctl restart autofs 3
[root@pc207 ~]# ls /misc/mydev #可以查看,没有报错
[root@pc207 ~]# df -ah

触发挂载进阶

实现 NFS 的触发挂载
虚拟机 svr7 为服务端,构建 NFS 共享

//1、安装软件包 nfs-utils
[root@svr7 ~]# rpm -q nfs-utils
//2、创建共享目录及完成共享配置
[root@svr7 ~]# mkdir /test
[root@svr7 ~]# echo haha > /test/1.txt
[root@svr7 ~]# vim /etc/exports
/test 192.168.4.0/24(ro)
//3、重启 nfs-server 服务
[root@svr7 ~]# systemctl restart nfs-server
[root@svr7 ~]# systemctl enable nfs-server

虚拟机 pc207 作为客户端测试访问

//1、查看服务端共享
[root@pc207 ~]# showmount -e 192.168.4.7
//2、以/misc/目录创建触发式挂载(仅修改/etc/auto.misc 指定触发点子目录)
[root@pc207 ~]# ls /misc
[root@pc207 ~]# cd /misc/autonfs
ls: 无法访问/misc/autonfs: 没有那个文件或目录
[root@pc207 ~]# vim /etc/auto.misc
autonfs -fstype=nfs 192.168.4.7:/test 4
[root@pc207 ~]# systemctl restart autofs
[root@pc207 ~]# ls /misc
[root@pc207 ~]# cd /misc/autonfs
[root@pc207 autonfs]# df -ah

DNS

DNS解析作用

DNS 服务器的功能
正向解析:根据注册的域名查找其对应的 IP 地址
反向解析:根据 IP 地址查找对应的注册域名,不常用 一级
DNS 服务器:专门负责一级域名的解析
二级 DNS 服务器:专门负责二级域名的解析
三级 DNS 服务器:专门负责三级域名的解析
根域名 DNS 服务器:专门负责根域名的解析

DNS 的分布式结构

域名体系:所有的域名必须以点结尾
www.qq.com. www.baidu.com.
根域名: ( . )
一级域名: .cn .us .tw .kr .jp .hk …
二级域名: .com.cn tedu.cn .org.cn .net.cn …
三级域名: sina.com.cn nb.com.cn haxi.com.cn …

BIND 域名服务

完全合格的主机名(Full Qualified Domain Name)FQDN:
站点名+注册申请的域名后缀

  • BIND 服务器端程序
  • 主要执行程序:/usr/sbin/named
  • 系统服务:named
  • 默认端口:TCP/UDP 53
  • 运行时的虚拟根环境:/var/named/chroot/
  • 主配置文件:/etc/named.conf #主要 设置负责解析的域名 tedu.cn
  • 地址库文件:/var/named/ #域名解析的结果,完整的主机名与 IP 地址对应关系

构建单区域DNS

服务端虚拟机 svr7 操作:

//1、安装软件包 bind、bind-chroot
[root@svr7 ~]# yum -y install bind-chroot bind
//#bind是域名服务包,bind-chroot 是提供虚拟根支持
//2、修改主配置/etc/named.conf
[root@svr7 ~]# cp /etc/named.conf /etc/named.bak
[root@svr7 ~]# vim /etc/named.conf
options {
directory "/var/named"; #指定地址库文件位置
};
zone "tedu.cn" IN { #指定本机负责解析的域名
type master; #指定本机为主DNS服务器6
file "tedu.cn.zone"; #指定地址库文件名称(在/var/named目录下创建的地址
库文件要和这个一致)
};
//3、建立地址库文件 tedu.cn.zone
-p:保持权限不变进行复制
原理:让 named 用户对地址库文件有权限
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# cp -p named.localhost tedu.cn.zone
[root@svr7 named]# vim 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. #声明维护tedu.cn.域名服务器叫什么名称
svr7.tedu.cn. A 192.168.4.7 #指定DNS服务IP地址
www.tedu.cn. A 1.2.3.4
ftp.tedu.cn. A 5.6.7.8
//4、重起 named 服务
[root@svr7 named]# systemctl restart named

客户端 pc207 操作:

//指定 DNS 服务器地址,并验证7
[root@pc207 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@pc207 ~]# nslookup www.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.tedu.cn
Address: 1.2.3.4

构建多区域DNS

搭建多区域的 DNS 服务器,即负责多个域名的解析
在虚拟机 svr7 实现 DNS 服务器构建,负责解析 baidu.com 域名
最终实现客户端解析 www.baidu.com----->10.20.30.40

服务端虚拟机 svr7 操作:
1、修改主配置文件/etc/named.conf ,添加 zone 配置

[root@svr7 /]# vim /etc/named.conf
//#主配置文件下面新添加如下部分
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
};
//3、建立地址库文件 baidu.com.zone
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# cp -p tedu.cn.zone baidu.com.zone
[root@svr7 named]# vim 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
//4、重起 named 服务4
[root@svr7 named]# systemctl restart named

客户端 pc207 操作:
指定 DNS 服务器地址,并验证

[root@pc207 ~]# nslookup www.tedu.cn
[root@pc207 ~]# nslookup www.baidu.com

特殊的解析记录

极域解析记录的轮询(负载均衡,缓解服务器压力)

基于 DNS 的站点负载均衡
一个域名——》多个不同 IP 地址
每个 IP 提供镜像服务内容
虚拟机 svr7:

[root@svr7 named]# vim 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 192.168.4.50
www A 192.168.4.60 5
www A 192.168.4.70
ftp A 50.60.70.80
[root@svr7 /]# systemctl restart named

虚拟机 pc207 验证:

[root@pc207 ~]# ping www.baidu.com #使用ping测试,对应ip地址发生改变

泛域名解析

作用:解决用户输入域名时讲站点输入错误的问题
虚拟机 svr7:

[root@svr7 named]# vim baidu.com.zone
…..
* A 7.8.9.10
[root@svr7 ~]# systemctl restart named

虚拟机 pc207 验证

[root@pc207 ~]# nslookup wwww.baidu.com #成功
[root@pc207 ~]# nslookup xixi.baidu.com #成功
[root@pc207 ~]# nslookup baidu.com #失败
需要在svr7主机的配置文件里面添加以下信息
[root@svr7 ~]# vim /var/named/baidu.com.zone
…..
baidu.com. A 70.80.90.100
[root@svr7 ~]# systemctl restart named
pc207测试:
[root@pc207 ~]# nslookup baidu.com #成功

有规律的泛域名解析

pc1.baidu.com----->192.168.10.1 6 pc2.baidu.com----->192.168.10.2
pc3.baidu.com----->192.168.10.3 …
pc100.baidu.com----->192.168.10.100

内置函数: G E N E R A T E 造 数 ∗ ∗ / GENERATE 造数 **/ GENERATE造数∗∗/$ G E N E R A T E 1 − 50 p c GENERATE 1-50 pc GENERATE1−50pc A 192.168.10.$**
虚拟机 svr7:

[root@svr7 /]# vim /var/named/baidu.com.zone
…
$GENERATE 1-100 pc$ A 192.168.10.$
[root@svr7 ~]# systemctl restart named

虚拟机 pc207:

[root@pc207 ~]# nslookup pc1.baidu.com #会出对应的IP
[root@pc207 ~]# nslookup pc2.baidu.com
[root@pc207 ~]# nslookup pc100.baidu.com
[root@pc207 ~]# nslookup pc101.baidu.com #出现匹配的IP为7.8.9.10,因为配置文件有
泛域名解析

解析记录的别名CNAME

虚拟机 svr7:

[root@svr7 /]# vim /var/named/baidu.com.zone
……
tts CNAME ftp
[root@svr7 ~]# systemctl restart named

pc207 测试7

[root@pc207 ~]# nslookup tts.baidu.com

主从DNS架构

什么事主/从DNS服务器

主从 DNS 架构:
DNS服务器的主从结构,备份主服务器的数据,解决单点故障

主从DNS服务器环境准备

1.虚拟机 svr7:主 DNS 服务器 192.168.4.7
2.虚拟机 pc207:从 DNS 服务器 192.168.4.207
3.虚拟机 C:客户端测试 192.168.4.10

虚拟机 svr7 构建主 DNS 服务器:

//1.修改主配置文件,指定从服务器 IP 地址
[root@svr7 /]# vim /etc/named.conf
options {
directory "/var/named";
allow-transfer { 192.168.4.207; }; #指定从服务器
};
…
//2.修改地址库文件,进行声明从服务器
[root@svr7 /]# vim /var/named/tedu.cn.zone
……
tedu.cn. NS svr7
tedu.cn. NS pc207 #声明从服务器
svr7 A 192.168.4.7 8
pc207 A 192.168.4.207
www A 1.2.3.4
[root@svr7 ~]# systemctl restart named

部署从DNS服务器

虚拟机 pc207 构建从服务器:

//1. 安装软件包
[root@pc207 ~]# yum -y install bind bind-chroot
//2.修改主配置文件
[root@pc207 ~]# 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; }; #指定主DNS服务器位置
};
[root@pc207 ~]# systemctl restart named

虚拟机 C 测试

[root@C opt]# nslookup www.tedu.cn 192.168.4.7 #指定DNS测试
[root@C opt]# nslookup www.tedu.cn 192.168.4.207
[root@C opt]# vim /etc/resolv.conf
nameserver 192.168.4.7
nameserver 192.168.4.207
[root@C opt]# nslookup www.tedu.cn
模拟主 DNS 宕机9
[root@svr7 ~]# systemctl stop named

虚拟机 C 测试,还可以访问,此时是从 DNS 提供的解析

[root@C opt]# nslookup www.tedu.cn

Linux云计算网络服务CentOS7.5相关推荐

  1. Linux与网络服务(一)网络服务相关概念通俗解释(科普向)

    Linux与网络服务(一)网络服务相关概念通俗解释(科普向) 前言 专业名词及概念的通俗解释 云服务器 云/云服务 云计算 弹性伸缩 负载均衡 公网IP 域名/域名备案 端口 SSH(安全外壳协议)/ ...

  2. linux启动网络服务的命令,linux重启服务命令

    linux重启服务命令 重启:service 服务名 restart 或systemctl restart 服务名 service和systemctl 1.service命令 service命令其实是 ...

  3. Linux下网络服务的安全设置

    Linux下网络服务的安全设置 Linux操作系统由于其良好的稳定性.健壮性.高效性和安全性.正在成为各种网络服务的理想平台.各种网络应用在Linux系统上部有性能卓越的应用,例如,提供Web服务的A ...

  4. linux重启网络服务_vm上linux虚拟机NAT模式配置

    分享一篇之前搭建虚拟机过程中整理的linux虚拟机nat模式配置. 1.修改虚拟机的网络配置 右键点击虚拟机,然后点击settings,打开虚拟机的设置界面,然后点击Network Adapter,将 ...

  5. Linux配置网络服务

    1.配置网络服务 Linux主机要与网络中其他主机进行通信,首先要进行正确的网络配置.网络配置通常包括主机名.IP地址.子网掩码.默认网关.DNS服务器等. 1.1检查并设置有线网络处于连接状态 单击 ...

  6. linux的网络服务之DHCP

    内容预知 1.DHCP服务的相关知识点 1.1 DHCP的简介 1.2 DHCP 的优点 1.3 DHCP 的工作原理 2.DHCP的安装 2.1  检查并且安装dhcp有关软件包 ​编辑 2.2 查 ...

  7. kali linux重启网络服务报错,Web安全学习笔记之在Kali Linux上安装Openvas以及启动失败修复...

    现在用的kali linux是2018.1的版本,在安装openvas的时候报错,无法通过网络下载和安装openvas. 主要错误是源配置错误,可能现在用的kali很久没更新了. 一.解决和配置更新源 ...

  8. linux 启动网络服务,Linux下网络启动服务器安装和配置方法(pxe+tftp+dhcpd)

    背景: 在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量,但是批量自动化安装服务器的基础是网络启动服务器(bootserver),下面就是网络启动服务器的安装和配置方法,供大家 ...

  9. Linux系统网络服务——安全与防火墙笔记

    Linux安全笔记--系统.网络(防火墙) 系统基本安全 1.防火墙:网络防火墙.主机型防火墙 2.TCPWappers 3.软件自己过滤 4.人类工程学 5.VPN 对安全实行的措施技术 加强系统账 ...

最新文章

  1. python切片语法-Python字符串切片操作知识详解
  2. python修改父类属性_Python super和设置父类属性
  3. PHP编程效率的20个要点
  4. linux下加入回收站功能
  5. php 基础 判断类型
  6. 【Redis】redis-3.0.0安装以及集群的搭建
  7. Bailian4003 十六进制转十进制【十六进制】
  8. Kotlin — 适用于移动端跨平台
  9. 报错AttributeError: Can‘t pickle local object ‘Worker.__init__.<locals>.<lambda>‘解决办法
  10. (10)数据分析-变量分析
  11. JWT的Java使用 (JJWT)
  12. I,P,B帧和PTS,DTS的关系,GOP相关
  13. c语言转化音乐格式转换器安卓版,音频提取格式转换APP
  14. kafka面试题整合列表
  15. 解决win10cmd乱码
  16. Python笔记 · self,cls,实例方法,静态方法,类方法
  17. Mysql:select ...for update
  18. 外文网站对CMap用法的精辟解释
  19. 三百六十行对比(旧社会)
  20. Mac系统下matplotlib中SimHei中文字体缺失报错的解决办法

热门文章

  1. POJ 3084 Panic Room | 最小割
  2. png 微软ppt 透明度,教你一招永久搞定PPT导出高清图片的小技巧
  3. 35岁程序员危机,有何破解之法
  4. 如何获得海量的RoboCode代码
  5. 所有程序中的java在哪里设置密码_关于安全性:如何在桌面客户端应用程序(Java)中存储密码和敏感数据?...
  6. SEO做反链不能太刻意,自然合理规律的发布自己的网站
  7. Python学习:Python分析钉钉评论(一)爬取数据
  8. 钉钉RC版H5页面调试
  9. 网络基础之ACL(访问控制列表)
  10. 改成每天晚上锻炼身体