Linux_services
🗞️ 返回专题页
Ftp
1. 介绍
一、 FTP工作原理:
FTP(File Transfer Protocol)大大的简化了文件传输的复杂性,它能够使文件通过网络从一台主机传送到另一个主机,却不受其计算机和操作系统类型的限制。
使用 FTP 来传输时,其实是具有一定程度的危险性,因为数据在因特网上面是完全没有受到保护的明文传输方式。
二、 FTP工作模式:
FTP服务有两种工作模式:主动传输模式和被动传输模式
2. 常见
linux下常见ftp服务器:
- vsftpd (Very Secure FTP Daemon):
- Vsftpd是Linux系统中最流行的FTP服务器之一,它的目标是提供一个安全可靠的FTP服务器。
- 它支持虚拟用户、SSL/TLS加密传输等特性。
- ProFTPd:
- ProFTPd是一个成熟稳定的FTP服务器,支持虚拟用户、SSL/TLS加密传输、动态模块加载等特性。
- Pure-FTPd:
- Pure-FTPd是一个轻量级、安全可靠的FTP服务器,支持虚拟用户、SSL/TLS加密传输、限速、IP过滤等特性。
- FileZilla Server:
- FileZilla Server是一个免费的FTP服务器软件,支持虚拟用户、SSL/TLS加密传输、UTF-8编码等特性,具有简单易用的界面。
- CrushFTP:
- CrushFTP是一个商业级FTP服务器软件,支持虚拟用户、SSL/TLS加密传输、限速、WebDAV等特性,具有丰富的功能和高度可配置性。
3. 端口
FTP在Linux中默认使用的端口是21。
FTP使用两个端口来完成其操作:
- 端口21用于建立控制连接,主要用于传输控制信息,如登录、浏览目录、文件传输命令等;
- 端口20用于文件数据的传输,实际的文件上传和下载操作都是通过这个端口完成
Samba
1. 介绍
Samba 是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件
SMB(Server Message block)协议是window下所使用的文件共享协议,我们在linux系统或者其类unix系统当中可以通过samba服务来实现SMB功能。
Samba 拥有两个主服务(相关服务),对于一般使用的服务他只有一个主服务:
- smbd (提供 samba 核心功能也是使用最多的一种功能) 提供文件及打印共享服务功能,使用 139、445 端口
- nmbd 提供 Netbios(解析协议慢慢的被淘汰)支持,使用 137、138 端口,而对于这种协议使用较少,现在都是 dns 进行解析
一般作为文件共享使用 samba, 则只需要 smbd 服务
2. 端口
Samba 使用以下端口:
- UDP 137
- UDP 138
- TCP 139 - NetBIOS 会话服务
- TCP 445 - 直接 TCP/IP CIFS
Dns
1. 介绍
DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与 IP 地址的对应关系,以便为客户程序提供正向或者反向的地址查询服务,及正向解析和反向解析
◆ 正向解析:根据主机名称(域名,如www.baidu.com)查找对应的 IP 地址
◆ 反向解析:(一般维护的时候使用)根据 IP 地址查找对应的主机域名
| 部分 | 解释 |
|---|---|
| . | 根域名 |
| Com.Cn | 顶级域名 |
| Sina | 二级域名 |
| Www | 主机位 |
2. 常见
常用 DNS 服务器软件对比,如下:
Bind (Berkeley Internet Name Domain): 是最常见且广泛使用的 DNS 服务器软件之一,它具有强大的功能和灵活性,支持各种操作系统。然而,由于其复杂性,需要一定的技术知识来配置和管理。
Dnsmasq: 是一个轻量级的 DNS 转发器和 DHCP 服务器,适用于小型网络环境。它易于设置和使用,但功能相对较少。
VhDNS: 是一个现代化易使用的 DNS 服务器软件,注重操作便利性和安全性。可视化 WEB 操作,一键安装部署
PowerDNS: 是另一个流行的 DNS 服务器软件,它的主要特点是高性能和可扩展性。它支持多种数据库后端,并提供了丰富的 API 和插件系统。
Unbound: 是一个开源的递归 DNS 解析器,被认为是快速和安全的选择。它专注于提供最佳的解析性能,并提供了一些高级功能,如 DNSSEC 支持和反向 DNS 功能。
Knot DNS: 是一个现代化的高性能 DNS 服务器软件,注重可扩展性和安全性。它支持 DNSSEC、动态更新和可插拔的存储后端。
WdDNS: 是一个现代化的高性能,易操作的 DNS 服务器软件,注重操作便利性和安全性。它支持 WEB 界面操作管理,一键安装部署,多机分布式部署
以上只是一些常见的 DNS 服务器软件,具体选择应根据您的需求和环境来决定。每个软件都有其独特的优势和适用场景,可以根据性能、安全性、易用性等因素进行比较和评估。
对于权威解析,BIND,PowerDNS,wdDNS 这些都是不错的选择,对于内网或网关 DNS,dnsmasq,vhdns 也很好用
3. 解析类型

4. 端口
DNS 端口为 TCP/UDP:53 端口
Telnet
1. 介绍
Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
在终端使用者的电脑上使用 telnet 程序,用它连接到服务器。终端使用者可以在 telnet 程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。
要开始一个 telnet 会话,必须输入用户名和密码来登录服务器。Telnet 是常用的远程控制 Web 服务器的方法。
2. 隐患
开启 Telnet 服务的安全隐患:
虽然 Telnet 较为简单实用也很方便,但是在格外注重安全的现代网络技术中,Telnet 并不被重用。
Telnet 是一个明文传送协议
它将用户的所有内容,包括用户名和密码都明文在互联网上传送,具有一定的安全隐患,因此许多服务器都会选择禁用 Telnet 服务。如果我们要使用 Telnet 的远程登录,使用前应在远端服务器上检查并设置允许 Telnet 服务的功能。
三、开始 Telnet 服务操作方法
如果确实想用 Telnet 来连接服务的话,首先需要在服务器上确定是否安装了 telnet-server 和 xinetd (telnet 服务需要依赖它来完成)。
3. 软件
如果确实想用Telnet来连接服务的话,首先需要在服务器上确定是否安装了telnet-server和 Xinetd (telnet服务需要依赖它来完成)。
Xinetd 即 extended internet daemon,xinetd 是新一代的网络守护进程服务程序,又叫超级 Internet 服务器。经常用来管理多种轻量级 Internet 服务。Telnet 服务就是通过 xinetd 服务来管理的,所以在安装 telnet 服务之前需要先安装 xinetd 服务。
4. 端口
Telnet 端口为 TCP:23 端口
Nginx
1. 介绍
1.1 什么是 Nginx
- Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
- 英文主页:http://nginx.net
1.2 Nginx 作为 web 服务器
- Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。
- Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。
1.3 正向代理
- 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,下面来解释一下什么叫正向代理:
- 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们!

1.4 反向代理
- 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

反向代理,"它代理的是服务端",主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。
- 反向代理的作用:
- 保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网
- 负载均衡,通过反向代理服务器来优化网站的负载
1.5 负载均衡
- 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。
- 这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成本也低。但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题,那么如何解决这种情况呢?
- 我们首先想到的可能是升级服务器的配置,比如提高 CPU 执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能满足日益提升的需求了。最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的。那么怎么办呢?
- 上面的分析我们去掉了增加服务器物理配置来解决问题的办法,也就是说纵向解决问题的办法行不通了,那么横向增加服务器的数量呢?这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

1.6 动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
2. 平台
Nginx的跨平台的,因此,在任何平台都是可以下载的。
3. 端口
Nginx 默认端口:80