网络配置及服务

一、C/S模型

1、C/S: 主从式架构 (Client–server model) 或客户端-服务器(Client/Server)结构简称C/S结构,是一种网络架构,它把客户端 (Client) (通常是一个采用图形用户界面的程序)与服务器 (Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。

主从式架构通过不同的途径应用于很多不同类型的应用程序,最常见就是目前在因特网上用的网页。

2、客户端通常是一个应用程序,替用户完成某向特定的任务。

服务器通常是一个提供某种服务的应用程序

二、套接字

1、套接字

在TCP/IP协议中,套接字是有服务器和客户端两者的IP地址和端口号组合定义的。

每个客户端进程会被分配给不同的端口号。通过一个唯一的 套接字和服务端守护进程交谈。

通信双方的一种约定,用套接字中的相关函数来完成通信过程。应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口。

文件类型以 s 标识

每一个基于TCP/IP网络通讯的程序(进程)都被赋予了唯一的端口和端口号,端口是一个信息缓冲区,用于保留Socket中的输入/输出信息,端口号是一个标识,用来标识用户所访问的具体服务以及相应联系的机制、映射关系位置。linux下的端口号的范围是1-65535之间的整数;1024以下的端口是知名端口,这些端口只有root用户才能进行处理的。

web服务是80端口

2、常见服务及端口记录在/etc/servicesw文件中

clip_p_w_picpath002[4]

端口号码 端口对应服务的名称

三、检查当前网络

1、hostname

1)hostname 查看当前本机的主机名,同时也可以在当前状态状

态设置主机名。

注意是当前状态修改,重启后失效。

clip_p_w_picpath004[4]

2)修改主机名持续生效需要修改/etc/sysconfig/network文件

vi /etc/sysconfig/network

clip_p_w_picpath006[4]

NETWORKING=yes 开启网络功能,对于IPv4的支持

NETWORKING_IPV6=no 关闭当前网络对IPv6的支持

HOSTNAME= localhost.localdomain 主机名称

重新启动生效

3)现在我们仅仅能识别主机名称;

不能通过主机名与当前的IP地址进行联系。

需要配置静态的DNS配置文件/etc/hosts文件,

127.0.0.1 host1.e-bai.com host1

(IP地址) (主机名) (缩写的主机名)

::1 host1.e-bai.com host1

(IPv6格式所写的本机

相当于127.0.0.1)

clip_p_w_picpath008[4]

现在我们主机名与当前的IP地址建立正确的对应关系。

4)参数

-i 打印当前本机的IP地址

clip_p_w_picpath010[4]

显示本机的环回接口IP地址

2、ifconfig

1)我们也可以使用ifconfig查看所有网络接口的IP地址

设定

clip_p_w_picpath012[4]

2)默认打印的是所有网络接口。也可以指定查看某一块

网卡

ifconfig eth0

clip_p_w_picpath014[4]

HWaddr 00:0C:29:89:EE:DE mac地址

inet addr:172.16.252.201 IP地址

Bcast:172.16.252.255 当前网段的广播地址

Mask:255.255.255.0 子网掩码

inet6 addr: fe80::20c:29ff:fe89:eede/64 IPv6地址

网络接口的命名方式

一般以eth命名,0代表第一块网卡。

eth0:0或者eth0:1这种写法源自于早期大型交换机的设定或者

多模块的交换机或路由器的命名方式。

(0:0表示第一个模块的的第一个接口;

0:1表示第一个模块的第二个接口)

3)ifconfig也可以用来设置网卡的IP地址

3、route 查看当前本机路由信息

clip_p_w_picpath016[4]

* 255.255.255.0 U 0 0 0 eth0

Destination 我们当前到达本机所在网段的路由信息,

172.16.252.0

Gateway 网关 , * 描述的是我们当前本机使用的相应物

理接口,没有配置明确的的地址。

Genmask 子网掩码

default 描述的是当前默认的网关配置 。

如果整个路由表没有相关的描述,就会采用默

认网关提供的信息

1)route add -net 192.56.76.0 netmask

255.255.255.0 dev eth0

添加一条路由到192.56.76.0网段,需要从本机的eth0接

口发送出去

网卡发送

add 表示添加一条路由信息。

-net 到某一个网段的路由。如果不加,表示到某个IP    
地址的路由

