龙空技术网

RHCE 300分的学习笔记

神小威 1113

前言:

眼前各位老铁们对“redhat链路聚合”大体比较讲究,我们都想要知道一些“redhat链路聚合”的相关资讯。那么小编在网上收集了一些关于“redhat链路聚合””的相关资讯,希望小伙伴们能喜欢,咱们快快来学习一下吧!

考试时间:2020年7月份

考试地点:武汉

考试成绩:300分

300分成绩截图

以下是复学笔记,供参考,如有问题和建议,欢迎留言!

RHCE复习笔记

隐含条件:YUM仓库已经配置,IP也已经配置

若无法使用ssh远程,说明防火墙限制了ssh登陆

# firewall-cmd --list-all

# firewall-cmd --add-service=ssh 让防火墙对ssh服务放行

## firewall-cmd --add-service=ssh --permanent 让防火墙对ssh服务永久放行

第一题:配置Selinux

:vim /etc/sysconfig/selinux

改为enforcing

:wq!

:setenforce 1 //在system1和system2上都做一次

:getenforce

第二题:配置对SSH的限制

# vim /etc/hosts.allow

sshd : .example.com

# vim /etc/hosts.deny

sshd : .my133t.org //在system1和system2上都做一次

//可以增加对SSH的规则:(man firewalld.richlanguage example4 )

: firewall-cmd --list-all

: firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.17.10.0/24" service name="ssh" reject' --permanent

: firewall-cmd --reload

: firewall-cmd --list-all

第三题:配置IPV6地址

:nmcli connection modify eth0 ipv6.addresses fddb:fe2a:ab1e::c0a8:1/64 ipv6.method manual connection.autoconnect yes

:nmcli connection up eth0 //在system1和system2上都做一次,注意两段ipv6地址不一样,也可以是:nmcli connection up eth0

用server0来测试:if

# ping6 fddb:fe2a:ab1e::c0a8:2 //server0是1,desktop是2注意下

#ping desktop0

第四题:配置链路聚合

//man nmcli-examples|grep team

// man teamd.conf | grep backup

#nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

//config后面这个在模板中可以找到:man teamd.conf里,查找example,按N下一个,找到

"runner": {"name": "activebackup"}这个参数复制过来,即可,

参考命令:man nmcli-examples | grep team |grep \\$ man teamd.conf | grep backup

# nmcli connection modify team0 ipv4.addresses 192.168.0.101/24 ipv4.method manual connection.autoconnect yes

#nmcli connection add type team-slave con-name team0-s1 ifname eth1 master team0

#nmcli connection add type team-slave con-name team0-s2 ifname eth2 master team0

# nmcli connection modify team0-s1 connection.autoconnect yes

# nmcli connection modify team0-s2 connection.autoconnect yes

# nmcli connection show 查看一下

然后在desktop上做一样的操作

测试:

在server上ping desktop的链路地址,一直ping

在desktop上:

# teamdctl team0 state 查看当前状态是几网卡

#nmcli connection down team0-s1 //team0-s1是eth1网卡的意思

查看server0上ping是否断掉,没有断则正常

最后把team0-s1再正常启动起来,up一下。

第五题:自定义用户环境

#vim /etc/profile

alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'

#source /etc/profile

#qstat 测试一下

//也可以使用vim /etc/bashrc,使用profile在desktop0上执行source命令时候可能会报错,但是对bashrc则不会。

第六题,配置本地邮件服务

:# vim /etc/postfix/main.cf

切换到最后一行找到下面这个路径

readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES

新开一个端口切换进去

#cd /usr/share/doc/postfix-2.10.1/README_FILES

# vim STANDARD_CONFIGURATION_README 编辑STAN 用tab补齐

进去后输入 /null 找到下面几个配置

3 myorigin = $mydomain

4 relayhost = $mydomain

5 inet_interfaces = loopback-only

6 mydestination =

复制到/etc/postfix/main.cf的最下面,

继续在配置文件中寻找 /local ,找到下面这行

5 local_transport = error:local mail delivery is disabled 也复制过去,然后在/etc/postfix/main.cf中修改:

myorigin = example.com 修改这个域

relayhost = [classroom.example.com] 还有这个,其他不用动,记得加个中括号

inet_interfaces = loopback-only

mydestination =

local_transport = error:local mail delivery is disabled

mynetworks = 127.0.0.0/8 [::1]/128 额外添加一个网卡配置,不容易报错

