《鸟哥私房菜服务器篇》读书笔记

来源:互联网 发布:政务数据资源体系 编辑:程序博客网 时间:2024/05/16 08:11

服务器搭建基础

1.网络基础

网络是通过网线(硬件上)将各节点连接在一起,并通过网络协议(软件上)可相互通信的一个整体

  • ping:测试两台节点的连通性
  • traceroute:两节点间经过的路由分析
  • netstat:查看本机的网络连接状态
  • host/nslookup:检测主机名与IP的对应
    TCP/IP各层协议
    数据在TCP/IP模型中的流向

1.1应用层协议

  • FTP:文件传输协议
  • SMTP:简单邮件传输协议
  • SNMP:简单网络管理协议

1.2传输层协议

  • TCP协议:面向连接(三次握手)
  • UDP协议:非面向连接

1.3网络层协议

路由具有至少两个网口,分别连接不同网段的节点,用于传输跨网段数据
路由表产生的类型(网络接口产生和手动配置):route add -net [IP] netmask [子网掩码] dev ethN
一个网卡绑定多个IPifconfig eth0:0 10.1.20.111/24 & ifconfig eth0:1 10.1.21.111/24

  • ARP协议:获取IP所对应的MAC,记录在ARP表[内存]中(20分钟后失效)
  • RARP协议:获取MAC所对应的IP
  • ICMP协议:Internet Control Message Protocol,用于确保网络的连接状态与连接的正确性,通过IP数据包传送
    • ping命令
    • traceroute命令

1.4接口层协议

  • 广域网使用的设备
    • ADSL调制解调器(电话线)
      使用PPPoE(Point to Point Protocol over Ethernet)协议将PPP仿真在以太网卡上
  • 局域网使用的设备
    • 以太网卡(网线)
      (集线器/交换机)使用CSMA/CD协议,介质监听+多点传输/冲突检测

主机安全防御措施

2.限制端口、网络升级、SELinux

网络数据包进入主机的流程

  1. 经过防火墙分析(对病毒不敏感)
    • 第一层:数据包过滤式NetFilter防火墙(iptables)
      iptables的默认table有3个,分别是Filter、NAT及Mangle,常用的为Filter(本机)与NAT(后端主机)
    • 第二层:通过软件管理的TCP Wrappers防火墙
      通过配置文件/etc/hosts.allow和/etc/hosts.deny设置
  2. 服务的基本功能
    根据配置文件限定某些IP不能使用该服务获取主机资源
  3. SELinux对网络服务的详细权限控制
    限定某服务(进程主体)对文件(目标资源)的操作权限
  4. 使用主机的文件系统资源

2.1限制连接端口

  • port
    • 服务器启动的监听端口对应的服务是固定的
    • 客户端启动程序时,随机启动一个大于1024以上的端口
    • 一台服务器可以同时提供多种服务
    • 通信协议可以启用在非正规的port
  • 端口查看:netstat nmap
    服务跟port对应的文件/etc/services
    • netstat:在本机上以自己的程序监测自己的port
    • nmap:可检测非本机上的其他网络主机

2.2 SELinux管理原则(/etc/selinux/config)

  • SELinux工作模式
    程序主体–>SELinux策略–>安全性环境对比–>目标资源
  • SELinux启动、关闭、查看
    vi /etc/selinux/config
    setenforce 0/1
    getenforce
  • SELinux Type的修改
    chcon
    restorecon
    semanage
  • SELinux策略内的规则布尔值修订
    sesearch
    setsebool
  • SELinux日志文件记录所需的服务
    auditd
    setroubleshoot

局域网服务器搭建

3.网络参数管理者:DHCP服务器

工作原理

  • 用途:为客户端计算机提供网络参数
  • 工作方式:客户端广播数据包发送搜索DHCP服务器的数据包;服务器提供网络相关租约给客户端
    这里写图片描述

相关配置

  • 软件:dhcp
  • 启动脚本:/etc/init.d/dhcpd
  • 租约文件:/var/lib/dhcp/dhcpd.leases
  • 配置文件:/etc/dhcp/dhcpd.conf