netmask 192.56.76.0 指定的子网掩码

2)route add default gw mango-gw

添加一条默认路由(default gw)默认网关的地址

(mango-gw主机名或IP地址)

mango-gw 把网关的地址以主机名的形式表示。如果这

样表示,一定要在/etc/hosts对主机名做相

应的配置,才能配置成功。否则写IP地址。

3、linux内核从2.4版本开始支持策略性路由即高级路由,

高级路由最高支持255张路由表,旧的route命令只支持

一张路由表,无法使用其他的254张路由表。

现在一般使用ip route

clip_p_w_picpath018[4]

4、netstat 查看目前指定开启端口的服务状态以及服务进

-t 打印所有tcp端口的监听情况

-u 打印所有udp端口的监听情况

-a 打印所有监听和未监听的套接字情况

-p 打印相应的进程pid以及进程名称

netstat -atup 打印出本机活跃的端口

clip_p_w_picpath020[4]

把相应的服务直接解析成服务名称,例如22号端口直接解析成ssh。但是如果经过用户的特殊设置,端口可能会发生改变。

这时可以使用

netsat -an

clip_p_w_picpath022[4]

netstat -an | grep 80

clip_p_w_picpath024[4]

netstat命令可以查看服务器端口的开启情况、使用端口的进程名称以及端口的相应状态。

一般需要关注的状态是LISTEN(监听状态),EXCHANGE DATE (交换数据中),CLOSE WAIT(等待关闭状态)

5、ping

1)ping www.sina.com.cn

clip_p_w_picpath026[4]

64 bytes ping发出的包的大小

from 58.63.236.32 从什么地址发出的

icmp_seq 目前包的编号

ttl=51 生存的周期

time=144 ms 得到回应的时间

4、了解访问目标服务器过程中经过的路由数量,每条

路由情况。我们使用traceroute命令查看

clip_p_w_picpath028[4]

如果得到路由器的具体回应,显示ip地址;

打印出三个时间,表示分别做了三次测试。

* * * 表示相应的路由无回应,网络有可能出现状况或者相应的服务器禁止做相应的traceroute探测。

通过traceroute可以探测出本机到目标服务器之间经过的路由数量,依据结果在架构设计中配置优化网络环境。

四、设置网络

1、setup 字符界面写网络配置工具

不仅能配置网络,还可以配置防火墙、系统服务、键盘设置等

clip_p_w_picpath030[4]

1)回车进入下一级页面网络部分的配置

clip_p_w_picpath032[4]

2)配置相应的设备和配置DNS;如果要退出,按tab键选择Save&Quit

保存退出或者Quit直接退出

3)回车进入下一级页面

clip_p_w_picpath034[4]

4)选择eth0回车配置eth0网卡

clip_p_w_picpath036[4]

注意Name名称可以随意更改;Device不可以随意修改,设备名称有相应的命名规则的。

5)Use DHCP 如果使用dhcp自动获取,则选中它。我们这里不选中,手动配置IP。点击OK完成网卡的手动配置

clip_p_w_picpath038[4]

6)点击Save保存

clip_p_w_picpath040[4]

7)点击Save&Quit保存退出

clip_p_w_picpath042[4]

8)点击Quit退出

完成配置。

9)需要重启网卡配置才能生效

service network restart

clip_p_w_picpath044[4]

10)ifconfig 查看配置已经生效

clip_p_w_picpath046[4]

原理:

网卡配置修改的是/etc/sysconfig/network-scripts/下的相应的网卡配置文件,如eth0对应的是ifcfg-eth0文件

clip_p_w_picpath048[4]

打开ifcfg-eth0文件查看

clip_p_w_picpath050[4]

DEVICE=eth0 网络设备名称

BOOTPROTO=none 启动引导所使用的协议

HWADDR=00:0c:29:e5:13:1e 硬件编号即mac地址

ONBOOT=yes 开机启动是否自动启用

TYPE=Ethernet 类型是以太网

USERCTL=no   不允许非root用户控制该设备
IPV6INIT=no  不做IPV6 地址的初始化

PEERDNS=no 点对点的DNS

NETMASK=255.255.255.0 子网掩码

IPADDR=172.16.252.209 IP地址

