RHCE——DNS域名解析服务器、selinux、防火墙

1DNS简介

DNS Domain Name System )是互联网上的一项服务,它作为将域名和 IP 地址相互映射的一个分布式
数据库,能够使人更方便的访问互联网。
DNS 系统使用的是网络的查询,那么自然需要有监听的 port DNS 使用的是 53 端口,
/etc/services (搜索 domain )这个文件中能看到。通常 DNS 是以 UDP 这个较快速的数据传输协议来查
询的,但是没有查询到完整的信息时,就会再次以 TCP 这个协议来重新查询。所以启动 DNS 时,会同时
启动 TCP 以及 UDP port53
1 )因特网的域名结构
由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在
因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名 (domain name) ”(domain)
名字空间中一个可被管理的划分。
域名只是逻辑概念,并不代表计算机所在的物理地点。域名可分为三大类:
国家顶级域名:采用 ISO3166 的规定。如: cn 代表中国, us 代表美国, uk 代表英国,等等。国家域
名又常记为 ccTLD(country code top-level domains cc 表示国家代码 contry-code)
通用顶级域名:最常见的通用顶级域名有 7 个,即: com( 公司企业 ) net( 网络服务机构 ) org( 非营
利组织 ) int( 国际组织 ) gov( 美国的政府部门 ) mil( 美国的军事部门 )
基础结构域名 (infrastructure domain) :这种顶级域名只有一个,即 arpa ,用于反向域名解析,因
此称为反向域名。
2 )域名服务器的类型划分
根据域名服务器起的作用,可以把域名服务器划分为以下类型:
根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。
顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。
权限域名服务器:负责一个 的域名服务器。
本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当
一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。
主从 DNS 服务器:为了提高域名服务器的可靠性, DNS 域名服务器都把数据复制到几个域名服务器
来保存,其中的一个就是主 DNS 服务器( Master name server ),负责解析至少一个域。
缓存 DNS 服务器:不负责解析域,只是缓存域名解析的结果。

2DNS域名解析的过程

DNS 解析方式
正向解析:将 FQDN----->IP
反向解析:将 IP----->FQDN

3DNS服务器配置

搭建主从dns服务器实现正反向解析

主服务器IP地址:192.168.177.135/24
从服务器IP地址:192.168.177.132/24
主服务器:
1,关闭防火墙及selinux,并下载软件包:bind
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# yum install bind

2.修改配置文件:vim /etc/name.conf

(注意直接找到对应位置修改里面的信息即可)
3.创建资料解析数据文件 vim /var/named/named.baidu

vim /var/named/named.192

4重新启动服务systemctl restart named及本地测试:

从服务器:
1,关闭防火墙及selinux,并下载软件包:bind

[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# yum install bind

2.修改配置文件:vim /etc/name.conf

3.重启服务:systemctl restart named
4.测试:

1selinux的说明

SELinux Security-Enhanced Linux 的缩写,意思是安全强化的 linux
2 selinux 的工作原理
SELinux 是通过 MAC 的方式来控制管理进程,它控制的主体是进程,而目标则是该进程能否读取的文件
资源。
主体( subject ):就是进程
目标( object ):被主体访问的资源,可以是文件、目录、端口等。
策略( policy ):由于进程与文件数量庞大,因此 SELinux 会依据某些服务来制定基本的访问安全策略。
这些策略内还会有详细的规则( rule )来指定不同的服务开放某些资源的访问与否。目前主要的策略
有:
targeted :针对网络服务限制较多,针对本机限制较少,是默认的策略;
strict :完整的 SELinux 限制,限制方面较为严格。
安全上下文( security context ):主体能不能访问目标除了策略指定外,主体与目标的安全上下文必须
一致才能够顺利访问。
最终文件的成功访问还是与文件系统的 rwx 权限设置有关 。
#查看文件的安全上下文
[root@localhost ~]# ls -Z
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 home
[root@localhost ~]# ll -Zd /usr/sbin/httpd /var/www/html/
-rwxr-xr-x. root root system_u:object_r:httpd_exec_t:s0 /usr/sbin/httpd
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
以上两个文件的角色字段都是object_r,代表都是文件,/usr/sbin/httpd属于httpd_exec_t类
型,/var/www/html/则属于httpd_sys_content_t类型。

3 selinux 的启动、关闭与查看
1 SELinux 三种模式
enforcing :强制模式,代表 SELinux 正在运行中,开始限制 domain/type
permissive :宽容模式,代表 SELinux 正在运行中,不过仅会有警告信息并不会实际限制
domain /type的访问。
disabled :关闭, SELinux并没有实际运行      
#查看目前的模式
[root@localhost ~]# getenforce
Enforcing
#查看目前的selinux使用的策略
[root@localhost ~]# sestatus
SELinux status: enabled # 是否启用selinux
SELinuxfs mount: /sys/fs/selinux #selinux的相关文件数据挂
载点
SELinux root directory: /etc/selinux
Loaded policy name: targeted #目前的策略
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
#查看selinux的策略:
[root@localhost ~]# vim /etc/selinux/config
改变策略之后需要重新启动;
如果由enforcing或permissive改成disabled,或由disabled改为其它两个,也必须要重新启
动。
将selinux模式在enforcing和permissive之间切换的方法为:
setenforce 0 转换成permissive宽容模式
setenforce 1转换成enforcing强制模式

   

2)修改安全上下文

