前言:
眼前各位老铁们对“redhat链路聚合”大体比较讲究,我们都想要知道一些“redhat链路聚合”的相关资讯。那么小编在网上收集了一些关于“redhat链路聚合””的相关资讯,希望小伙伴们能喜欢,咱们快快来学习一下吧!考试时间:2020年7月份
考试地点:武汉
考试成绩: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链路聚合