邮件服务端口
| 服务 | 端口 |
|---|---|
| SMTP | 25 |
| POP3 | 110 |
/etc/inetd.conf|/etc/lilo.conf|/etc/httpd/conf/httpd.conf|/etc/httpd/conf/access.conf
| 配置文件路径 | 功能描述 |
|---|---|
/etc/inetd.conf |
TCP/IP服务配置文件,用于管理inetd守护进程监控的服务,包括添加、删除或修改网络服务的监听、协议、端口、用户和程序路径等信息。 |
/etc/lilo.conf |
Linux LILO引导加载器配置文件,用于设置系统启动时的内核加载选项、引导设备、默认操作系统选择等引导相关的参数。 |
/etc/httpd/conf/httpd.conf |
Apache HTTP Web服务器的主配置文件,用于配置服务器的核心设置,如监听端口、虚拟主机、模块加载、全局配置等。 |
/etc/httpd/conf/access.conf |
在某些Apache配置中,此文件(或类似功能的文件)包含了Web服务器中与安全和用户访问控制相关的设置,如访问权限、认证方法、URL重写规则、目录访问限制等。 |
注意:在现代Apache HTTP服务器配置中,访问控制相关的设置可能分布在httpd.conf主配置文件以及/etc/httpd/conf.d/目录下的多个配置文件中,而非集中在单独的access.conf文件中。具体情况会根据Apache的版本和配置方式有所不同。
/etc/inetd.conf和/etc/xinetd.conf
/etc/inetd.conf 和 /etc/xinetd.conf 是在类Unix操作系统(包括Linux)中用来配置系统守护进程以提供网络服务的配置文件,主要服务于网络服务的管理和安全控制。
/etc/inetd.conf:
- 这个文件是传统Internet超级服务器(inetd,Internet Daemon)的配置文件,inetd是一种服务守护进程,它可以监听多个网络端口并在接收到相应请求时启动相应的服务进程。在早期的Linux系统中,许多网络服务如FTP、Telnet、TFTP等是由inetd统一管理的,而不是作为独立的守护进程运行。在
/etc/inetd.conf文件中,每一行定义了一个由inetd监听并控制的服务,包括服务类型、使用的协议、监听的端口号、执行的服务程序以及相关的参数。/etc/xinetd.conf:
xinetd是 inetd 的一个增强版本,称为eXtended Internet Services Daemon。它同样是一个超级服务器,但提供了更强大的功能,如访问控制、服务限制、资源保护等,以提高系统的安全性。/etc/xinetd.conf是 xinetd 的主配置文件,它包含了全局设置和可能的默认规则。此外,xinetd 支持子配置文件,这些文件通常放在/etc/xinetd.d/目录下,每一个服务对应一个单独的配置文件,允许更细致的服务管理。在现代Linux系统中,由于安全性和管理方便性的考虑,许多系统已经不再使用传统的 inetd,而是采用 xinetd 或者直接启动独立服务的方式取代。因此,在较新的Linux发行版中,你可能只会看到
/etc/xinetd.conf或者/etc/xinetd.d/目录下的服务配置文件,而不是/etc/inetd.conf。当然,具体取决于所使用的Linux版本及其默认配置。
/etc/httpd目录(Apache)
在Linux系统中,/etc/httpd 目录通常是Apache HTTP服务器的主要配置目录。Apache HTTP服务器是开源的、跨平台的Web服务器软件,用于发布和托管网页内容。这个目录中包含了一系列与Apache服务器配置、管理和运行相关的文件和子目录:
/etc/httpd/conf/httpd.conf:
- 这是Apache服务器的主配置文件,用于设置服务器的基本配置,包括监听的端口、DocumentRoot(网页根目录)、虚拟主机设置、模块加载、全局设置等。
/etc/httpd/conf.d/:
- 这个目录包含了一系列
.conf结尾的文件,这些文件会被Apache读取并合并到主配置之中。这种模块化的设计使得用户可以按需添加、修改或删除特定服务的配置,而不必直接编辑主配置文件。
- 这个目录包含了一系列
/etc/httpd/conf.modules.d/(在某些系统和Apache版本中):
- 在一些现代的Apache发行版中,模块配置可能被进一步分解到这个目录下的多个文件中,便于管理和维护模块相关的配置。
/etc/httpd/logs:
- 虽然不是所有系统都将日志文件放在
/etc/httpd目录下,但在某些安装中,Apache产生的访问日志(access_log)和错误日志(error_log)可能存储在这里或者符号链接到这里的某个位置。
- 虽然不是所有系统都将日志文件放在
/etc/httpd/sites-available 和 /etc/httpd/sites-enabled(在某些Debian/Ubuntu系统中):
- 这两个目录用于虚拟主机的配置管理,其中
sites-available存放所有虚拟主机的配置模板,而sites-enabled存放实际启用的虚拟主机链接。
- 这两个目录用于虚拟主机的配置管理,其中
其他子目录和文件:
- 还可能包含证书文件、SSL配置、安全配置、服务器证书和密钥文件等相关内容。
总的来说,/etc/httpd目录扮演着核心角色,负责管理Apache HTTP服务器的各种配置和资源,确保服务器按照系统管理员的意图正确、安全地提供Web服务。
/etc/nginx目录(Nginx)
/etc/nginx 目录在Linux系统中是Nginx Web服务器的主要配置目录。Nginx是一个高性能、高并发的HTTP和反向代理服务器,也可用作IMAP/POP3/SMTP代理服务器。以下是/etc/nginx目录中通常包含的文件和子目录及其用途:
nginx.conf:
- 这是Nginx的主配置文件,包含了全局配置参数、事件处理器、HTTP服务器块、HTTP上下文、邮件代理服务器配置等。它定义了Nginx如何运行以及如何处理和转发请求。
conf.d/:
- 这个目录通常用来存放额外的配置文件,它们会通过
nginx.conf中的include指令包含进来,以模块化的方式扩展和管理Nginx的配置。比如,各个站点的虚拟主机配置文件通常保存在这里,文件名可能是default.conf(默认配置)或者其他以.conf结尾的文件。
- 这个目录通常用来存放额外的配置文件,它们会通过
sites-available/ 和 sites-enabled/
- 在某些Linux发行版中,特别是Debian和Ubuntu,虚拟主机的配置文件会被放置在
sites-available目录中,而实际启用的服务通过符号链接指向sites-enabled目录。这种方式有助于管理和切换不同的虚拟主机配置。
- 在某些Linux发行版中,特别是Debian和Ubuntu,虚拟主机的配置文件会被放置在
fastcgi_params, uwsgi_params, scgi_params 等参数文件:
- 这些文件包含了FastCGI、uWSGI和SCGI代理传递给后端服务的通用参数集合,可以被虚拟主机配置引用。
mime.types:
- 此文件定义了不同类型的文件与MIME类型的映射关系,Nginx根据这个文件来确定如何处理不同类型的静态文件。
ssl/ 或 certs/:
- 这个目录可能存放SSL证书和私钥文件,用于HTTPS加密通信的支持。
snippets/(在某些配置中):
- 有时会有一个
snippets目录,用于存放通用配置片段,这些片段可以在其他配置文件中包含,以便复用和组织。
- 有时会有一个
通过编辑和管理/etc/nginx目录下的这些文件,系统管理员可以配置Nginx服务器的各项功能,包括但不限于:设置监听端口、配置虚拟主机、设置SSL/TLS安全连接、代理请求到后端服务器、设置缓存策略以及日志记录等。
启动http服务的2种方式
启动http服务有两种方式,两种命令分别是:
/etc/rc.d/init.d/httpd startservice httpd start
多种命令判断DNS解析是否正常
| 命令 | 能否判断DNS解析是否正常 |
|---|---|
| ping | 可以根据是否能得到对应lP地址来判断DNS解析是否正常 |
| tracert | 可以根据是否能得到对应lP地址来判断DNS解析是否正常 |
| nslookup | nslookup是用来诊断DNS基础结构信息的命令 |
| netstat | 无法判断DNS解析是否正常 |
防火墙的DNAT功能
防火墙的DNAT(Destination Network Address Translation,目标网络地址转换)功能主要用于改变进入防火墙的数据包的目的IP地址和/或端口号。这一功能使得外部网络能够访问位于内部网络上的服务,即使这些服务的原始IP地址和端口对于外部网络是不可达的。
在具体的网络场景中,DNAT的工作流程大致如下:
应用场景:
- 当一个外部用户尝试访问一个公开的IP地址(通常是防火墙的公共接口IP)上的特定服务时,实际上这个公开IP地址并不是真正提供服务的内部服务器的IP地址。
- DNAT在此时起作用,它将在防火墙处对数据包的目标地址(IP和/或端口)进行转换,将原本指向防火墙的请求重定向到内部网络上的某台服务器的实际私有IP地址及对应端口。
工作原理:
- DNAT发生在数据包处理过程中的“PREROUTING”链阶段,在数据包到达其原始目的地(即防火墙本身)之前就进行了转换。
- 在DNAT规则生效时,防火墙会查找与其规则匹配的数据包,并将数据包的目标IP地址替换为内部服务器的私有IP地址,同时可选地更改目标端口号,以便正确路由至内部服务器提供的服务。
实例:
- 例如,你可以配置一个DNAT规则,将所有指向防火墙公共IP地址的HTTP流量(端口80)重定向到内部Web服务器的私有IP地址(如192.168.1.100)的相同端口。
- 这样,外部用户仍然可以通过外部可见的IP地址访问到内部网络上的Web服务,而他们甚至不会意识到他们实际上是连接到了一个内部服务器。
安全性和记录:
- DNAT规则也可以结合安全策略一起使用,确保只有合法的服务请求被转换并允许进入内部网络。
- 一些高级防火墙还提供了日志记录功能,可以记录每次DNAT转换的过程,这对于故障排查和审计非常有用。
总之,DNAT是实现企业或个人网络外部访问内部资源的一种重要手段,它通过隐藏内部网络结构增强了安全性,并且能够在有限的公网IP资源条件下充分利用私有IP地址空间来托管多台服务器或多种服务。
防火墙ACL配置命令
iptables -A input -p tcp -s 192.168.0.2 -destination -port 22 -j DENY这个命令试图在iptables防火墙中添加一条新的规则,但是格式上有错误,正确的写法应该是:
1 | iptables -A INPUT -p tcp -s 192.168.0.2 --dport 22 -j DROP |
纠正后的命令含义如下:
-A INPUT: 这表示在INPUT链(处理流入本机的数据包)的末尾追加一条新规则。-p tcp: 指定这条规则适用于TCP协议的数据包。-s 192.168.0.2: 源IP地址匹配的是192.168.0.2,这意味着只有来自这个特定IP地址的数据包才会受到此规则的影响。--dport 22: 指定目标端口号为22,即只针对目标端口为22(通常对应SSH服务)的数据包。-j DROP: 动作(jump)为DROP,这意味着符合条件的数据包将被直接丢弃,不会被传递到其后的规则或者最终的目的地,从而有效地阻止了来自192.168.0.2的TCP流量到达本机的SSH服务。
总结:该命令的作用是拒绝或阻止从IP地址192.168.0.2发起,且目标端口为22的所有TCP连接。
DNS的客户端的查询顺序和DNS相关配置文件
DNS的默认查询顺序是:DNS缓存 -> 本地HOSTS文件 -> DNS服务
器。
| 文件 | DNS解析时功能 |
|---|---|
| /etc/hostname | 系统主机名文件,用来配置本机的主机名称即命令行@符号之后的名字 |
| etc/hosts | 本地主机的DNS解析数据库(客户端) 包含IP地址和主机名之间的映射,还包含主机别名 |
| /etc/host.conf | 可以配置修改先查找本地hosts还是DNS服务的顺序 |
| /etc/resolv.conf | DNS客户端的主配置文件 Resolver 是 DNS 客户端的一部分,是操作系统内置的域名解析机制 客户端解析配置文件,用于配置解析时的DNS服务器地址及先后顺序,类似windows中的主备域名服务器的配置 |
| /etc/named.conf | 是DNS服务端软件BIND的主配置文件/etc/named.conf 是在基于 Linux 的操作系统中,当 BIND (Berkeley Internet Name Domain) DNS 服务器软件被安装后的主要配置文件。BIND 是世界上最常用的域名解析系统 (DNS) 软件,用于提供域名到 IP 地址转换的服务以及存储区域文件和其他 DNS 相关数据。 |
cat/more/less对比
| 命令 | 功能描述 |
|---|---|
cat |
一次性连续输出文件内容,适合查看较小的文本文件,不支持分页浏览 |
more |
分页查看文件内容,按空格键翻页,回车键逐行前进,还可以使用其他快捷键(如 ‘q’ 退出查看) |
less |
类似 more,但提供更多功能,支持光标向上或向下滚动查看,支持搜索关键字,还可以前后翻页。用户界面更加友好,更适合查看大文件 |
ls常用选项
| 选项 | 功能描述 |
|---|---|
-a |
列出目录下的所有文件,包括以.开头的隐藏文件。 |
-b |
把文件名中不可输出的字符(如控制字符)用反斜杠\加字符编号的形式列出。 |
-c |
输出文件或目录的i节点(inode)的修改时间,并按照i节点更改时间排序(在某些系统中可能不支持)。 |
-d |
将目录像文件一样显示,仅显示目录本身的属性而不显示其下的文件和子目录。 |
查看路由表的命令
| Windows系统 | route print netstat -r |
| Linux系统 | ip route show netstat -rn route -n(较旧的系统) cat /proc/net/route(查看系统内核路由表) |
| 华为 | display ip routing-table |
| 思科 | shou ip route |