chcon [-R] [-t type] [-u user] [-r role] 文件
-R:连同该目录下的子目录也同时修改;
-t:后面接安全上下文的类型字段;
-u:后面接身份识别;
-r:后面接角色
chcon [-R] --reference=范例文件 文件 将文件的安全上下文按照范例文件修改
restorecon [-Rv] 文件或目录
-R:连同子目录一起修改;
-v:将过程显示到屏幕上
restorecon怎么会知道每个目录记载的默认selinux type类型呢?因为系统将每个目录的默认
selinux type类型记录在/etc/selinux/targeted/contexts/目录内。但是该目录内有很多不同
的数据,所以我们可以用semanage这个命令的功能来查询与修改。
semanage {login|user|port|interface|fcontext|translation} -l
semanage fcontext -{a|d|m} [-frst] file_spec
-l为查询;
-a:增加一些目录的默认安全上下文的设置;
-m:修改;
-d:删除
4 selinux linux 服务的影响
实验一:使用 web 服务演示安全上下文值的设定
#服务端的IP地址为172.24.8.130,服务端的设置如下:
[root@localhost ~]# systemctl disable firewalld --now
[root@localhost ~]# getenforce
Enforcing
[root@master-dns ~]# cat /etc/nginx/conf.d/test_ip.conf
server{
listen 192.168.168.100:80;
root /www/ip/100;
location / {}
}
server{
listen 192.168.168.200:80;
root /www/ip/200;
location / {}
}
[root@localhost ~]# mkdir -pv /www/ip/{100,200}
[root@localhost ~]# echo this is 100 > /www/ip/100/index.html
[root@localhost ~]# echo this is 200 > /www/ip/200/index.html
[root@localhost ~]# systemctl restart nginx
通过客户端测试,出现403状态码
#修改自定义目录的安全上下文的值:
[root@localhost ~]# chcon -t httpd_sys_content_t /www/ -R
也可以将自定义目录的安全上下文的值按照/var/www/html文件修改:
[root@localhost ~]# chcon -R --reference=/usr/share/nginx/html/index.html
/www
修改之后即可成功访问
实验二:使用 web服务端口的改变来演示端口的设定         
[root@localhost ~]# vim /etc/httpd/conf.d/host.conf
[root@master-dns ~]# cat /etc/nginx/conf.d/test_port.conf
server {
listen 192.168.168.153:80;
root /www/port/80;
location / {}
}
server {
listen 192.168.168.153:10000;
root /www/port/10000;
location / {}
}
[root@localhost ~]# mkdir -pv /www/port/{80,10000}
[root@localhost ~]# echo the port is 80 > /www/port/80/index.html
[root@localhost ~]# echo the port is 10000 > /www/port/10000/index.html
[root@master-dns ~]# systemctl restart nginx
#服务重启失败,查看日志
[root@localhost ~]# tail -f /var/log/messages
#添加10000端口为服务端口:
[root@localhost ~]# semanage port -a -t http_port_t -p tcp 10000
[root@master-dns ~]# systemctl restart nginx
[root@master-dns ~]# curl 192.168.168.153:10000
the port is 10000
#测试可以访问成功

