目录:
https(mod_ssl) 邮件(postfix) parted(GPT分区) 虚拟内存(SWAP) 链路聚合(teamdctl) 防火墙端口转发(port) 查看占用空间(du) 软硬连接(ln快捷方式) 打包(zip) 源码包编译安装 RAID磁盘阵列(day18) 进程管理(ps……) 运行模式(mul , gra)
重点掌握: DNS服务 PXE网络装机
命令:
1. mkswap 、 swapon 虚拟内存
2. parted 、 mktable 、 mkpart 、 unit 创建GPT分区
3. nmcli ……………… 链路聚合
4. zip [-r] [包].zip [被打包的文件或目录]…………
unzip [包].zip -d [解压路径]
5. createrepo [存储RPM包的目录] ----> 建立yum仓库
6. make 、 make install 、 ./configure 编译安装
7. wc -l ---> 统计文本行数
8. ps 、 pstree 、 top 、 pgrep 、 who 、 jobs 、 bg 、 fg 、 kill 进程管理
9. journalctl 、 tailf 日志
常见协议
协议 | 含义 | 端口 |
http | 超文本传输协议 | 80 |
https | 安全的超文本传输协议 | 443 |
ftp | 文件传输协议 | 21 |
tftp | 简单的文件传输协议 | 69 |
dns | 域名解析协议 | 53 |
smtp | 发邮件协议 | 25 |
pop3 | 收邮件协议 | 110 |
snmp | 网络管理协议 | 161 |
telnet | 远程管理协议 | 23 |
目录结构
/boot | 存放系统引导必需的文件,包括内核、启动配置 |
/bin、/sbin | 存放各种命令程序 |
/dev | 存放硬盘、键盘、鼠标、光驱等各种设备文件 |
/etc | 存放Linux系统及各种程序的配置文件 |
/root、/home/ | 用户名 分别是管理员root、普通用户的默认家目录 |
/var | 存放日志文件、邮箱目录等经常变化的文件 |
/proc | 存放内存中的映射数据,不占用磁盘 |
/tmp | 存放系统运行过程中使用的一些临时文件 |
https 安全web 构建
1.装包 mod_ssl
2.部署 网站证书、根证书 :/etc/pki/tls/certs/
私钥 : /etc/pki/tls/private/
3.修改配置文件 /etc/httpd/conf.d/ssl.conf 59-60、100、107、122行
4.重启httpd服务
邮件服务
1.装包 postfix
2.配置 /etc/postfix/main.cf
3.起服务 systemctl restart postfix
发邮件 echo '[邮件内容]' | mail -s '[邮件标题]' -r [发件人] [收件人]
收邮件 main -u [用户]
分区
1.LVM逻辑卷 ---> week2
2.MBR 3+n个分区 ---> fdisk ---> day12
3.GPT n个分区 ---> parted
mktable gpt 指定分区类型
mkpart 创建分区
unit GB 用GB做单位
虚拟内存
一般文件类型格式化、使用方法为:
mkfs.[文件类型] [分区]
mount ---> 挂载使用
df -h ---> 查看挂载信息
开机自动挂载: [存储路径] [挂载点] [文件类型] defaults 0 0
虚拟内存:
mkswap [分区]
swapon [存储路径] ---> 启用
swapon -s ---> 查看启用情况
开机自动挂载: [存储路径] swap swap defaults 0 0
链路聚合
1. 创建一个作为聚合点的虚拟网卡 : 最后配置那里可以参考 man teamd.conf
nmcli connection add type team con-name team0 ifname team0 autoconnect yes config '{"runner": {"name": "activebackup"}}'
2. 加入成员
nmcli connection add type team-slave con-name team0-1 ifname eth1 master team0
3. 配置IP
nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.1.1/24 connection.autoconnect yes
4. 激活,每个网卡都要激活
nmcli connection up team0
nmcli connection up team0-1
teamdctl team0 state #专业查看team0的命令
防火墙: week 3
public trusted block drop
firewall-cmd --set-default-zone=[]
firewall-cmd --get-default-zone
firewall-cmd --zone=[] --add-service= 加服务
firewall-cmd --zone=public --add-forward-port=port=[客户请求访问的端口号]:proto=tcp:toport=[转变后的端口号] 端口转发
firewall-cmd --permanent 对防火墙进行永久配置
统计文件占用空间: du -sh (常用)
du -s 统计每个参数占用的空间
du -h 提供一个易读的单位
软硬连接的区别 (day16)
创建软连接 ln -s [原文件] [快捷]
创建硬链接 ln [原文件] [快捷]
zip打包
zip [-r] [包].zip [被打包的文件或目录]…………
unzip [包].zip -d [解压路径]
对比:
tar -[]cf [包] [被打包的文件或目录]…………
tar -xf [包] -C [解压路径]
源码编译安装:
0. 装包 gcc make
1. 解包 解开tar包
2. 配置 ./configure
3. 编译 make
4. 安装 make install
DNS服务器
1.搭建DNS:
装包: bind bind-chroot
配置: 主配置文件/etc/named.conf
地址库文件 /var/named/*
起服务: named
2.多区域DNS, 主配置文件中写多个zone, 每个对应创建一个地址库文件
3.特殊解析:
轮询 : 地址库文件中同样的域名写多次,但是每次解析的IP不一样,第一次有客户段请求解析的时候,DNS会返回第一个IP,第二个来的时候会返回第二个,以此类推。
泛域名 : 用通配符*代表地址位
别名 : CNAME
4.子域授权:
在两个服务器上搭建DNS,其中一个是父域,一个是子域,父域中把子域的信息录入
5.递归解析:
默认开启
6.每个Linux 都有个文件/etc/hosts 这文件也可以解析DNS,他解析优先级高于DNS
7.分离解析 让不同用户解析的结果也不一样
8.缓存服务器
DNS服务器的配置文件,总和:
如果是缓存DNS服务器,只有一个主配置文件,没有地址库文件:
options {
directory "/var/named";
forwarders { [缓存服务器查找的DNS服务器,一般是网络中的DNS服务器]; };
};
完整的正常DNS服务器:
/etc/named.conf 主配置文件:
options {
directory "/var/named"; #指定地址库文件存放位置
recursion no; #禁用递归解析,不写的话默认开启
};
acl "[acl名]" { [A的IP1]; [网段 如 192.168.110.0/24]; …………}; #类似变量
view "[名字1]" { #用于分离解析
match-clients { [上面定义过的acl表]; };
zone "[域名1]" IN {
type [master/slaver];
file "[为A解析的库文件名]";
};
zone "[域名2]" IN {
type [master/slaver];
file "[为A解析的库文件名]";
};
};
view "[名字2]" {
match-clients { [B的IP1]; ………… };
zone "[域名1]" IN {
type [master/slaver];
file "[为B解析的库文件名]";
};
zone "[域名2]" IN {
type [master/slaver];
file "[为B解析的库文件名]";
};
};
view "[名字3]" {
match-clients { [any代表所有]; };
zone "[域名1]" IN { #两个zone代表多区域DNS
type [master/slaver];
file "[为其他解析的库文件名]";
};
zone "[域名2]" IN {
type [master/slaver];
file "[为其他解析的库文件名]";
};
};
/var/named/*.zone 相关地址库文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
yzy.com. NS serverA
cool.yzy.com. NS serverB #子域授权和下面一起
serverA A [A服务器的IP]
serverB A [B服务器的IP] # 子域服务器的IP,用于递归查找
www A [web服务器的IP]
www A [web服务器的IP2] #轮询
ftp A [ftp服务器的IP]
abc CNAME www #别名
* A [通用情况下的IP] #泛域名
进程管理(day18)
pstree -a 显示完整的命令行
pstree -p 列出对应PID编号
ps aux 列出正在运行的所有进程,显示的和下面的命令不一样
ps -elf 列出正在运行的所有进程
top 一直查看进程
pgrep -l:输出进程名,而不仅仅是 PID
-U:检索指定用户的进程
-t:检索指定终端的进程
-x:精确匹配完整的进程名
who 查看登录用户信息(还有w、users也可以查看用户登录情况,不过不常用)
命令后面加上 & 执行,表示放入后台执行
执行命令中 ctrl + z 表示命令停止并且放入后台
jobs 查看后台进行信息
bg [编号] 将后台某编号的进程,继续运行
fg [编号] 将后台某编号的进程,恢复到前台运行
kill PID 杀死进程 加上-9表示强制杀死
killall 表杀死相关的所有进程
killall -9 -u [用户] 强制踢出一个用户
日志管理
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
tailf 实时跟踪日志信息 (day18)
分为0-7 一共8个级别 ,3级为错误,3级以上需要重视
journalctl | grep [关键词]
journalctl -u [服务名]
journalctl -n [信息数]
journalctl --since="yyyy-mm-dd HH:MM:SS" --until="yyyy-mm-dd HH:MM:SS"
运行模式
graphical.target :图形模式
multi-user.target:字符模式
当前切换 systemctl isolate ……
永久切换 systemctl set-default ……
PXE 装机 :
dhcp--->tftp--->安装清单--->菜单目录--->rpm包共享--->自动应答
1.DHCP 配置
装包:dhcp
配置:/etc/dhcp/dhcpd.conf
subnet [网段].0 netmask 255.255.255.0 { #分配的网段
range [IP-起点] [IP-终点]; #分配IP地址范围
option domain-name-servers [DNS服务器IP]; #分配的DNS服务器
option routers [网关IP]; #分配的网关地址
default-lease-time 600;
max-lease-time 7200;
}
2.搭建tftp
装包:tftp-server
起服务: tftp
部署 pxelinux.0 文件 :
yum provides */pxelinux.0 #查询仓库中哪个包产生改文件
yum -y install syslinux
rpm -ql syslinux | grep pxelinux.0 #查询安装清单
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #将文件拷贝到tftp下
部署菜单文件 : /var/lib/tftpboot/pxelinux.cfg/default
部署菜单文件中需要的模块
图形的模块 vesamenu.c32
背景图片 splash.png
启动内核 initrd.img
驱动程序 vmlinuz
修改菜单文件: (day19)
3.搭建web或者ftp共享
4.自动问答
装包:system-config-kickstart
修改本地yum源:把标识修改为[development]
运行:system-config-kickstart
利用web或者ftp共享应答文件
修改菜单文件指定应答文件
菜单文件核心模块:
label linux
menu label Install RHEL7 #菜单选项显示内容
menu default #读秒结束默认选择
kernel vmlinuz #加载内核
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg #加载驱动,指定问答文件