######3.gateway 网关 #####
1.路由器
主要功能是用来做nat的
dnat 目的地址转换
snat 源地址转换
2.网关
路由器上和自己处在同一个网段的那个ip
3.设定网关
systemctl stop NetworkManager.service
vim /etc/sysconfig/network ##全局网关
GATEWAY=网关ip
vim /etc/sysconfig/network-scripts/ifcfg-网卡配置文件
GATEWAY=网关ip ##网卡接口网关
systemctl restart network
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 (网关)172.25.7.254 0.0.0.0 UG 0 0 0 eth0
172.25.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
#######5.dns####
1.dns
dns是一台服务器
这台服务器提供了回答客户主机名和ip对应关系的功能
2.设定dns
vim /etc/resolv.conf
nameserver dns服务器ip
vim /etc/sysconfig/network-scripts/ifcfg-网卡配置文件
DNS1=dns服务器ip
@@注意:后者优先高于前者
3.本地解析文件
vim /etc/hosts
ip 主机名称
4.本地解析文件和dns读取的优先级调整
/etc/nsswitch.conf
38 #hosts: db files nisplus nis dns
39 hosts: files dns ##files代表本地解析文件,dns代表dns服务器,在前面的优先级高
dhcp服务的配置
在desktop上执行:
yum install dhcp -y ##进行下载安装
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf ##进入配置文件
7 option domain-name "example.com"
8 option domain-name-servers 172.25.7.254
删除 27,28 行
修改 30 行为:
subent 172.25.7.0 netmask 255.255.255.0 {
range 172.25.7.100 172.25.7.200; ##设置ip池
option routers 172.25.7.254
}
删除后面的行
执行:systemctl start dhcpd
systemctl enable dhcpd
在server上执行:
将 “vim /etc/sysconfig/network-scripts/ifcfg-网卡配置文件” 中的 "BOOTPROTO=dhcp"
systemctl restart network ##重启网络
ifconfig ##查看ip
在desktop中执行:cat /var/lib/dhcpd/dhcpd.leases ##与上面的server的ip作对比
#############################
########第十单元.系统日志######
#############################
1.系统日志默认分类
/var/log/messages ##系统服务及日志,包括服务的信息,报错
/var/log/secure ##系统认证信息日志
/var/log/maillog ##系统邮件服务信息
/var/log/cron ##系统定时任务信息
/var/log/boot.log ##系统启动信息
######2.日志管理服务 rsyslog ######
1.rsyslog 负责采集日志和分类存放日志
2.rsyslog 日志分类
vim /etc/rsyslog.conf ##主配置文件
服务.日志级别 /存放文件的位置
*.* /var/log/westos
systemctl restart rsyslog.service
#####格式#####
日志设备(类型).(连接符号)日志级别 日志处理方式(action)
#######1.日志设备(或为日志类型)#####
auth ##pam产生的日志
aythpriv ##ssh,ftp等登录信息的验证信息
cron ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy,unix主机之间相关的通讯
local 1~7 ##自定义的日志设备
####日志级别#####
debug ##有调试信息的,日志信息最多
info ##一般信息的日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告错误
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
@@注意: 从上到下,级别从底到高,记录的信息越来越少
详细信息可以查看手册:man 3 syslog
#####连接符号#####
.xxx:表示大于等于xxx级别的信息
.=xxx:表示等于xxx级别的信息
.!xxx:表示除xxx外的等级的信息
######实例######
1.记录到普通文件或设备文件
*.* /var/log/file.log ##绝对路径
*.* /dev/pts/0
测试:logger -p local3.info 'KadeFor is testing the rsyslog and logger ' loggger命令用于产生
2.发送给用户(需要在线才能收到)
*.* root
*.* root,kadefor,up01 ##使用","分隔多个用户
*.* * ##"*"代表所有在线用户
3.忽略,丢弃
local3.* ~ ##忽略所有local3类型的所有级别的日志
4.执行脚本::
local3.* ^/tmp/a.sh ##"^"号后跟可执行脚本或程序的绝对路径
##日志内容可以作为脚本的第一个参数
##可用来触发报警
#####2.日志同步#####
systemctl stop firewalld ##关闭防火墙(两个都要虚拟机都要执行)
vim /etc/rsyslog.conf ##主配置文件
配置日志发送方
*.* @172.25.7.11 ##通过udp协议把日志发送到11主机,@udp,@@tcp
配置日志接受方
15 $ModLoad imudp ##日志接收插件
16 $UDPServerRun 514 ##日志接收插件使用端口
netstat -antuple | grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:* 0 17873 478/rsyslogd
udp6 0 0 :::514 :::* 0 17874 478/rsyslogd
> /var/log/messages ##两个虚拟机都做
systemctl restart rsyslog.service ##两个虚拟机都做
logger test messages ##日志发送方
tail -f /var/log/messages ##日志接收方
######日志采集格式######
$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% ##显示时间
%FROMHOST-IP% ##显示ip
%syslogtag% ##
%msg% ##
\n ##换行
$ActionfileDefaultTemplate WESTOS ##默认
*.info;mail.none;authpriv.none;cron.none /var/log/messages;<WESTOS>
#######3.日志分析工具journal######
systemd-journald ##进程名称
jourenalctl ##直接执行,浏览系统日志
-n 3 ##显示最新3条
-p err ##显示报错
-f ##监控日志
--since --until ##--since "[YYYY-MM-DD] [hh:mm:ss]" 从什么时候到什么时候内的日志信息
-o verbose ##显示日志能够使用的详细进程参数
##_SYSTEMD_UNIT=sshd.server服务名称
##_PID=1182进程pid
对systemd-journald管理
##默认情况下此程序会忽略重启前的日志信息,如不忽略(执行以下命令):
[root@desktop7 ~]# chown root:systemd-journal /var/log/journal
[root@desktop7 ~]# chmod 2755 /var/log/journal
[root@desktop7 ~]# killall -1 systemd-journald
[root@desktop7 ~]# ls /var/log/journal/
946cb0e817ea4adb916183df8c4fc817
此后重启,会发现从建立上述文件后,所有的日志都会被记录(包括重启前的)
########十五单元.系统虚拟管理#######
########1.安装#######
#!/bin/bash(脚本编写)
virt-install \
--name $1 \
--ram 1000 \
--file /var/lib/libvirt/p_w_picpaths/$1.img \
--file-size 8 \
--cdrom /home/kiosk/Desktop/rhel-server-7.1-x86_64-dvd.iso &
@@注意:换行符"\"不能有任何符号,特别是“空格”
######2.管理#########
virt-manager ##开启图形管理工具
virt-viewer ##显示虚拟机,vmname表示虚拟机名称
virsh list ##列出正在运行的vm
virsh list --all ##列出所有vm
virsh start vmname ##运行指定vm
virsh shutdown vmname ##正常关闭指定vm
virsh destroy vmname ##强行结束指定vm
virsh create vmname.xml ##临时恢复指定vm,vmname表示前端管理文件
virsh define vmname.xml ##永久恢复vm
virsh undefine vmname.xml ##删除vm的前端管理,不会删除存储
#####3.虚拟机快照#####
qemu-img create -f qcwo2 -b vm2.qcwo2 node1.qcow2
@@此处注意"\"后不能有任何符号
1 #!/bin/bash
2 echo poweroff $1 ...
3 virsh destroy $1 &> /dev/null
4 echo del $1.xml ...
5 virsh undefine $1 &> /dev/null
6 echo create disk ...
7 qemu-img create -f qcow2 -b /var/lib/libvirt/p_w_picpaths/$1.qcow2 /var/lib/libvir t/p_w_picpaths/$2.qcow2 &> /dev/null
8 echo create $1 vm ...
9 virt-install \
10 --name $2 \
11 --ram 1000 \
12 --disk /var/lib/libvirt/p_w_picpaths/$2.qcow2 \
13 --import &> /dev/null &
14 echo Successful!
编写虚拟机的执行脚本
@@此处注意"\"后不能有任何符号
1 #!/bin/bash
2 case "$1" in
3 reset) /重置
4 virsh destroy $2 &> /dev/null
5 virsh undefine $2 &> /dev/null
6 qemu-img create -f qcow2 -b /var/lib/libvirt/p_w_picpaths/nn.qcow2 /var/lib/libvirt/p_w_picpaths/$2.qcow2 &> /dev/null
7 virt-install \
8 --name $2 \
9 --ram 1000 \
10 --disk /var/lib/libvirt/p_w_picpaths/$2.qcow2 \
11 --import &> /dev/null &
12 echo successful!
13 ;;
14 shutdown) /正常关闭
15 echo shutdown ...
16 virsh shutdown $2 &> /dev/null
17 ;;
18 poweroff | destroy) /强行关闭
19 echo Powering off $2
20 virsh destroy $2 &> /dev/null
21 ;;
22 start) /启动
23 echo starting ...
24 virsh start $2 &> /dev/null
25 ;;
26 view) /进入视图界面
27 echo Waitting for a momount ....
28 virt-viewer $2 &> /dev/null &
29 ;;
30 set) /建立
31 qemu-img create -f qcow2 -b /var/lib/libvirt/p_w_picpaths/nn.qcow2 /var/lib/libvirt/p_w_picpaths/$2.qcow2 &> /dev/null
32 virt-install \
33 --name $2 \
34 --ram 1000 \
35 --disk /var/lib/libvirt/p_w_picpaths/$2.qcow2 \
36 --import &> /dev/null &
37 echo set successful!
38 ;;
39 *)
40 echo Error:can not found... "Please input reset|set|start|poweroff|shutdown after xuniji.sh"
41 ;;
42 esac