第八章 防火墙

1 、什么是防火墙
防火墙:防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包
的进出。
防火墙又可以分为硬件防火墙与软件防火墙。硬件防火墙是由厂商设计好的主机硬件,这台硬件防火墙
的操作系统主要以提供数据包数据的过滤机制为主,并将其他不必要的功能拿掉。软件防火墙就是保护
系统网络安全的一套软件(或称为机制)
防火墙分为iptables和firewalld,9的版本是firewalld,比较以前的版本是iptables
[root@localhost ~]# yum install iptables -y
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl start iptables
[root@server ~]# iptables -F #清空所有的规则表,清空之后客户端可以访问ssh和http服务

iptables 命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成
功, iptables 就会根据策略规则所预设的动作来处理这些流量。
语法格式:iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s
源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

3firewalld

1 firewalld 介绍
iptables service 首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,而如果
配置了需要 reload 内核模块的话,过程背后还会包含卸载和重新加载内核模块的动作,而不幸的是,这
个动作很可能对运行中的系统产生额外的不良影响,特别是在网络非常繁忙的系统中。
如果我们把这种哪怕只修改一条规则也要进行所有规则的重新载入的模式称为静态防火墙的话,那么
firewalld 所提供的模式就可以叫做动态防火墙,它的出现就是为了解决这一问题,任何规则的变更都不
需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新即可 , 它具备对 IPv4 IPv6
火墙设置的支持。
相比于传统的防火墙管理工具, firewalld 支持动态更新技术并加入了区域的概念。区域就是 firewalld
先准备了几套防火墙策略集合(策略模板),用户可以选择不同的集合,从而实现防火墙策略之间的快
速切换。
firewalld 中常见的区域名称(默认为 public )以及相应的策略规则:
firewalld 默认提供的九个 zone 配置文件都保存在 “/usr/lib/firewalld/zones/” 目录下,分别为:
block.xml drop.xml home.xml public.xml work.xml dmz.xml external.xml
internal.xml trusted.xml
RHEL7 中, firewalld 服务是默认的防火墙配置管理工具,他拥有基于 CLI (命令行界面)和基于
GUI (图形用户界面)的两种管理方式。 firewall-config firewall-cmd 是直接编辑 xml 文件,其中
firewall-config 是图形化工具, firewall-cmd 是命令行工具。
安装 firewalld 服务的软件:
[root@localhost ~]# rpm -qa | grep firewall
firewall-config-0.3.9-14.el7.noarch
firewalld-0.3.9-14.el7.noarch

[root@localhost ~]# systemctl stop iptables
[root@localhost ~]# systemctl restart firewalld
[root@localhost ~]# firewall-cmd --help #查看帮助
[root@localhost ~]# firewall-cmd --list-all #查看所有的规则
[root@localhost ~]#firewall-cmd --permanent --add-service=服务名
使用firewalld配置的防火墙策略默认为当前生效,会随着系统的重启而失效。如果想让策略一直存在,
就需要使用永久模式了,即在使用firewall-cmd命令设置防火墙策略时添加--permanent参数,这样
配置的防火墙策略就可以永久生效了,最后想要使用这种方式设置的策略生效,只能重启或者输入命令:
firewall-cmd --reload。
#禁止某个ip地址进行ssh访问,应该写成ip/32
#配置端口转发(在172.24.8.0网段的主机访问该服务器的5423端口将被转发到80端口)
[root@system1 ~]# firewall-cmd --permanent --add-rich-rule='rule
family="ipv4" source address="172.24.8.0/24" forward-port port="5423"
protocol="tcp" toport="80"'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/460176.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用和删除数据库

