大三下学期的Linux实验内容
Yum配置
yum的安装仓库从 /etc/yum.repo.d/ 中的配置文件中读取
注意:
- Base为网络源,Media为挂载的光盘的源,即本地源,yum会先在Base上查找然后在Media上查找(?真是这样也不应该报错才对)
- 删除base后正常,而且我测试了两次,不管是找着谢进的还是默认的(当然enabled改成了1,我没有验证),均删除base后正常
- 博客来源:https://www.jianshu.com/p/be9e93bf1b42
修改网络安全策略
- 关闭防火墙
service iptables stop
- 修改安全策略为不积极
setenforce
DHCP配置
情境
- 直球要求你的这台机器作为DHCP服务器来要求你配置
- 要求客户机能够从你的机器上获取IP地址
步骤
- 查询dhcp的软件包
rpm -qa | grep dhcp
如果只有一个dhcp-common则说明没有安装
使用yum install dhcp (dhcpd?未验证,我忘记我是用d还是没有d安装的了) 来安装dhcp服务
成功后再用查询命令会有两条结果
- 复制dhcp的模板文件到对应目录中
注意!dhcp的配置文件为/etc/dhcp/dhcpd.conf,默认内容为空,而sample文件是放在/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
复制过来然后就能修改了。不做这一步直接service dhcpd start 会失败。然后复制完之后去尝试着启动服务依旧会失败
注意!经过DHCP服务得到的IP地址一定与DHCP主机的IP处于同一段网段
- 配置文件解析
配置文件大概是这个样子
#这里是配置DNS的全局配置,也可以在subnet中修改对应的配置,把第二个换成题目要求的DNS服务器就可以,这里可以不用管 option domain-name example.org; option domain-name-servers ns1.example.org, ns2.example.org # default和max开头的可以不用管,默认即可 # 不更新DDNS的设定,因为好像没有和DNS联动的需要,默认被注释掉了 # ddns-update-style none; # 忽略DNS服务器的更新功能,默认没有 # ignore client-updates; # 重点是配置这里的子网 # 在subnet这里配置子网网段 # 有一个就可以生效,因此把其他的删掉就行 subnet 10.5.5.0 netmask 255.255.255.224 { # 配置分配的范围 range 10.5.5.26 10.5.5.30; # 下面两行是配置DNS,如果全局配置了则下面可以删掉 # option domain-name-servers ns1.internal.example.org; # option domain-name internal.example.org; # 配置网关地址 option routers 10.5.5.1; # 广播地址可以不写 option broadcast-address 10.5.5.31; # 超时时间限制,可以不管 default-lease-time 600; max-lease-time 7200; } # 如果有服务器是固定IP,那么就用下面的强制固定住IP host 主机名 { hardware ethernet 硬件地址 fixed-address IP地址 } }
参考的配置文件,还有要确定网卡的IP地址已经改成了手动,ip为172.16.8.0
option domain-name example.org; # 配置DNS1和DNS2 option domain-name-servers 172.16.8.88, 8.8.8.8; subnet 172.16.8.0 netmask 255.255.255.0 { # 配置分配的范围 range 172.16.8.50 172.16.8.150; # 配置网关地址 option routers 172.16.8.254; # 广播地址可以不写 # option broadcast-address 10.5.5.31; }
如果以上都能配置正确,那么dhcp服务就能启动成功了
配置完成后如果dhcp服务不能启动,检查:
- subnet后的ip地址跟ip需要是同一个网段,最后一位需要是0
- 子网掩码需要配置正确
验证
大概是隔离虚拟网络和物理网络,然后使用客户机来获得主机的DHCP服务,然后用ip addr来查看是否成功
未验证
DNS服务的搭建
情境
- 要求使用特定IP的机器直接搭建DNS服务器
- 要求搭建域名解析服务器
步骤
- 查询Bind软件包是否存在
推荐:rpm -q bind
也可以:rpm -qa | grep bind
一般电脑上只有Bind软件的相关依赖,使用yum install bind-chroot -y来安装软件包
(一般来说使用bind也可以满足需求,但是chroot的相比原版软件,它会将工作空间限定到一个文件夹,从而提高了安全性)
安装完毕后使用services iptables stop关闭防火墙
- 配置文件的相关信息
/etc/named.conf bind软件的全局配置文件,在里面可以修改域声明文件(rfc1912)的相关信息
/etc/namd.rfc1912.zones 域文件的清单文件,需要在里面声明对应的zone文件才能生效...
**对应的域文件是放在var中的! **
/var/named/目录 真正执行功能的文件,分为正向和反向两种
- 配置文件解析
named.conf只需要修改监听多个IP以及开启允许其他IP查询即可
在option里面修改
# 允许监听任意IP地址 listen-on port 53 { any; } # 允许任意IP地址进行查询 allow-query { any; }
namd.rfc1912.zones 文件中都是形如
zone 这里填写域名,例如baidu.com IN { type master; 表示服务器类型,这里master表示主服务器 file baidu.com.zone; 对应的数据库文件,用于解析 allow-update {none;}; };
如果用hys放出来的例题为参考的话,这个配置应该写成
zone xuni.edu.cn IN { type master; file xuni.edu.cn.zone; allow-update {none;}; };
因为题目只有这个要求,所以暂时只写正向解析的例子,反向的只留一个大概的笔记
下一步就是创建对应的数据文件(正向代理或者反向代理的数据文件)
文件保存在/var/named中,并非保存在/etc中
当中有一些模板,可以直接拷贝使用
cp -a named.localhost xuni.edu.cn.zone
-a 的意思是保存之前的用户组
(如果直接复制粘贴的话复制后的文件的所属组就是你的用户组例如root,但是必须是named组才有权限来读写文件)
之后就可以编辑了
# 表示有效时间 $TTL 1D @ IN SOA @{将@替换成你的域名,注意后面一定要加点.} rname.invalid.{你的邮箱,@替换成.,末尾也要加.} ( # 这里是一些配置,不要动 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @{写上域名,记得加点.} A {这里写上域名服务器的IP地址,} AAAA ::1 # 如果你的域名中有邮件主机的话,需要声明MX(邮件转投)记录,加上数字作为优先级,默认10 MX 10 mail.xiaocai.com. mail A IP地址 web A IP地址 ftp A IP地址
还是以那个文件来举例的话,正向解析的文件应该为
# 表示有效时间 $TTL 1D @ IN SOA xuni.edu.cn. 304052687.qq.com. ( # 这里是一些配置,不要动 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS xuni.edu.cn. A 10.1.1.110 AAAA ::1
至此,关于配置文件部分的内容已经完成。
- 修改网卡指定的DNS服务器地址,启动named服务,并用nslookup加网址查看是否成功(我失败了,显示超时)
路由配置
情境
- 直接要求指定机器充当路由器
- 要求不同网段的机器能够相互连接或者访问指定网段上的网站
步骤
通过setup设置的虚拟网卡使得该主机可以同时ping通两个网段的机器,然后修改路由表使得能够ping通对应网段的网卡接受到的数据包能走对应网卡出去,这样就能实现不同网段互联了
使用setup指令设置静态IP并创建多IP,重装网卡使得配置生效,然后修改配置文件是路由转发功能生效,最关闭防火墙、修改策略等,用客户机去ping看是否能连接
谢进能成功ping通三台主机,但是我没成功
todo 什么时候再去试一试
FTP服务
情境
- 要求搭建ftp服务器
- 要求机器之间能够通过网络彼此分享文件
步骤
- 查看ftp服务是否安装
如果没有安装则通过yum来安装vsftp软件包
yum install vsftpd -y
- 关闭防火墙和设置策略不积极,开启ftp服务...
关闭防火墙
service iptables stop
设置策略为不积极
setenforce 0
然后开启服务
service vsftpd start
理论上能ping通的机器应该就能访问你的ftp地址了
我用克隆的虚拟机测试了,没有问题
- vsftpd配置文件解读
默认的配置文件暂时没有修改,加了一条
# 允许匿名用户访问 anonymous_enabled=YES # 自定义匿名用户配置 anon_root=/var/ftp/pub/ anon_upload_enable=YES # 修改客户机不能访问系统目录 chroot_local_user=yes
...不看咯
工作模式(不重要)
主动模式
当客户机向服务器请求ftp服务时,会启用一个随机端口x,与服务器的21端口建立命令 连接,这条通道用来传输命令。
通过该连接,客户机会启动另外一个随机端口y来与服务器的20端口建立数据连接,这条通道用来传输数据。
被动模式
在防火墙启动时主动模式无法正常工作,因为数据连接会被阻塞。被动模式下数据传输两段的端口都是随机的Y和N。
Samba服务器
情境
步骤
- 检测samba的主程序有没有安装
rpm -qa|grep samba
如果只有四个说明只安装课一些库文件没有安装主程序。
使用yum install samba -y 来安装软件包
- 准备samba共享文件夹以及共享文件
随便什么文件都可以,跳过
- samba的配置文件
vim /etc/samba/smb.conf
简单来说分为全局配置和共享资源配置
# 1.全局部分参数设置: [global] #与主机名相关的设置 workgroup = zkhouse <==工作组名称 netbios name = zkserver <==主机名称,跟hostname不是一个概念,在同一个组中,netbios name必须唯一 serverstring = this is a test samba server <==说明性文字,内容无关紧要 #与登录文件有关的设置 log file = /var/log/samba/log.%m <==日志文件的存储文件名,%m代表的是client端Internet主机名,就是hostname max log size = 50 <==日志文件最大的大小为50Kb #与密码相关的设置 security = share <==表示不需要密码,可设置的值为share、user和server passdb backend = tdbsam #打印机加载方式 load printer = no <==不加载打印机 ----------------------------------------------------------- # 2.共享资源设置方面:将旧的注释掉,加入新的 #先取消[homes]、[printers]的项目,添加[temp]项目如下 [temp] <==共享资源名称 comment = Temporary file space <==简单的解释,内容无关紧要 path = /tmp <==实际的共享目录 writable = yes <==设置为可写入 browseable = yes <==可以被所有用户浏览到资源名称, guest ok = yes <==可以让用户随意登录