#/etc/dhcp/dhcpd.conf// 环境设定ddns-update-style    none; //不要更新DDNS的设置ignore client-updates;     //忽略客户端的DNS更新功能default-lease-time   259200;   //默认租约为3天max-lease-time       518400;   //最大租约为6天option routers 10.1.12.1   //默认路由option domain-name "kylin.com" //域名option domain-name-servers 8.8.8.8;  //DNS的IP设置,会修改/etc/resolv.conf// 分配动态IPsubnet 10.1.12.0 netmask 255.255.255.0 {    range 10.1.12.110 10.1.12.119;  //分配IP的地址范围}// 分配固定IPhost win7 {    hardware enternet 08:00:27:11:EB:C2;  //客户端网卡MAC地址    fixed-address     10.1.12.110;        //分配固定的IP地址}

4.文件服务器——NFS服务器

工作原理

  • NFS:网络文件系统,通过网络让不同操作系统可以共享文件,远程服务器的共享目录就像客户端的一个磁盘分区
    这里写图片描述
  • RPC:NFS服务器启动时会随机选取数个port,并向RPC注册
    客户端访问NFS文件流程
    • 客户端RPC向服务器的RPC(port 111)发出NFS的查询请求
    • 服务器找到对应的已注册的NFS daemon端口后通知客户端
    • 客户端收到正确的port后,与NFS daemon连接
      这里写图片描述