GATEWAY=172.16.252.254 网关

手工编辑该文件也一样可以配置网卡

2、图形界面下的网络配置工具

1)system-config-network

clip_p_w_picpath052[4]

同时可以配置DNS

DNS配置还可以修改相应的配置文件实现

/etc/hosts文件 hosts文件会优先被进行读取,按照文件内的配

置获取相应的结果

clip_p_w_picpath054[4]

2)/etc/resolv.conf 远程的配置文件,DNS服务器的地址

clip_p_w_picpath056[4]

可以添加多个DNS服务器,按照顺序依次排列,首个DNS服务器地址为主DNS,下一个为备用的DNS。

3)setup命令中同样可以修改DNS配置,它所做的同样是修改/etc/resolv.conf文件,效果相同。

4)查询DNS的命令是host

clip_p_w_picpath058[4]

clip_p_w_picpath060[4]

查询到的是简单的结果

5)如果需要更加详细的输出,使用nslookup

clip_p_w_picpath062[4]

打印出的结果相对详细

6)dig 查看相应的DNS服务器的内容输出

clip_p_w_picpath064[4]

五、字符界面的网络客户端程序

1、links 文本的https浏览器

links

clip_p_w_picpath066[4]

回车,系统会尽可能的输出和查看网页的内容

clip_p_w_picpath068[4]

相应的功能基本具有,按esc显示

clip_p_w_picpath070[4]

输入www.kernel.org.

clip_p_w_picpath072[4]

下面会出现选择模块供用户选择

clip_p_w_picpath074[4]

2、curl 与links命令相反。curl命令是在命令行当中网页客户端

无法渲染和交互相应的页面,只能将相应的页面获取下来,

将相应页面的源码输出。它不是页面的渲染程序,只是一

个页面的获取程序。

Cur l http://www.e-bai.com

clip_p_w_picpath076[4]

3、wget 非交互式的下载资源

wget url地址

wget

ftp://ftp.redhat.com/redhat/linux/enterprise/5Server/en/os/SRPMS/ElectricFence-2.2.2-20.2.2.src.rpm

clip_p_w_picpath078[4]

wget能自动连接相应的网络服务器并且识别相应的协议同时下载。

下载的结果保存在执行命令的当前目录下。

wget不仅可以下载单个的程序内容,而且能递归式下载整个网站。

wget -r http://www.redhat.com/training

探测域名下的文件,然后下载下来。

缺陷:wget是通过网站相应链接找到相应的文件下载,如果当前页

面下有外站链接,会下载别的站点。慎用!!!

建议指定递归的层数

--level=1

wget -r --level=1 http://www.redhat.com/training

五、如何学习服务

1、这是什么(what)?用在哪里(where)?谁会用到(who)?

为什么用它(why)?有没有其他选择?

2、如何安装(how)

rpm -ql查看安装的文件

3、主要组成部分是什么?

4、如何配置?有哪些配置文件?名字叫什么?分别有什么功

能?

5、有几种日志?名字叫什么?什么格式?如何阅读?

6、原理和trouble-shooting(排错)才是有难度的

六、DAEMON服务

1、守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾

通常,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下。守护进程程序通常通过如下方法使自己成为守护进程:对一个子进程调用fork,然后使其父进程立即终止,使得这个子进程能在init下运行。这种方法通常被称为“脱壳”。

系统通常在启动时一同起动守护进程。守护进程为对网络请求,硬件活动等进行响应,或其他通过某些任务对其他应用程序的请求进行回应提供支持。守护进程也能够对硬件进行配置(如在某些Linux系统上的devfsd),运行计划任务(例如cron),以及运行其他任务。

2、守护进程通过相应的启动脚本启动,启动脚本一般存放在

/etc/rc.d/init.d/目录下

clip_p_w_picpath080[4]

/etc/rc.d/rcX.d是不同runlevel下的服务器启动方案。

K表示关闭。后跟的数字是关闭的顺序。如K01dnsmasq表示是第一

个关闭的服务程序

S表示启动。后面的数字是启动的顺序。如S03vmware-tools表示第

60个启动的服务程序

clip_p_w_picpath082[4]

3、chkconfig命令可以方便、快速管理启动和关闭的服务程序。

--list 打印出所有服务在不同级别下是否开启