:wq! 保存退出

记得两边都做一下,可以直接将这5条配置复制过去,不用修改,配置一样

#systemctl restart postfix

#systemctl enable postfix

# firewall-cmd --add-service=smtp

# firewall-cmd --add-service=smtp --permanent 最好防火墙放行一下,以免出问题

测试:

#mail -s test student@server0.example.com 这个test是邮件名称

test

test2 这两个test是随便写的邮件 按CTRL+D结束写入。

# less /var/log/maillog 查看一下,按END键,在最后面能看到这个邮件就行了。

第七题:配置端口转发,只在server0

需要用防火墙的负规则来写

#man -k rich 这个用来找富规则的模板,若找不到,使用#mandb命令更新一下,即可!

firewalld.richlanguage (5) - Rich Language Documentation

# man firewalld.richlanguage //输入example找模板,找到端口转发的模板,应该是标识为 example 5的这一行!

将模板复制

#firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.25.0.0/24" forward-port to-port="80" protocol="tcp" port="5423"'

注意 改成ipv4,题目要求的,还有用’单引号’将模板标识起来

# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.25.0.0/24" forward-port to-port="80" protocol="tcp" port="5423"' --permanent

切记设置成自动重启的

第八题:设置samba

简单分为6步骤

1、安装服务,samba,samba-client,2、创建所需要的用户和目录,3、修改配置、4,启动服务并设置开机自启,5,设置防火墙通行,6,客户端检测

# yum -y install samba samba-client

# useradd -s /sbin/nologin rob

# smbpasswd -a rob

# mkdir /common

# semanage fcontext -a -t samba_share_t '/common(/.*)?' 更改成这个share_t类型 ,才可以访问这个目录

# getsebool -a | grep samba_e 找到这个路径

# setsebool -P samba_export_all_rw 1 -P是永久生效,1是开机自启,此步骤需要等待

# restorecon -v /common/ 查看一下,由原来的default改成了samba_share_t了

# vim /etc/samba/smb.conf

workgroup = STAFF 修改工作组, 可以直接搜索group

[common] 模板可以切换到配置文件最下面,有模板。

path = /common

browseable = yes

hosts allow = 172.25.0.0/24

# systemctl enable smb nmb

# systemctl restart smb nmb

# firewall-cmd --add-service=samba --permanent

# firewall-cmd --add-service=samba

测试:在desktop上操作

# yum -y install cifs-utils.x86_64 samba-client.x86_64

# smbclient -L //server0/common -U rob%redhat

# mkdir /tmp/common 创建一个挂载点

# mount //server0/common /tmp/common/ -o username=rob,password=redhat 测试挂载一下

# touch /tmp/common/test 创建一个文件试试,创建失败为正确,因为题目要求没有写权限

# umount /tmp/common/ 取消挂载 ,完成

注://建议要保证用户和desktop一致,以下操作可选

101 grep STAFF /etc/group

102 groupadd -r STAFF

103 id rob

104 useradd -u 1002 rob -s /sbin/nologin

105 usermod -G STAFF rob

106 mkdir /common

107 chown :STAFF -R /common/

108 chmod 2775 /common/

第九题:samba多用户

注://对齐用户和组设置,注意客户端和服务端要保持所属的ID和组一致(usermod,groupmod通过1003过渡修改)

[root@server0 ~]# id brian

id: brian: no such user

[root@server0 ~]# useradd -u 1001 -s /sbin/nologin -G STAFF brian

# mkdir /devops

# useradd -s /sbin/nologin brian

# smbpasswd -a brian

# setfacl -m u:brian:rwx /devops/

# semanage fcontext -l|grep devops

# semanage fcontext -a -t samba_share_t '/devops(/.*)?'

# restorecon -v /devops/

# vim /etc/samba/smb.conf 在最后面添加下面参数

[devops]

path = /devops

browseable = yes

write list = brian

hosts allow = 172.25.0.0/24

# systemctl restart smb nmb

接着在Desktop上操作。

# mkdir /mnt/multiuser 最好先下载samba-client 和cifs这软件 ,以免挂载不上

在server上yum下载cifs-untils文件,需要用到配置文件

# yum -y install cifs-utils.x86_64

# man mount.cifs

输出/crede 找下面这个模板

username=value

password=value

domain=value

切换回desktop

# vim /root/smb

username=rob

password=redhat

domain=STAFF

# vim /etc/fstab 其中需要的一些模板都在server上的 man mount.cifs 可以找到

