翻完了《鸟哥的Linux私房菜》的服务器篇,感觉收获的东西比第一本《鸟哥的Linux私房菜》要多,庆幸自己当初买了全套。读这本800多页的书,用了半个月的晚上下班时间,感觉还是蛮快的,尽管有些暂时还看不懂,先翻完再说。先整理一波,以后如果有第二遍读,应该会有更深的理解。到时候,在整理感想,现在知识所限,还没有太多感想,先整理笔记。
1.Linux最强大的功能是什么?‘是网络功能’
2.相关客户端连接与服务器提供的服务有关,例如WWW服务器就要使用browser去测试,网上邻居当然就需要用网上邻居去测试。
3.SELinux主要在控制特殊的权限,它可以针对某些程序要读取的文件来设计SELinux类别,当程序与文件类别相同时,该文件才可以被读取。
4.系统中比较重要的目录有/etc、/home、/root、/var/spool/mail等,你现在想要在每天2:45进行备份,且备份数据到/backup内,并使用tar将备份数据打包:
:\#mkdir /root/bin; vim /root/bin/backup.sh
\#!/bin/bash
backdir="/etc /home /root /var/spool/mail"
basedir=/backup
[ ! -d "$basedir" ] && mkdir $basedir
backfile=$basedir/backup.tar.gz
tar -zcvf $backfile $backdir
:#vim /etc/crontab
45 2 * * * root sh /root/bin/backup.sh
网络的基本概念
1.DARPA在1980年正式推出TCP/IP技术后,由于要推广此技术,将TCP/IP技术植入了BSD Unix系统。
2.节点(node):节点主要是具有网络地址(IP)的设备的统称。
3.工作站(workstation):任何可以在计算机网络输入的设备都可以称为是工作站。
4.网关(gateway):具有两个以上的网络接口,可以连接两个以上不同的网段的设备。例如IP路由器就是一个常见的网关设备。
5.传输层(Transport Layer)和会话层(Session Layer):如果说传输层是在判断数据数据包是否可以正确的到达目标,那么会话层则是在确定网络服务建立连接的确认。
6.事实上,OSI七层协议只是一个参考模型,目前的网络社会并没有什么很知名的操作系统在使用OSI七层协议的连接程序代码。
7.TCP/IP将应用、表示、会话三层整合为了一个应用层。Internet其实是TCP/IP协议的通称。
8.TCP/IP是如何工作的?以连接Yahoo为例子:
- 应用程序阶段:打开浏览器,在浏览器的地址栏输入网址,按下“Enter”键,此时网址信息和相关数据会被浏览器包成一个数据,并向下传给TCP/IP的应用层。
- 应用层:由应用层提供的HTTP通信协议,将来自浏览器的数据封装起来,给予一个应用层报头,再向传输层丢去。
- 网络层:将TCP数据封装到IP数据包内,在给予一个IP包头(主要是来源与目标的IP),向网络接口层丢去。
- 网络接口层:如果使用以太网络时,此时IP会依据CSMA/CD的标准,封装到MAC数据帧中,并给予MAC帧头,再转成比特流后,会利用传输介质发送到远程主机上。
9.非对称数字用户环路(ADSL):使用PPPoE协议:也是通过电话线来拨号取得IP的一个方法,只不过这个方式使用的是电话的高频部分,与一般语音电话的频率不同,因此你可以一边使用ADSL上网同时通过同一个电话号码来打电话聊天。在中国,由于上传/下载的带宽不同,因此才称为非对称环路。
10.我们看到的网络提供者(ISP)所宣称的他们的ADSL传输速度可以达到 下行/上行 2Mbps/128kbps(Kbits per second)时,所宣称的那个Kb可不是bytes,而是bit。该数值还要除以8才是我们一般常用的文件容量计算单位bytes。
11.两个MAC:以太网的传输主要就是网卡对网卡之间的数据传递而已。每张以太网卡出厂时,就会被赋予一个独一无二的卡号,那就是所谓的MAC。另一个MAC是,CSMA/CD发送出去的数据帧,称为MAC,由于网卡卡号是跟着网卡走的,并不会因为重装系统而改变,所以防火墙软件大多也能够针对网卡来进行策略的定义,不过针对网卡的限制仅能在局域网中进行,因为MAC不能跨Router。
当然都设置成同一个网络是最方便的,因为如此一来,每一台计算机都可以通过MAC地址进行数据交流了,而不必通过Router。
12.在同一物理网段内,主机的IP具有相同的Net_ID,并且具有独特的Host_ID:什么是物理网段?当所有的主机都是使用同一个网络设备连接在一起,这个时候这些主机在物理设备上面其实就是连接在一起的,那么这就可以称为这些主机在同一物理网段了。
13.Public IP与Private IP:
- Public IP:公共IP,经由Inter NIC所统一规划的IP,有这种IP才可以连接上Internet。
- Private IP:私有IP或保留IP,不能直接连上Internet的IP,主要用于局域网内主机连接规划。
14.ARP协议:当我们想要了解某个IP配置于哪张以太网卡,我们的主机会对整个局域网发出ARP数据包,对方收到ARP数据包后就会返回MAC地址给我们,我们就会知道对方的网卡,接下来就可以传递数据了。这些IP与网卡对应的信息,也会存储在我们的主机上,ARP table中,查看的命令为
:#arp -n
15.网络层的IP数据包只负责将数据送到正确的目标主机去,但这个数据包到底会不会被接受,或者有没有被正确接收,那就不是IP的任务了,那就是传输层的TCP数据包和UDP数据包的事情了。
16.TCP数据包是放在了IP数据袋中。
17.UDP与TCP不一样,UDP是不提供可靠的传输模式,因为它不是面向连接的机制,这是因为UDP传送过程中,接收端接收数据后,不会回复响应数据包(ACK)给发送端
18.防火墙的基本原理:当发现某些特定的IP,特定的端口或者是特定的数据包信息(SYN/ACK等),那么就能将该数据包丢弃
19.现今的网络基础是架构在TCP/IP这个通信协议上的。ICMP数据包的主要作用是汇报网络的检修状况,故不要使用防火墙将它完全阻隔。在主机port中,只有root可以启用小于1024的port
局域网架构解析
1.当然要有两个接口,一个接口与Internet沟通,另一个接口则与内部LAN沟通。那么为什么鸟哥说的是“两个网络接口”而不是“两张网卡”?原因很简单,因为一张网卡可以设定多个IP。因此在Linux中,一张网卡可以具有一个以上的IP,由于一个IP即是一个网络接口,因此只要有两个网络接口就可以进行NAT(类似路由器)的设定了,所以只用一个网卡就可以了。
连接Internet
1.网卡(NIC)是以网卡内核模块对应的设备名称来表示的,而默认的网卡名称为eth0,第二张网卡则为eth1.
2.尝试配置IP:
:# ifconfig eth0 192.168.1.100
3.Linux以太网卡的默认代号为eth0、eth1等,无线网卡则为wlan0、ra0等。
4.IP参数设置在/etc/sysconfig/network-scripts/ifcfg-eth0中,主机名设置在/etc/sysconfig/network中,DNS设置在/etc/resolv.conf中,主机与IP的对应设置在/etc/hosts中。可以使用/etc/init.d/network restart 来重启整个系统的网络接口
5.设定网卡可以使用ifconfig这个指令,而设定无线网卡则需要iwconfig,至于扫描接入点,可以使用iwlist这个指令。
Linux网络排错
1.局域网的543原则:
- 5个网段(Segment),所谓Segment就在物理设备上最接近的一组计算机。
- 4个增益器(Repeater)。也就是将信号放大的设备。
- 3个计算机群体(Population)。前面说到的Segment,只有3个能安装计算机,其他两个不行。
6.如果你要安装的软件包含某些尚未安装的相依软件,yum会顺便帮你下载
7.如果全世界都要连接到一台yum服务器,那带宽不是很容易赛爆?那怎么办?没关系,可以通过所谓的镜像站点来解决,CentOS在世界各地都有镜像站点,这些镜像站点会将官网的yum服务器的数据复制一份。
远程连接服务器SSH/XDMCP/VNC/XRDP
1.Linux使用的图形接口就是所谓的X Window System,它是能够跨平台的,目前在Linux上面开发的图形接口软件几乎都是使用这个架构来处理的。
- X Window System在运行过程中,又因为控制数据的不同而分为X Server与X Clinet
- X Server:这组程序主要负责的是屏幕画面的绘制与显示。
- X Clinet:这组程序主要负责的是数据的运算。
X Server就是画布,而X Clinet就是手拿画布的画家。
2.当客户端启动X Server连接到5901之后,VNC Server再将一堆预先设置好的X Client通过这个连接传递到客户端上,最终就能够在客户端显示服务器的图形接口了。
3.常用的备份指令包括tar、dd、cp等,还有一个网络攻击,rsync,可以作为一个异地备份系统的备份指令!因为rsync可以达到“镜像(Mirror)”的功能。
网络参数管理者:DHCP服务器
1.DHCP(Dynamic Host Configuration Protocol)服务器最主要的工作,就是自动将网络参数正确的分配给网络中的每台计算机,让客户端的计算机可以在开机的时候就立即自动配置好网络的参数值。
2.若局域网内有DHCP服务器时,才会响应客户端的IP参数要求,所以,DHCP服务器与客户端是应该在同一个物理网段内。
3.固定IP和动态IP:其实IP只有public IP与private IP两种,其他“静态IP”、“动态IP”、“虚拟IP”,都是从获取IP的方式这个角度来分类的。
- 固定(Static)IP
DHCP根据MAC来给予IP参数租约,这种情况比较适合这台计算机需要作为网络中的服务器的情况。 - 动态(Dynamic)IP
Clinet端每次连上DHCP服务器所取得的IP都不是固定的,都是由DHCP服务器在未被使用的IP地址中随机选中提供的。
NFS服务器
1.NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录好像是自己的一个磁盘分区一样。
2.因为默认的NFS用来传输的端口就是随机选择的,那客户端怎么知道服务器端使用的是哪个端口呢?这就需要用远程过程调用(Remote Procedure Call,RPC)协议
3.RPC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,让客户端可以连接到正确的端口上去。
账号管理:NIS服务器
1.我们设计了一台专门管理账号和密码的服务器,而其他Linux主机当有客户端要登录的需求时,就必须要到这台管理密码的拂去其上来查询用户的账号与密码,如此一来,要管理所有的Linux主机的账号与密码,只要到那台主机上去设置就好了
2.如果这单一的一台NIS服务器宕机,其他用户还要登录啊?所以,在较为大型的企业环境中,NIS服务器可以使用Master/Slave(主控/辅助服务器)
文件服务器:SAMBA服务器
1.不过使用FTP传输文件却有个小小的问题,那就是无法直接修改主机上面的文件数据。
网络驱动器设备:iSCSI服务器
1.基本上,NAS其实就是一台定制好的主机了,只要将NAS连接上网络,那么在网络上面的其他主机就能够访问NAS上的数据了。
2.既然SAN可以提供磁盘,而NAS则是提供相关的网络文件系统。
服务器取得文件系统的三个来源我们可以发现在一般主机环境下,磁盘设备(STAT、SAS、FC)可以通过主机的接口(DAS)来直接进行文件系统的建立(mkfs进行格式化),如果想要使用外部磁盘,那可以通过SAN(内含多个磁盘设备),然后通过iSCSI等接口来连接,当然,还是需要进行格式化等操作,最后,如果是在NAS的条件下,那么NAS必须要通过自己的操作系统将磁盘设备进行文件系统的建立后,再以NFS/CIFS等方式来提供其他主机挂载使用。
主机名控制者:DNS服务器
1.第一个与DNS有关的主机名的概念,就是“主机名与域名(hostname and domain name)的观念,以及由这两者组成的完整主机名。每一层的domain name与hostname怎么分?
- 收到用户的查询要求,先查看本身有没有记录,若无则向.(root)查询
- 向最顶层的.(root)查询
- 向第二层的.tw服务器查询
- 向第三层的.edu.tw服务器查询
- 向第四层的.ksu.edu.tw服务器查询
- 记录缓存并回报用户。
2.DNS的正解与反解
- 从主机名查询到IP的流程称为:正解
- 从IP反解析到主机名的流程称为:反解
WWW服务器
1.<!DOCTYPE>的部分是在声明下面的语法应用的是第几版的HTML解析。
2.PHP这种程序语言可以直接在网页中编写,不需要经过编译即可进行程序的执行。
3.MySQL root密码遗忘的紧急处理:
将/var/lib/mysql/*那个目录内的数据删掉。
4.那么如果可以将PHP程序预先转换为可直接执行的binary file,不就可以直接读取进而加快速度吗?没错,这东西就称为预编译器。其中有一套软件称为eaccelerator,eaccelerator可以将你的PHP程序与PHP核心及相关的函数库预先编译后暂存下来,以提供未来使用时可以直接执行,加上它可以优化PHP程序,因此,可以让PHP网页速度增快不少。
5.日志分析软件:webalizer
6.日志分析软件:awstats
7.Apache的配置文件其实只有httpd.conf而已,其他配置文件都是被Include进来的。
网友评论