clip_p_w_picpath084[4]

第一列是相应服务的名称

后面是7个级别下的开启状态

--add 添加一个服务到进程中

--del 删除一个服务到进程中

执行cp httpd afu 复制httpd并改名为afu

chkconfig --add afu chkconfig会在当前/etc/init.d/目录下扫描是否有名为afu的脚本,如果有并且书写格式符合chkconfig的规范,chkconfig就会其添加到chkconfig的管理列表中

chkconfig --del afu 删除afu的服务

chkconfig --list | grep afu可以简写成

chkconfig --list afu 执行该命令后如果有这个服务就会打印出

来,如果没有就会报错。

clip_p_w_picpath086[4]

4、setup 控制相应服务的开启和关闭

1)选择System services

clip_p_w_picpath088[4]

2) What services should be automatically started?

控制什么服务自动启动,在这种情况下的选择,控制的是当前

runlevel级别下相应服务的开启和关闭

勾选rdync,然后选择OK

clip_p_w_picpath090[4]

3)执行chkconfig --list | grep sync,显示已经开启

clip_p_w_picpath092[4]

4)setup勾销crond,关闭crond

clip_p_w_picpath094[4]

5)执行chkconfig --list | grep crond,显示runlevel5级别下

已经关闭

clip_p_w_picpath096[4]

注意:setup和chkconfig不同,chkconfig可以定义不同的runlevel级别下服务是否开启和关闭,可以控制多个runlevel;而setup下的Service控制的是当前runlevel级别下的服务开启和关闭。

将crond恢复原状。

六、守护进程的分类:

1、System V类型

chkconfig --list 输出中前面的有多个runlevel的启动级

别的服务

一般来说,System V类型的启动脚本是存放在/etc/init.d/或

者在/etc/rc.d/init.d/。这两个目录是互为硬链接的。

clip_p_w_picpath098[4]

2、Xinetd类型

chkconfig --list输出中只有on或off状态显示的服务

xinetd本身的配置文件是/etc/xinetd.conf

clip_p_w_picpath100[4]

二者区别:

为了能让当前服务时刻保持准备监听端口或为用户服

务,如果服务经常性的频繁的被访问,需要后台服务持续

不停地运行,随时等待用户访问;但是一些不经常被访问

的服务种类,如果这种服务在后台一直处于运行状态,会

造成资源的浪费。于是伯克利大学首创了Xinetd类型的服

务,与systemV的区别是Xinetd会首先运行一个超级服务

xinetd,这个xinetd服务本身是System V类型的服务,

该服务在后台会一直处于运行状态,并且监听用户的请求。

它统管它以下的Xinetd类型的服务。当用户请求到达后,

如果用户请求的是Xinetd类型的服务端口,将进程交给

Xinetd进程。它会通过分辨用户请求的端口类型,然后通

过用户请求的端口来分辨出用户请求的是他所统管下面的服

务的哪种服务,然后主动唤醒相应的服务。然后相应的服务

开启,服务完毕然后关闭。节省系统资源消耗。

System V服务特征是需要持续性的运行。处理用户访问比较

频繁的服务;优点是访问速度快;缺陷是比较消耗系统资源。

Xinetd服务处理的是用户访问较少无需经常运行的服务。优

点是节省系统资源;缺点是相比System V服务,响应速度要

慢。

ls | grep xinetd

/etc/xinetd.d/下有xinetd统管的子服务的各种配置文件

clip_p_w_picpath102[4]

例如tftp文件,cat tftp

clip_p_w_picpath104[4]

service tftp service语句,描述的是tftp服务的配置

{ } 大括号进行描述

wait =yes 表示当我执行完一个用户的请求后,是否立即退出。

yes表示结束服务后会等待一段时间再退出。

user =root 以root用户来运行

server =/usr/sbin/in.tftpd tftp的服务程序是

/usr/sbin/in.tftpd

server_args = -s /tftpboot 运行该服务相应的参数;tftp

的共享目录是tftpboot目录

disable = yes 是否先关闭这个服务。yes表示现在未开

启tftp服务;no表示开启这个服务。

per_source = 11 单一的进程能处理多少个并发访问

启动一个tftp服务进程可以同时处理

11个用户的请求。如果超过11个,需

要再开启一个服务进程