复习&#xff1a; 1. 查看所有的数据库 show databases; 2. 创建属于自己的数据库 create database 数据库名; create database if not exists 数据库名; create database if not exists 数据库名 character set utf8mb4 | collate utf8mb4_0900_ai_ci; 强烈建议在创建数…

Spring Boot集成iText实现电子签章

文章目录 一 电子签章1.1 什么是电子签章1.2 签名流程1.3 技术选型 二 实战2.1 生成数字证书2.2 生成印章图片2.3 PDF 签名 一 电子签章 1.1 什么是电子签章 基于《中华人民共和国电子签名法》等相关法规和技术规范&#xff0c;具有法律效力的电子签章一定是需要使用 CA 数字…

第5章 中级控件

第 5 章 中级控件 bilibili学习地址 github代码地址 本章介绍App开发常见的几类中级控件的用法&#xff0c;主要包括&#xff1a;如何定制几种简单的图形、如何使用几种选 择按钮、如何高效地输入文本、如何利用对话框获取交互信息等&#xff0c;然后结合本章所学的知识&…

Kubernetes:(四)kubectl命令

文章目录 一、kubectl命令1.查看版本信息 kubectl version2.列出 Kubernetes API 中所有可用的资源及其相关信息 kubectl api-resources3.配置kubectl自动补全 source <(kubectl completion bash)4.查看集群信息 kubectl cluster-info5.node节点查看日志 journalctl -u kube…

互联网人辞职的20条理由,你中了几条?

互联网行业压力大、内卷是众所周知的&#xff0c;想要辞职的念头往往只在一瞬间。 他们想要离职的理由虽然千奇百怪&#xff0c;但每一条都很扎心。 小码在网上搜集了互联网人想要辞职的20条理由&#xff0c;来看看你中了几条吧&#xff1f; 最能戳中你的“辞职理由”是什么呢…

https://huggingface.co/上的模型无法用linux服务器clone怎么办(只需要稍微改一下网址,就可以切换到镜像下载)

问题描述&#xff1a; 在ubuntu系统上&#xff0c;使用如下命令&#xff0c;克隆仓库&#xff0c;报无法访问错误&#xff1a; git clone https://huggingface.co/distilbert/distilroberta-base通用解决方案&#xff1a; 把下面部分更换&#xff1a; https://huggingface.…

使用传感器融合进行3D激光雷达点云运动补偿

此示例展示了如何通过融合来自全球定位系统 (GPS) 和惯性测量单元 (IMU) 传感器的数据来补偿由于自我车辆运动而导致的点云失真。此示例的目标是补偿点云数据中的失真并准确地重新创建周围环境。 文章目录 概述坐标系预处理激光雷达数据预处理 GPS 数据结合 GPS、IMU 和激光雷达…

请看,小白是如何三步速成ComfyUI?

前言 ComfyUI —三步速成秘籍— 嘿&#xff0c;小伙伴们&#xff01; 我是一个刚刚踏入GEO AI实验室的新鲜面孔&#xff0c; 一个对AI设计充满无限好奇的新手。 在这个充满创意和科技感的实验室里&#xff0c; 我只用了短短三个步骤&#xff0c; 就掌握了ComfyUI 。 你…

输电线路火灾隐患监测系统功能与应用是什么?

答&#xff1a;大家好&#xff01;今天我们来聊聊输电线路火灾隐患监测系统TLKS-PMG-DF。这款装置凭借其强大的功能和广泛的应用领域&#xff0c;正在成为电力巡检和山火防控的重要工具。下面&#xff0c;我们就来详细了解一下它的功能与应用吧&#xff01;这款装置配备了先进的…

《高频电子线路》 —— 高频谐振功放

文章内容来源于【中国大学MOOC 华中科技大学通信&#xff08;高频&#xff09;电子线路精品公开课】&#xff0c;此篇文章仅作为笔记分享。 高频谐振功放 主要目的就是功率放大以及高效率。 基本电路原理 高频谐振功放的基本电路&#xff0c;总体上也是由放大管和并联谐振回路…

Java阶段三01

