企业级Linux服务攻略 总结

时间:2021-01-21 16:56:21

公司这有几本关于Linux的书籍,其中有一本是企业级Linux服务攻略,而这些天正好我没事,我就开始研究企业级Linux服务攻略来,刚开始阅读时有点排斥,但我还是把它读了一遍,虽然有些知识点还没明白透,但我的目标不是专研,而是大概了解,为将来的需要提供一定的基础。

好了,开始我对企业级Linux服务攻略的总结之旅!~

第一章:Linux 服务器的搭建与测试

1.1  Linux的安装

详细讲解了 Red Hat Enterprise Linux 5的安装

1.2 常规网络配置

vi  /etc/sysconfig/network   ---> HOSTNAME=REAL5     ---> 设置主机名
hostname  查看主机名
ifconfig 网卡名 ip地址 netmask 子网掩码        ---> 设置ip地址
ifconfig  --->查看ip地址
ifconfig  网卡名:虚拟网卡 id   ip地址  netmask 子网掩码   --->设置辅助ip地址
ifconfig 网卡名称 down/up  禁用/启动网卡
ifconfig 网卡名 hw ether MAC 地址    --->更改网卡MAC地址
route add/del default gw ip 地址    ---->添加/删除默认网关
ping ip地址  测试网络连通性
  netstat 命令
  nslookup 域名/ip地址  测试解析


第二章: Samba 服务

2.1 Samba 原理

2.2 安装Samba 服务

rpm -qa|grep samba
rpm -ivh samba-3.0.23c-2.i386.rpm

2,3 Samba 常规服务器配置

workgroup = RHEL5   --->设置Samba服务器的工作组为RHEL5
server string = RHEL5 file Server  设置Samba简要说明

示例:Samba服务器有一个目录为/share,需要发布该目录成为共享目录,定义共享名为public,

comment = share
path = /share
public = yes
log file = /var/log/samba/%m.log  日志
service smb start/stop/restart/reload  服务的启动/停止/重新开始/重新加载

share 服务器实例及详解

案例:公司现有一个工作组Workgroup,需要添加Samba服务器作为文件服务器,并发布共享目录/share,共享名为public,此共享目录所有员工访问。

1、修改Samba 主配置文件

vi /etc/samba/smb.conf
[global]
workgroup = Workgroup设置工作组名
server string = file server添加服务器注释内容
security = share安全级别
log file = /var/log/samba/%m.log日志
max log size = 50
[public]
comment = public 
pathc = /share
public = yes   
 

2、重新加载配置

service smb restart

service smb reload


案例:公司现有多个部门,因工作需要,将销售部的资料存放在Samba服务器的/sales目录中,集中管理,以便销售人员浏览,并且该目录只允许销售部员访问。

1、添加销售部用户和组
groupadd sales
useradd -g sales sale1
useradd -g sales sale2
passwd sale1
passwd sale2
2、修改Samba主配置文件 smb.conf
vi /etc/samba/smb.conf
[global]
workgroup = Workgroup设置工作组名
server string = file server添加服务器注释内容
security = user安全级别
log file = /var/log/samba/%m.log日志
max log size = 50
[sales]
comment = sales
pathc = /sales
valid users = @sales
3、重新加载配置
service smb restart
service smb reload

2.4 Samba 高级服务器配置

示例:公司内部Samba服务器上共享了一个目录sales,该目录文件为销售部的共享目录,公司规定10.0.0.0/8 这个网段的ip地址都不能访问该共享目录,但是10.0.0.2 这个ip地址可以访问。

对于这些要求,可以编辑smb.conf,如下所示:

vi /etc/samba/smb.conf
把 security = user 改为 security = share,并添加hosts deny 和host allow字段。如下
[sales]
path = /sales
writable = yes
hosts deny = 10.
hosts allow = 10.0.0.2

2.5 Samba 客户端配置

smbclient -L 目标ip地址或主机名 -U 登陆用户名%密码 ---》查看服务器共享了什么目录

mount -t cifs //目标ip或主机名/共享目录名 挂载点 -o username = 用户名 ---》挂载共享目录


2.6 Samba的打印共享

1、设置global配置项

2、设置printers配置项