//server0/devops /mnt/multiuser cifs credentials=/root/smb,sec=ntlmssp,_netdev,multiuser 0 0

#mount -a

在desktop上面测试

# su - rob

$ cifscreds add server0

$ touch /mnt/multiuser/sss

$ logout

# su - brian

$ cifscreds add server0

$ touch /mnt/multiuser/sss

$ logout

# chmod 400 /root/smb 测试,rob下不能创建,brian可以创建就是成功了

第十题:配置NFS服务

# yum -y install nfs-utils

# mkdir -p /protected/project

# mkdir /public

# chown -R ldapuser0 /protected/project

# vim /etc/exports

/public *.example.com(ro,sec=sys)

/protected *.example.com(rw,sec=krb5p,sync)

# systemctl enable nfs-server.service nfs-secure-server.service

# wget -O /etc/krb5.keytab 大写哦

# klist -k /etc/krb5.keytab 查看一下

# vim /etc/sysconfig/nfs

RPCNFSDARGS="-V 4.2" 在这一行添加 -V 4.2 ,直接在双引号中添加即可

# systemctl restart nfs-server.service nfs-secure-server.service

# firewall-cmd --add-service=nfs

# firewall-cmd --add-service=nfs --permanent

# firewall-cmd --add-service=rpc-bind --permanent

# firewall-cmd --add-service=rpc-bind

# firewall-cmd --add-service=mountd

# firewall-cmd --add-service=mountd --permanent

在desktop0上查看

# showmount -e server0

# su - ldapuser0

# kinit server0

# touch test

第十一题:客户端挂载NFS

# vim /etc/chrony.conf 确认时间同步

server classroom.example.com iburst

# systemctl restart chronyd.service

# systemctl enable chronyd

一般都是默认安装的

//在desktop0上:

# mkdir -p /mnt/nfsmount /mnt/nfssecure

# wget -O /etc/krb5.keytab

# klist -k /etc/krb5.keytab

# systemctl enable nfs-secure

# systemctl start nfs-secure.service

# vim /etc/fstab

server0.example.com:/public /mnt/nfsmount nfs sec=sys 0 0

server0.example.com:/protected /mnt/nfssecure nfs sec=krb5p,v4.2 0 0

# mount -a

# findmnt /mnt/nfsmount

# findmnt /mnt/nfssecure

# su - ldapuser0

$ kinit 密码是kerberos

#df -Th 看到两个目录都挂载上就是对了

//如果mount有问题,可能是时钟同步的问题,server和desktop都做一下。

第十二题:实现一个web服务器

# yum -y install httpd mod_ssl mod_wsgi 安装所需要的安装包

httpd是web,mod_ssl是安全web,mod_wsgi是动态web

# wget -O /var/www/html/index.html

# cat /var/www/html/index.html

<h1 style="color:blue"> server0.example.com</h1>

# vim /etc/httpd/conf.d/vhost-server0.conf

新开一个server0端口,找模板

# vim /etc/httpd/conf.d/ssl.conf 输入 /Vir 找到后面带着443的这个模板,

# vim /etc/httpd/conf/httpd.conf 然后在这个里面继续找模板,搜索Directory,找到这个目录

<VirtualHost _default_:80> 修改443端口为80端口

DocumentRoot /var/www/html 最好去掉引号。实际有没有 无所谓

ServerName server0.example.com

<Directory /var/www/html> 这改成指定目录

Require host example.com 这也要改一下

Require all denied

</Directory>

</VirtualHost>

:wq!

#systemctl restart httpd

#systemctl enable httpd

#firewall-cmd --add-service=http

#firewall-cmd --add-service=https

#firewall-cmd --add-service=http --permanent

#firewall-cmd --add-service=https --permanent

# curl

第十三题:配置安全web服务

再开一个server端,方便配置

# vim /etc/httpd/conf.d/ssl.conf 就这样开着不用动,千万别动

在另外一个server端操作

# cat /etc/httpd/conf.d/vhost-server0.conf > /etc/httpd/conf.d/server0-ssl.conf

这里是方便模板cp。删除一些没用的,其他的从SSL开始 都是在另外那个打开配置文件的server端里面去找模板复制

# vim /etc/httpd/conf.d/server0-ssl.conf

<VirtualHost _default_:443>

DocumentRoot /var/www/html

ServerName server0.example.com

SSLEngine on 从这开始找模板