第3章-第1节 一、知识点 maven的简介、安装和使用、仓库管理、项目构建、多模块项目、依赖管理 二、目标 学习了解什么是maven 能够配置maven 使用maven创建项目 掌握maven创建多模块项目的方式 掌握maven的依赖管理和项目构建 三、内容分析 重点 maven的安装和使用 …

【Docker】构建Linux云桌面环境

目录 一、说明 二、离线安装Docker 1&#xff09;将下载的包上传到服务器上去 2&#xff09;安装docker 3) 启动docker 4&#xff09;配置加速器 三、安装云桌面镜像 四、启动云桌面 方式一&#xff1a;docker命令直接运行 方式二&#xff1a;docker-compose方式 五…

【ArcGIS Pro实操第4期】绘制三维地图

【ArcGIS Pro实操第4期】绘制三维地图 ArcGIS Pro绘制三维地图-以DEM高程为例参考 如何使用ArcGIS Pro将栅格数据用三维的形式进行表达&#xff1f;在ArcGIS里可以使用ArcScene来实现&#xff0c;ArcGIS Pro实现原理跟ArcScene一致。由于Esri未来将不再对ArcGIS更新&#xff0c…

“震惊!消费满额即领高额返现,循环购物模式揭秘“

购物满额赠高额返现&#xff0c;每日还能领现金&#xff1f;资金还能提现&#xff1f;这听起来简直像天方夜谭。商家难道真的在无条件发放资金&#xff1f; 大家好&#xff0c;我是电商策略专家吴军。 今天&#xff0c;我要揭秘一种前沿的商业模式——循环消费回馈模式。 这种…

Leetcode 第 420 场周赛题解

Leetcode 第 420 场周赛题解 Leetcode 第 420 场周赛题解题目1&#xff1a;3324. 出现在屏幕上的字符串序列思路代码复杂度分析 题目2&#xff1a;3325. 字符至少出现 K 次的子字符串 I思路代码复杂度分析 题目3&#xff1a;3326. 使数组非递减的最少除法操作次数思路代码复杂度…

Unity3D学习FPS游戏(3)玩家第一人称视角转动和移动

前言&#xff1a;上一篇实现了角色简单的移动控制&#xff0c;但是实际游戏中玩家的视角是可以转动的&#xff0c;并根据转动后视角调整移动正前方。本篇实现玩家第一人称视角转动和移动&#xff0c;觉得有帮助的话可以点赞收藏支持一下&#xff01; 玩家第一人称视角 修复小问…

代码随想录算法训练营第十二天(补) 二叉树| 二叉树理论知识、深度优先遍历、广度优先遍历

目录 一、二叉树理论基础 &#xff08;一&#xff09;二叉树的种类 二叉搜索树 平衡二叉搜索树 &#xff08;二&#xff09;二叉树的存储 &#xff08;三&#xff09;二叉树的遍历 &#xff08;四&#xff09;二叉树的定义 二、二叉树的递归遍历 三、二叉树的层序遍历 …

在线教育系统源码开发详解:网校培训平台搭建的核心技术

本篇文章&#xff0c;笔者将详细介绍在线教育系统源码的开发过程&#xff0c;重点聚焦网校培训平台搭建的核心技术&#xff0c;以期为有意从事在线教育行业的开发者提供实用的参考。 一、在线教育系统的构成 前端负责用户的交互体验&#xff0c;后端处理业务逻辑&#xff0c;…

利士策分享,赚大钱与赚小钱的哲学,选大还是小?

利士策分享&#xff0c;赚大钱与赚小钱的哲学&#xff0c;选大还是小&#xff1f; 在商海浮沉的浪潮中&#xff0c;时常能听到一些业界大佬发表关于财富积累的独到见解。 其中&#xff0c;有一种观点颇为引人注目&#xff0c;那便是“赚大钱比赚小钱容易”。 此言一出&#xf…

【vue】14.插槽:构建可复用组件的关键

今天看代码的时候碰到了插槽&#xff0c;有些看不懂&#xff0c;所以写下这篇文章&#xff0c;系统地梳理一下关于插槽的内容&#xff0c;也希望给大家带来一些帮助。 // 我碰到的插槽长这样 <template #default"scope">... </template> 一.什么是插槽…