2.7 Samba企业实战和应用 (


第三章:DHCP服务

3.1 DHCP原理

3.2 安装DHCP服务

3.3 DHCP常规服务器配置

vi /etc/dhcpd.conf
#全局配置
ddns-update-style interim
ignore client-updates;
#局部配置
subnet 192.168.0.0 netmask 255.255.255.0
{
option routers 192.168.0.1
option subnet-mask 255.255.255.0
option nis-domain "domain.org"
option domain-name "domain.org"
option domain-name-servers 192.168.1.1
option time-offset -18000
range dynamic-bootp 192.168.0.128 192.168.0.254
default-lease-time 21600;
max-lease-time 43200;
host ns
{
	next-server marvin.Red Hat.com
	hardware ethernet 12:34:56:78:AB:CD
	fixed-address 207.175.42.254
}
}

案例:技术部拥有60台计算机,所使用的ip地址段为192.168.1.1 ~ 192.168.1.254,子网掩码为255.255.255.0,网关为192.168.1.1,192.168.1.2~192.168.1.30给各服务器使用,客户端仅可以使用192.168.1.100~192.168.1.200.剩余ip地址保留。

	vi	 /etc/dhcpd.conf
ddns-update-style none		设置动态dns的更新方式
ignore client-updates			忽略客户端更新
subnet 192.168.1.0 netmask 255.255.255.0 {
	option routers  192.168.1.1
	option subnet-mask	255.255.255.0
	range dynamic-bootp 192.168.1.100 	192.168.1.200
	default-lease-time 43200		
	max-lease-time 86400		设置客户端最大地址租约时间
}

案例:产品研发部有200台计算机,准备采用192.168.20.0/24网段给该部门使用,由于手动配置工作量较大,所以管理员准备使用一台Linux系统搭建DHCP服务器。

其中路由器ip地址为192.168.20.1,DNS服务器ip地址为192.168.20.2,DHCP服务器为192.168.20.3,其他人使用192.168.20.30-192.168.20.254,子网掩码均为255.255.255.0。但是部门经理所使用的ip地址为固定ip 192.168.20.88,副经理也使用固定ip地址192.168.20.60.

1、编辑主配置文件dhcpd.conf
vi  /etc/dhcpd.conf
ddns-update-style none
ignore client-updates

subnet 192.168.20.0 netmask 255.255.255.0
{
 	option routers 192.168.20.1
	option subnet-mask	255.255.255.0
	option domain-name-servers	192.168.20.2
	
	range dynamic-bootp 192.168.20.30 192.168.20.254
	default-lease-time 43200
	max-lease-time 86400

	host boss1
	{
		hardware ethernet 00:50:56:c0:00:01
		fixed-address 192.168.20.88
	}	
	host boss2
	{
		hardware ethernet 00:0c:29:4e:c0:68
		fixed-address 192.168.20.66
	}
}

2、重启dhcpd服务
service dhcpd restart

第四章:DNS服务

案例:技术部所在域“tech.org”,部门内有3台主机,主机名分别为client1.tech.org、client2.tech.org和client3.tech.org。先要求dns服务器dns.tech.org可以解析3台主机名和ip地址的对应关系。

1、建立主配置文件named.conf
touch /etc/named.conf
2、设置named.conf文件并添加“tech.org”区域
option { directory "/var/named" }
zone "tech.org"
{
	type master
	file "tech.org"
}

3、建立“tech.org”的区域文件
touch /var/named/tech.org

4、配置 “tech.org”区域文件,并添加资源记录
vi /var/named/tech.org
……

案例:企业采用多个区域管理各部门的网络,技术部属于“tech.apple”域,市场部属于“.mart.apple”域,其他人员属于“.freedom.apple”域,技术部门共有200人,采用的ip地址为 192.168.1.1-192.168.1.200。市场部共有100人,采用的ip地址为192.168.2.1-192.168.2.150。其他人员共有50人,采用的ip地址为192.168.3.1-192.168.3.50。现采用一个RHEL5主机搭建DNS服务器,其ip地址为192.168.1.254。要求这台DNS服务器可以完成内网所有区域的正反向解析,并所有员工均可以访问外网地址。

1、建立主配置文件 named.conf
touch 	/etc/named.conf
2、设置named.conf文件并添加需要解析的区域
option { directory "/var/named"}
zone "."
{
	type hint
	file "named.root"
}
zone "tech.apple"
{
	type master
	file " tech.apple"
}
zone "1.168.192.in-addr.arpa"
{
	type master
	file "1.168.192"
}
……
3、建立7个区域对应的区域文件
touch /var/named/ named.root
touch /var/named/ tech.apple
touch /var/named/ mart.apple
touch /var/named/ freedom.apple
touch /var/named/ 1.168.192
touch /var/named/ 2.168.192
touch /var/named/ 3.168.192

4、分别配置7个区域文件,并添加相应的资源记录
cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root/var/named/   建立根区域
vi  /var/named/ tech.apple  配置正向解析区域
……

案例:公司提供虚拟主机服务,所有主机后缀名为test.com。随着虚拟主机注册量大幅增加,DNS查询速度明显变慢,并且域名的管理维护工作非常困难。

1、父域设置区域委派
vi  /etc/named.conf  添加test.com的区域记录
options {
	directory "/var/named"
	recursion yes
}
zone "." IN {
	type hint
	file "named.ca"
}
zone "test.com" IN{
	type master;
	file "test.com.zone"
}
2、添加test.com区域文件
……


案例:公司网络中为了提高客户端访问外部Web站点的速度,并减少网络流量,需要在内部建立缓存服务器。

option 
{
	directory "/var/named"
	datasize 80M
	recursion  yes
}
zone "." IN
{
	type hint
	file "named.ca"
}

第五章: Sendmail服务

案例:企业内部需要建立内部使用的邮件服务器,准备在Linux系统上架设Sendmail。现在内部所使用的网段是192.168.1.0/24网段,企业内部采用team.apple作为内部域名进行管理,并配备DNS服务器,DNS服务器地址是192.168.1.1,Sendmail服务器地址是192.168.1.25。现要求内部员工可以使用Sendmail*收发内部信件。

1、配置DNS服务器team.apple的区域文件
2、编辑sendmail.mc,修改smtp侦听网段的范围。
3、使用vi编辑器修改local-host-names 文件,添加域名以及主机名。
4、建立用户
5、重新启动Sendmail服务

案例:目前公司采用两个网段和两个域来分别管理内部员工,它们分别是"team1.apple" 域采用192.168.1.0/24网段,“team2.apple” 域采用192.168.2.0/24网段,DNS服务器地址为192.168.3.1,Sendmail服务器地址是192.168.3.25。现需要做到一下几点:1、员工可以*收发内部邮件,并且可以通过邮件服务器往外发信。2、设置两个邮件群组team1和team2,确保发送给team1的邮件“team1.apple”域的成员都可以接收到,发送给team2的邮件“team2.apple”域的成员都可以接受到。3、禁止待客室的主机192.168.1.254 使用sendmail服务器。

1、DNS设置
2、设置sendmail.cm文件并生成新的sendmail.cf
3、设置local-host-names 文件。
4、群发设置
5、设置access文件
6、重启服务

第六章:FTP服务

案例:公司内部现有一台FTP和Web服务器,FTP的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等。公司现有两个部门负责维护任务,他们分别适用team1和team2帐号进行管理,先要求仅允许team1和team2帐号登陆ftp服务器,但不能登陆本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。

1、建立team1和team2帐号,并禁止本地登陆。

useradd -s /sbin/nologin team1

useradd -s /sbin/nologin team2

……

2、编辑vsftpd.conf文件,并作相应修改

vi /vtc/vsfiltpd/vsftpd.conf

anonymous_enable = NO

local_enable = YES

local_root = /var/www/html

chroot_list_enable = YES

chroot_list_file = /etc/vsftpd/chroot_list

3、建立/etc/vsftpd/chroot_list文件,并将team1和team2帐号添加在文件中。

4、重启服务。

service vsftpd restart

5、修改本地权限

chmod -R o+w /var/www/html

ls -ld /var/www/html/

6、测试

ftp 192.168.1.88


第七章:Web服务

案例:部门内部需要搭建一台Web服务器,采用的ip地址和端口为192.168.1.80:80,首页采用index.html文件,管理员E-mail地址为root@ice.apple,网页的编码类型采用GB2312。所有的网站资源放置在/var/www/html 目录下。并将Apache的根目录设置为/etc/httpd目录。

1、修改主配置文件http.conf
vi httpd.conf
serverRoot "/etc/httpd"
Timeout 180
Listen	80
ServerAdmin root@ice.apple
ServerName 192.168.1.80:80
DocumentRoot "/var/www/html"
DirectoryIndex  index.html
AddDefaultCharset  GB22312
2、重新启动httpd 服务
service httpd restart
3、将制作好的网页以及多媒体资源放置在文档目录/var/www/html中
4、测试

案例:公司Web服务器域名为www.rainbow.com,ip地址为192.168.1.10,现决定添加两个站点bbs.rainbow.com以及www.rain.com,通过虚拟主机实现该功能。

1、设置ip地址
ifconfg eth0:0 192.168.1.11  netmask  255.255.255.0
ifconfg eth0:1 192.168.1.12  netmask  255.255.255.0
2、修改配置文件hhtpd.conf
添加虚拟主机相关字段
<VirtualHost 192.168.1.10:80>
	DocumentRoot	/var/www/html/www.rainbow.com
	ServerName		www.rainbow.com
</VirtualHost>
……
3、建立相应的目录
mkdir	/var/www/html/bbs.rainbow.com
mkdir	/var/www/html/www.rainbow.com
……
4、修改权限
chmod	-R 755 /var/www/html/bbs.rainbow.com/
chmod	-R 755 /var/www/html/www.rain.com/
5、测试

第八章:iptables

示例:查看nat表中所有链的规则
iptables -t nat -L
示例:查看filter表中FORWARD链的规则
iptables -L FORWARD
实例:为filter表的INPUT链添加一条规则,规则为拒绝所有使用ICMP协议的数据包。
iptables -A  INPUT -p icmp -j DROP
iptables -L INPUT
实例:为filter表的INPUT链添加一条规则,规则为允许访问TCP协议的80端口的数据包通过。
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -L INPUT
示例:清除filter表中INPUT链的所有规则
iptables  -F INPUT
iptables -L  INPUT
示例:禁止员工访问域名为www.xxx.org的网站
iptables -A FORWARD -d www.xxx.org -j DROP
iptables -L FORWARD
示例:禁止员工访问ip地址为202.1.2.3的网站
iptables -A FORWARD -d 202.1.2.3 -j DROP
iptables -L FORWARD





学习的目标是成熟!~~