SSLProtocol all -SSLv2 -SSLv3 多加一个v3

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

SSLHonorCipherOrder on

SSLCertificateFile /etc/pki/tls/certs/server0.crt 结尾的名字和题目上模板名字一样,比较方便

SSLCertificateKeyFile /etc/pki/tls/private/server0.key

SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt

</VirtualHost>

:wq!

# cat /etc/httpd/conf.d/server0-ssl.conf

# wget -O /etc/pki/tls/certs/server0.crt

# wget -O /etc/pki/tls/private/server0.key

# wget -O /etc/pki/tls/certs/example-ca.crt

# chmod 600 /etc/pki/tls/private/server0.key

# systemctl restart httpd

验证:

[root@desktop0 ~]# curl -k

<h1 style="color:blue"> server0.example.com</h1>

显示出来就表示成功了

第十四题:配置虚拟主机

#mkdir /var/www/virtual

#wget -O /var/www/virtual/index.html

#useradd floyd

#setfacl -m u:floyd:rwx /var/www/virtual/

#vim /etc/httpd/conf.d/vhost-www0.conf

<VirtualHost _default_:80>

DocumentRoot /var/www/virtual

ServerName www0.example.com

<Directory /var/www/virtual>

Require all granted

</Directory>

</VirtualHost>

#systemctl restart httpd.service

#curl

能出来就对了

第十五题:配置web内容的访问

# mkdir /var/www/html/private

# wget -O /var/www/html/private/index.html

# vim /etc/httpd/conf.d/vhost-server0.conf

添加下面这些

<Directory /var/www/html/private>

Require all denied

Require local

</Directory>

# systemctl restart httpd

测试:

[root@server0 ~]# curl

[root@desktop0 ~]# curl

考试时候不确定是server0做还是www做,所以尽量都做一遍,就把上面3条命令中的html都改为virtual就可以,编辑中的html也改成virtual,重启一下httpd就可以。

第十六题:配置动态web

# mkdir -p /var/www/webapp

# wget -O /var/www/webapp/webinfo.wsgi

# cat /var/www/webapp/webinfo.wsgi

# semanage port -l | grep http

# semanage port -a -t http_port_t -p tcp 8908 //需要一定时间

# firewall-cmd --add-port=8908/tcp

# firewall-cmd --add-port=8908/tcp --permanent

# cat /etc/httpd/conf.d/vhost-server0.conf > /etc/httpd/conf.d/webapp.conf

# vim /etc/httpd/conf.d/webapp.conf

Listen 8908

<VirtualHost _default_:8908>

ServerName webapp0.example.com

WSGIScriptAlias / /var/www/webapp/webinfo.wsgi

</VirtualHost>

# systemctl restart httpd

# curl 只要出结果就对,或者网页firefox也访问一下,刷新几次,显示结果不同就是对了

第十七题:创建/root/foo.sh脚本

# vim /root/foo.sh

#!/bin/bash

case $1 in

redhat)

echo "fedora"

;;

fedora)

echo "redhat"

;;

*)

echo "/root/foo.sh redhat|fedora"

;;

esac

# chmod 755 /root/foo.sh

测试:

# /root/foo.sh

/root/foo.sh redhat|fedora

# /root/foo.sh redhat

fedora

# /root/foo.sh fedora

redhat

第十八题:多用户创建脚本

:vim /root/batchusers

#!/bin/bash

