Linux服务器配置
# Linux服务器配置
# 14. Linux服务器配置
# 14.1. DHCP服务器配置
安装:yum -y install dhcp-server
或者 yum -y install dhcp
,根据系统版本选择。
DHCP服务器的配置文件为:/etc/dhcp/dhcpd.conf
dhcpd服务程序配置文件中常见参数及作用:
标准参数类语句:
ddns-update-style none; # 定义DNS服务动态更新的类型,包括 none(不支持动态更新)、interim(互动更新模式)、ad-hoc(特殊更新模式)
[allow | ignore] client-updates; # 允许/忽略客户端更新DNS记录
default-lease-time [21600]; # 默认租约时间,单位为秒(windows中为天)
max-lease-time [43200]; # 最大租约时间
range; # 定义用于分配的IP地址池
hardware ethernet 08:00:07:26:c0:a5; # 指明物理硬件接口类型和硬件地址。一般常与Fixed-address 语句一起使用实现IP地址的静态绑定。
server-name "toccata.example.com"; # 告知客户端所连接服务器的名字。
fixed-address fantasia.example.com; # 指定一个或多个IP地址给一个DHCP客户,只能出现在host声明里。
2
3
4
5
6
7
8
选项类语句:
option subnet-mask mask; # 子网掩码选项,服务开启后可用于所有客户端。
option broadcast-address IP地址; # 广播地址选项,服务开启后可用于所有客户端。
option routers IP地址; # 网关(路由)地址选项,可设多个。
option domain-name-servers IP地址; # DNS服务器IP地址,可用于所有客户端,可配置多个。
option domain-name "dns.example.com"; # dns服务器域名,可用于所有客户端。
option host-name string; # 给客户指定主机名。
2
3
4
5
6
/etc/dhcp/dhcpd.conf
配置的声明与选项:
ddns-update-style none;
subnet 192.168.1.0 netmask 255.255.255.0 { # 指定DHCP服务器的作用域,作用在哪一个网段(子网网段声明)
option routers 192.168.1.254; # 定义客户端的网关地址
option subnet-mask 255.255.255.0; # 定义客户端的子网掩码
option domain-name "dns.example.com"; # dns服务器域名
option domain-name-servers 192.168.1.1; # dns服务器IP地址
range 192.168.1.10 192.168.1.100; # 地址池分配范围
}
# 为特定的客户端分配IP地址
host fantasia {
hardware ethernet 08:00:07:26:c0:a5; # 指定物理接口和MAC地址
fixed-address 192.168.1.20; # 固定分配的IP地址
}
2
3
4
5
6
7
8
9
10
11
12
13
dhcpd.leases 是DHCP客户租约的数据库文件,默认目录在 /var/lib/dhcpd
,文件包含租约声明,每—次—个租约被获取、更新或释放, 它的新值就会被记录在文件的末端。
lease 192.168.1.10 {
starts 1 2022/10/24 06:42:10; # 租约起始时间
ends 1 2022/10/24 18:42:10; # 租约过期时间
cltt 1 2022/10/24 06:42:10;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:e2:b9:d4; # 获得租约的MAC地址
uid "\001\000\014)\342\271\324"; # ID信息
client-hostname "dhcp-client"; # 获得租约的主机名称
}
2
3
4
5
6
7
8
9
10
11
启动和停止DHCP服务:
service dhcpd [start|stop|restart]
# 14.2. DNS配置
# 14.2.1. DNS客户端配置
/etc/resolv.conf
配置的声明与选项:
# Generated by NetworkManager
search dns.example.com # 当提供了一个不包含完全域名的主机名时,如server,在该主机名后添加dns.example.com的后缀
nameserver 192.168.1.3 # DNS服务器IP地址
order host,bind # DNS解析顺序:本机缓存、host文件、本地DNS服务器
2
3
4
# 14.2.2. DNS服务器配置
安装:yum -y install bind
DNS服务器的配置文件为:/etc/named.conf
//单行注释类型
/*
多行注释
*/
acl acl-name { address_match_list;}; # 定义IP地址列表,用于访问控制或者其他用途
options
{
directory "/var/named"; # 指定服务器的工作目录
listen-on port 53 { any; }; # 监听IPv4的53端口,any表示任意客户端都可以访问
listen-on-v6 port 53 { any;}; # 监听IPv6的53端口,any表示任意客户端都可以访问
allow-query { any; }; # 面向所有源IP提供解析服务
};
view view-name { # 根据客户端的IP地址不同,有区别地返回对域名的查询结果,如内网访问 www.xx.com,如果IP地址段为 192.168.1.0/24,则返回ip地址为 192.168.3.120,如果外网访问www.xx.com,则返回ip地址为 47.94.195.139
match-clients { localhost; }; # 匹配的客户端,根据上文ACL去控制,any表示所有
zone "." IN { # "." 代表根区域
type hint; # hint 代表根域名服务器
file "/var/named/named.ca"; # 对应的区域文件
};
zone "xiaoliutalk.cn" IN { # 正向查找区域,实现域名到IP地址的映射
type master; # master 为主域名(权威)服务器,type设置成slave,表示此服务器为辅助域名服务器,type设置成forward,表示此服务器为转发域名服务器。
file "/var/named/xiaoliutalk.cn.zone";# 对应的区域文件
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN { # 这个IP需要反着写(192.168.1.100):1.168.192
type master;
file "/var/named/192.168.1.loopback";
allow-update { none; };
};
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
根服务器文件named.ca:/var/named/named.ca
是—个非常重要的文件,该文件包含了 Internet 的根域名服务器名称和对应的IP地址, Bind接到客户端主机查询请求时, 如果在Cache 中找不到相应的数据, 就会通过根服务器进行逐级查询。
如果文件内容有误, 客户端将在向自身缓存无法完成IP地址的解析。named.ca 文件可以通过 Internet 进行下载。
正向查找配置:
区(zone)文件配置:
在指定的目录下创建zone文件名称 xiaoliutalk.cn.zone
内容如下。
// 域名记录的默认TTL值
$TTL 86400
// SOA 代表权威域名服务器,可以指出权威域名服务器地址,以及管理员邮件地址,邮件格式为manager@xiaoliutalk.cn,但是这样写会报错,所以把@修改成 .
@ IN SOA dns.xiaoliutalk.cn. manager.xiaoliutalk.cn. (
1 ;Serial
3h ;Refresh after 3 hours
1h ;Retry after 1 hour
1w ;Expire after 1 week
1h) ;Negative caching TTL of 1 hour
;
// 添加域名服务器记录:域名服务器又称为NS记录,在区域文件中用千设置当前区域的DNS服务器名称,“@”符号在区域文件中代表默认的域( 当前域)
@ IN NS dns.xiaoliutalk.cn.
;
;server domain
;
// A记录
dns 3600 IN A 192.168.1.3
www 300 IN A 192.168.1.3
// CNAME记录
a 20 IN CNAME www
mail 300 IN A 192.168.1.3
;
;mail server
;
// 添加邮件交换记录:邮件交换记录又称MX记录,用于设置在当前区域中提供邮件服务的服务器名称。
@ 3600 IN MX 10 mail
;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
反向查找配置:
在指定的目录下创建文件名称 192.168.1.loopback
内容如下。
$TTL 86400
// SOA 代表权威域名服务器,可以指出权威域名服务器地址,以及管理员邮件地址,邮件格式为manager@xiaoliutalk.cn,但是这样写会报错,所以把@修改成 .
@ IN SOA dns.xiaoliutalk.cn. manager.xiaoliutalk.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
// 当前区域的DNS服务器名称
NS dns.xiaoliutalk.cn.
// PTR记录为IP地址到域名的映射关系,只用写IP地址最后一段(即第四段)
100 PTR ftp1.xiaoliutalk.cn.
101 PTR ftp2.xiaoliutalk.cn.
102 PTR ftp3.xiaoliutalk.cn.
2
3
4
5
6
7
8
9
10
11
12
13
14
配置DNS均衡负载功能:
在企业网中需要使用三台内容相同的FTP 服务器共同承担客户对网站的访问, 他们的IP地址分别对应192.168.1.21 、192.168.1.22和192.168.1.23。现只要在DNS 服务器的区域文件中加入以下三条A记录,就可以实现三台FTP服务器的网络负载均衡功能。
ftp IN A 192.168.1.21
ftp IN A 192.168.1.22
ftp IN A 192.168.1.23
2
3
启动和停止DNS服务:
service named [start|stop|restart]
# 14.3. Samba服务器配置
Smbd : 提供对服务器中文件、打印资源的共享访问。 Nmbd :提供基于NetBIOS的主机名解析, 通过NetBIOS协议, 利用共享的端口号实现文件信息的传输及共享。例: 445端口 注: Samba 可以提供跨系统的文件、打印共享服务,不同系统之间可通过Samba服务器对文件、打印机的相互访问。
安装:yum -y install samba
Samba服务器的配置文件为:/etc/samba/smb.conf
smb.conf
文件有三个重要部分:
- 全局参数字段(global):主机共享时的整体设置, 例如允许哪些主机访问共享资源或哪些主机可以进行资源共享。
- 目录共享字段(homes):该部分为用户目录共享设置, 设置对应 samba 用户宿主目录的默认共享,即当前用户访问服务器中域自己用户名相同的共享文件夹时, 会默认映射到自己的宿主目录。
- 打印机共享字段(printers):打印机的配置和共享。例如允许哪些主机使用打印机等。
[global]
# 共享级别(模式):
# user:需要用户名和密码,账号密码由本机验证。
# Share:共享不需要用户名和密码,所有主机可访问。
# server:服务器需要用户名和密码,账号密码由另一台服务器验证。
# domain:服务器需要用户名和密码,账号密码由域服务器验证。
# 安全级别: domain > server > user > Share
security = [user|share|server|domain]
netbios name = MYSERVER # 主机名称
workgroup = MYGROUP # 可自行设定工作组,WORKGROUP组
server string = Samba Server Version %v # 主机描述信息
hosts allow = 127. 192.168.12. 192.168.13. # 允许访问服务器的主机IP地址范围,如只允许一台主机,写IP地址即可。
[homes]
comment = Home Directories # 共享目录信息描述
browseable = No # 是否可以被浏览
read only = No # 是否只读
create mask = 0755 # 与Linux权限相同,新创建文件默认权限值
directory mask = 0755 # 与Linux权限相同,新创建目录默认权限值
[printers]
comment = All Printers # 打印机描述,All Printers指网络中所有打印机
path = /var/tmp
valid users = jack,@root # 指定用户可使用打印机,目前为管理员和JACK
browseable = No # 是否可以被浏览
guest ok = Yes # 访客是否允许使用打印机,等同于 public = Yes
writable = Yes # 打印机资源是否允许被写入,等同于 read only = No
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Samba用户管理:
useradd smb_user1 # 添加用户信息
password smb_user1 # 添加对应用户密码
smbpasswd -a smb_user1 # 将用户与密码与Samba服务器关联
more /etc/samba/smbpasswd # 查看smbpasswd 文件中用户信息
2
3
4
启动和停止Samba服务:
service smb [start|stop|restart]
# 14.4. FTP服务器配置
安装:yum -y install vsftpd
FTP服务器的配置文件为:/etc/vsftpd/vsftpd.conf
listen=NO # 是否以独立模式(standalone)运行监听FTP服务
listen_address=192.168.1.3 # 设置被监听的IP地址
listen_port=21 # 设置监听FTP服务的端口号
write_enable=YES # 是否启用写入权限
download_enable=YES # 是否允许下载文件
userlist_enable=YES # 是否启用user_list列表文件
userlist_deny=YES # 是否禁用user_list中的用户
max_clients=0 # 限制客户端并发连接数
max_per_ip=0 # 限制同一IP地址的并发连接数
anonymous_enable=YES # 是否启用匿名访问
local_enable=YES # 是否启用本地用户
2
3
4
5
6
7
8
9
10
11
user_list 文件:user_list 文件具有对 vsftpd 服务器很灵活的用户访问控制,绝对路径是 /etc/vsftpd/user_list
,使用 user_list 需要在主配置文件中配置。
# 设置禁止user_list文件中的用户登录(黑名单)
userlist_enable=YES
userlist_deny=YES
# 设置只允许user_list文件中的用户登录(白名单)
userlist_enable=YES
userlist_deny=NO
2
3
4
5
6
启动和停止Samba服务:
service vsftpd [start|stop|restart]
# 14.5. Apache服务器配置
安装:yum -y install httpd
Apache服务器的配置文件为:/etc/httpd/conf/httpd.conf
httpd.conf 中的全局配置:
ServerRoot "/etc/httpd" # 设置Apache服务器的根(Root) 目录
ServerAdmin root@localhost # 设置Apache服务器管理员的email地址
ServerName localhost # 设置Apache服务器的主机名
DocumentRoot "/var/www/html" # 设置Apache服务器网页存放目录
Listen 80 # 设置Apache服务器监听的网络端口号
ErrorLog "logs/error_log" # 设置Apache服务器中错误日志文件的路径和文件名
CustomLog "logs/access_log" combined# 设置Apache服务器中访问日志文件的路径和格式类型
Timeout # 设置Apache服务器与浏览器之间网络连接的超时时间。单位:秒,默认120
KeepAlive # 设置为Off时服务器不使用保待连功能,传输的效率比较低,设置为On(默认)时,可以提高服务器传输文件的效率,建议设置保持连接功能有效
MaxKeep Alive Requests # 当KeepAlive为on时,设置客户端每次连接允许请求响应的最大文件数,默认设置为100个文件
2
3
4
5
6
7
8
9
10
虚拟Web主机:即在同—台服务器中运行多个Web站点的应用,其中每—个站点并不独立占用—台真正的计算机。
Apache支持的虚拟主机类型:
- 基于域名的虚拟主机
- 基于IP地址的虚拟主机
- 基于端口的虚拟主机
基于域名的虚拟主机:
NameVirtualHost 173.17.17.11
<VirtualHost 173.17.17.11>
DocumentRoot "/tmp/111"
ServerName www.111.com
</VirtualHost>
<VirtualHost 173.17.17.11>
DocumentRoot "/tmp/222"
ServerName www.222.com
</VirtualHost>
2
3
4
5
6
7
8
9
10
基于IP地址的虚拟主机:
<VirtualHost 173.17.17.11>
DocumentRoot "/tmp/111"
ServerName www.111.com
</VirtualHost>
<VirtualHost 173.17.17.12>
DocumentRoot "/tmp/222"
ServerName www.222.com
</VirtualHost>
2
3
4
5
6
7
8
9
基于端口号的虚拟主机:
Listen 173.17.17.11:80
Listen 173.17.17.11:8080
<VirtualHost 173.17.17.11:80>
DocumentRoot "/tmp/111"
ServerName www.111.com
</VirtualHost>
<VirtualHost 173.17.17.11:8080>
DocumentRoot "/tmp/222"
ServerName www.222.com
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
启动和停止Apache服务:
service httpd [start|stop|restart]