公司这有几本关于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区域文件 ……
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
学习的目标是成熟!~~