相关配置

  • 软件:rpcbind、nfs-utils
  • 共享资源日志文件:/var/lib/nfs/*tab
  • 配置文件 :/etc/exports
#   共享目录 第一台主机(权限)    第二台主机     第三台主机    /tmp  10.1.12.111/24(ro)  localhost(rw)  *    

NFS管理命令(exportfs,showmount)

  • 服务器端:exportfs -arv(挂载),exportfs -auv(卸载)
  • 客服端:showmount -e hostname|IP

5.账号管理:NIS服务器

工作原理

  • 用途:一台主机控制多台主机的账户信息
  • 工作流程
    这里写图片描述
    • NIS master服务器:将文件转换成数据库
    • NIS slave服务器:以master服务器的数据库作为本身的数据库来源
    • NIS客户端:想master/slave服务器请求登录用户身份验证

相关配置

  • 软件
    • yp-tools:提供NIS查询命令
    • ypbind:提供NIS客户端设置
    • ypserv:提供NIS服务器端设置
    • rpcbind:RPC软件
  • 配置文件
dns: no //不用DNS功能files: 30 //默认有30个数据库读入内存xfr_check_port: yes //与Master/Slave有关#主机名/IP : NIS域名 : 可用数据库名 : 安全限制127.0.0.0/255.255.255.0 : * : * : none10.1.12.110/255.255.255.0 : * : * : none

6.时间服务器:NTP服务器

工作原理

  • 用途:同步所有NIT客户端主机的时间
  • 工作流程
    • NTP客户端向NTP服务器发送校对时间信息
    • NTP服务器发送当前的标准时间给NTP客户端
    • NTP客户端根据NTP服务器发来的消息调整时间

相关配置

  • 软件
    • ntp:NTP服务器主要软件
    • tzdata:提供各时区对应的显示格式
  • 配置文件 /etc/ntp.conf

7.文件服务器——SAMBA服务器

工作原理(NetBIOS属于局域网协议)

  • 用途:沟通windows与unix like这两个不同操作系统平台
    • 利用软件直接编辑WWW主机上面的网页数据
    • 做成可直接连接的文件服务器
    • 打印机服务器
      这里写图片描述
  • 工作流程
    • 取得SAMBA服务器的NetBIOS Name定位主机的位置(nmbd)
    • 利用SAMBA服务器给予的权限访问可用资源(smbd)

相关配置

  • 软件
    • samba:提供SMB服务器所需的各项服务程序(smbd和nmbd)
    • samba-client:提供linux作为samba客户端时所需的工具命令
    • samba-common:提供SAMBA的朱配置文件(smb.conf)、语法检验命令(testpam)等
  • 配置文件:/etc/samba/smb.conf

8.局域网控制者:Proxy服务器

工作原理

  • 用途
    1. 作为WWW的网页数据获取代理机
    2. 作为内部局域网的应用层防火墙
    3. 节省单点对外的网络代换,降低网络负载
      这里写图片描述
  • 工作流程
    1. client端向server端发送一个需求数据包
    2. server端接收之后,开始进行数据比对
    3. server发现缓存没有client所需的数据,向因特网发送请求获取数据
    4. 将数据回送给client

相关配置

  • 软件
    squid
  • 配置文件
    /etc/squid/squid.conf

9.网络驱动器设备:ISCSI服务器

工作原理

  • 用途:提供网络磁盘容量
    • NAS提供网络文件系统
    • SAN提供网络磁盘
  • 工作流程
    • iSCSI target:提供存储设备的服务器
    • iSCSI initiator:使用服务器磁盘的客户端
      这里写图片描述

相关配置

  • 软件(scsi-target-utils只支持IP,scst支持IP和FC)
    • scsi-target-utils:服务器软件,将linux系统仿真成iSCSI target的功能
    • iscsi-initiator-utils:客户端软件,挂载来自target的磁盘到客户端上
  • 配置文件
    • /etc/tgt/targets.conf:服务器上目标器配置文件
    • /etc/iscsi/iscsid.conf:客户端上启动器配置文件

因特网服务器搭建

10.主机名控制者:DNS服务器

工作原理

  • 用途:将主机名转换成IP地址
  • 工作流程
    这里写图片描述
    这里写图片描述

相关配置

  • 软件:
    • named
  • 配置文件
    • /etc/named.conf

11.WWW服务器

工作原理

  • 用途:通过HTTP(超文本传输协议)给客户端(浏览器)提供网页数据
  • 工作流程(LAMP模式)
    1. 客户端(浏览器)通过网址向服务器提出请求
    2. 服务器回复客户端所需的数据(主要是多媒体文件)
      这里写图片描述

相关配置

  • 软件
    1. httpd:提供Apache主程序
    2. mysql:MySQL客户端程序
    3. mysql-server:MySQL服务器程序
    4. php:PHP主程序(包含给Apache使用的模块)
    5. php-devel:PHP发展工具,这个与PHP外挂的加速软件有关
    6. php-mysql:提供给PHP程序读取MySQL数据库的模块
  • 配置文件
    • /etc/httpd/conf/httpd.conf
    • /etc/my.cnf
    • /etc/httpd/conf.d/php.conf

12.文件服务器——FTP服务器

工作原理

  • 用途:用来进行文件传输,尤其是大文件传输
  • 工作流程
    • 主动式连接模式
      1. 建立命令通道连接(TCP三次握手,port21)
      2. 通知FTP服务器使用Active且告知连接端口号
      3. FTP服务器主动向客户端连接(TCP三次握手,port20)
        这里写图片描述
    • 被动式连接模式
      1. 用户与服务器建立命令通道(TCP三次握手,port21)
      2. 客户端发出PASV的连接请求
      3. FTP服务器启动数据端口,并通知客户端连接
      4. 客户端随机取用大于1024的端口进行连接
        这里写图片描述

相关配置

  • 软件
    • vsftpd
  • 配置文件
    • /etc/vsftpd/vsftpd.conf

13.邮件服务器:Postfix

工作原理

  • 用途:收发(MTA)、存放(Mailbox)邮件
  • 工作流程
    1. 取得某台MTA的权限(注册邮箱)
    2. 用户在MUA上编写邮件后通过SMTP(port25)发送至MTA
      • 如果该封邮件的目标是本地端MTA自己的账号,通过MDA送到Mailbox去
      • 如果该封邮件的目标为其他MTA,则开始中继转发的流程
    3. 对方MTA服务器接收邮件,存放在Mailbox
      这里写图片描述
    4. MUA通过POP3或IMAP协议连接到MRA的port110,输入账号密码取得正确的授权
    5. MRA确认用户密码没有问题,前往该用户的Mailbox(/var/spool/mail/username)取得用户的邮件并发送到用户的MUA软件上
    6. 当所有邮件传送完毕后,用户的Mailbox内的数据将会被删除
      这里写图片描述

相关配置

  • 软件
    • MTA服务器:postfix
    • MRA服务器:dovecot
  • 配置文件
    • postfix配置文件:/etc/postfix/main.cf
    • dovecot配置文件:/etc/dovecot/dovecot.conf
0 0
原创粉丝点击