if [ $# -eq 0 ];then

echo "Usage: /root/batusers userfile"

exit 1

elif [ ! -e $1 ];then

echo "Input file not found"

exit 2

else

for name in $(cat $1);

do

useradd -s /bin/false $name

echo redhat | passwd --stdin $name

done

fi

# chmod +x /root/batchusers

#wget

#cat /root/userlist 看看有没有用户名,有就是下载对了

验证:

#/root/batchusers

Usage: /root/batusers userfile

#/root/batchusers /root/user 这是个不存在的文件

Input file not found

#/root/batchusers /root/userlist 显示一大堆success就行了

第19题:配置iscsi服务端

# yum -y install targetcli.noarch

# fdisk /dev/vdb 考试应该只有vda一块盘,道理一样

n-p- +4G-t-8e-w

# partprobe

# vgcreate iscsi_store /dev/vdb1

# lvcreate -L 3G -n iscsi_store iscsi_store

# targetcli

/> ls

/> /backstores/block create iscsi_store /dev/iscsi_store/iscsi_store

/> ls

/> /iscsi create iqn.2014-11.com.example:server0

/> ls

/> cd iscsi/iqn.2014-11.com.example:server0/tpg1/

/> ls

/iscsi/iqn.20...:server0/tpg1> acls/ create iqn.2014-11.com.example:desktop0

/> ls

/iscsi/iqn.20...:server0/tpg1> luns/ create /backstores/block/iscsi_store

/> ls

/iscsi/iqn.20...:server0/tpg1> portals/ create 172.25.0.11

/> ls

/iscsi/iqn.20...:server0/tpg1> cd /

/> saveconfig

/> exit

# systemctl enable target.service

# systemctl start target.service

#firewall-cmd --add-port=3260/tcp

#firewall-cmd --add-port=3260/tcp --permanent

第20题:iscsi客户端发现

# yum -y install iscsi-initiator-utils.i686 //安装服务需要一定时间

# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2014-11.com.example:desktop0 //这个iqn一定要和服务端的那个iqn一模一样,不然会出大问题

# systemctl enable iscsi

# systemctl start iscsi

# systemctl enable iscsid

# systemctl restart iscsid

# iscsiadm -m discovery -t st -p server0.example.com

172.25.0.11:3260,1 iqn.2014-11.com.example:server0 发现成功 //可以通过man iscsiadm /example来查找命令

# iscsiadm -m node -T iqn.2014-11.com.example:server0 -l 显示success为登陆成功,如果不显示,也是成功

# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 3G 0 disk 能看到sda就对了

#mkdir /mnt/data

# fdisk /dev/sda

n-回车-回车- +2100M -w

# partprobe

# lsblk

# mkfs.ext4 /dev/sda1

# blkid /dev/sda1

/dev/sda1: UUID="dd977546-aa74-4bdf-bab5-ee0ba3f6b85d" TYPE="ext4"

# vim /etc/fstab

UUID="dd977546-aa74-4bdf-bab5-ee0ba3f6b85d" /mnt/data ext4 _netdev 0 0

#mount -a

#systemctl enable iscsi

#systemctl restart iscsi

#systemctl enable iscsid

#systemctl restart iscsid

# df -Th

如果重启不了

第一方法:

先把客户端关机,再把服务端重启一下,然后再启动客户端

第二方法

重启如果起不来,进入grub界面,和破解密码一样,在#chroot /sysroot之后,进入vim /etc/fstab后把iscsi自动挂载注释后重启。

重启后再次进行发现,登陆,lsblk,能看到挂载上来就不管了。自动挂载的注释就注释吧

第二十一题:部署数据库

# yum -y install mariadb*

# systemctl enable mariadb.service

# systemctl start mariadb.service

# firewall-cmd --add-service=mysql

# firewall-cmd --add-service=mysql --permanent

# mysql_secure_installation

回车>Y>输入题目要求的密码>全部是Y就行了

# vim /etc/my.cnf

插入一行

skip-networking=1

# systemctl restart mariadb.service

# wget

# mysql -uroot -proot_password

> create database legacy;

> show databases;

>quit

# mysql -uroot -proot_password legacy < mariadb.dump

# mysql -uroot -proot_password

MariaDB [(none)]> use legacy;

MariaDB [legacy]> show tables;

> grant select on legacy.* to mary@'%' identified by 'mary_password';

> grant select,insert,update,delete on legacy.* to legacy@'%' identified by 'legacy_password';

> grant select on legacy.* to report@'%' identified by 'report_password';

%可以换成:localhost,如:

> grant select on legacy.* to mary@'localhost' identified by 'mary_password';

第二十二题:数据查询

MariaDB [legacy]> show tables;

MariaDB [legacy]> select * from product;

MariaDB [legacy]> select id,name from product where name='RT-AC68U';

这样会查看到数值id,然后登陆网址,将数值写上去。

MariaDB [legacy]> select * from category;

可以看到servers对应id是多少,此处对应是2

> select sum(stock) from product where id_category=2;

将数值填写即可完成

小贴士

最后先将客户端关机,关机后直接重启服务端 等服务端起来 先systemctl status nfs 先看nfs状态

等nfs状态起来后,在启动客户端

//查看日志 vim /var/logs/message 或者 tail /var.logs/message -n 40

//常见操作命令:dd 删除一行,ESC + U 撤销,G 定位到末尾

//重启操作:server 和 desktop 都用 init 6,init 6 会 保存一些系统状态

标签: #redhat链路聚合