Liunx系统网络配置
一. 网络协议的介绍
1.1网络协议的概念:
网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息时采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。
1.2TCP/IP协议
TCP/IP协议字面上代表了两个协议:TCP(传输控制协议)和IP(网络协议)。1983念1月1日,在因特网的前身(ARP网)中,TCP/IP协议取代了旧的网络控制协议,从而成为今天的互联网的基石。
1.3常见的网络应用协议
①HTTP协议
超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的www文件都必须遵守这个标准。
设计http最初的目的是为了提供一种发布和接收html页面的方法。1960年中美国人ted nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本,这成为了http超文本传输协议标准架构的发展根基。
②DNS协议
DNS是域名系统的缩写,该系统用于命名组织到育成结构中的计算机和网络服务。
域名是由圆分开一串单词或缩写组成的,每一个域名都对应一个唯一的IP地址,在internet上域名与IP地址之间一一对应的,DNS就是进行域名解析的服务器。
DNS命名用于internet等tcp/IP网络中,通过用户友好的名称查找计算机和服务。DNS是因特网的一项核心服务,它作为可以将与名和IP地址相互映射的一个分布式数据库。
③FTP协议
FTP是TCP/IP协议组中的协议之一。
FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。
在开发网站的时候,通常利用FTP协议把网页或程序传到web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
④Telnet协议
Telnet协议时TCP/IP协议中的一员,是internet远程登录服务的标准协议和主要方式。它作为用户提供了在本地计算机上完成主机工作的能力。
在终端使用者的电脑上使用Telnet程序,用它连接到服务器。终端使用者可以在Telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。
要开始一个Telnet会话,必须输入用户名和密码来登录服务器。
Telnet是常用的远程控制web服务器的方法。
二. 查看Linux网络配置
2.1查看网络接口信息
在Linux环境中,所有的网络通讯都发生在软件接口与物理网络设备之间,那么一个系统都有哪些物理网络设备,这些设备如何查看他们的借口信息?
在centos7中,要看网络接口的信息,不在使用ifconfig命令,而是使用了ip命令。
Ip命令用来显示或操纵Linux主机的路由器、网络设备、策略路由器和隧道,是Linux下较新的功能强大的网络配置工具。
⑴Ip时iproute软件包里面的一个强大的网络配置工具,它能够代替一些传统的网络工具。
命令格式:ip [OPTIONS] OBJECT [CONNAND] [ARGUMENTS]]
例子:
ip link show – 显示设备属性
ip address show –显示协议地址
⑵centos7中提供了强大的图形化配置工具,里面有两个命令:nmcli和nmtui
numcli:NetworkManageCommandLine Interface
通过nmcli命令来查看网卡
nmtui:NetworkManageTextuser Interface
通过nmtui命令可以配置网络
⑶ip link show命令
显示所有可用的网络接口的列表(无论接口是否**)
ip link show up:可以查看**的接口信息。
ip -s link show网络接口名称:可用查看更加详细的接口信息。
⑷ip addr命令
ip addr命令是用于获取网卡配置与网络状态等信息。
ip addr命令是ip address show命令简写
使用ip addr命令来查看本机的网卡配置与网络状态信息时,其实主要看的是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称MAC地址)
2.2查看DNS服务地址
DNS服务器和域名服务器同义。DNS是进行域名和与之相对应的IP地址转换的服务器。
在centos7上,雪瑶查看DNS服务器地可以查看/etc/resolv.conf文件内容。
2.3查看本季路由表
使用route命令可以查看Linux内核路由表
使用IProute2工具包的ip route list也可以查看路由器的内容。
2.4查看主机名称
使用hostname命令可以查看系统主机名。
如需要看更详细的信息,可以使用hostnamectl命令查看主机信息。
三.网络配置文件介绍
3.1配置文件介绍
3.2网络接口配置文件的介绍
(1)使用ip addr可以查看网络接口的IP地址,但是这些ip地址是如何设置的?Linux环境中的一切皆是文件,所以配置信息也是可以存放在文件中的。
(2)进入Linux环境中,在/etc/sysconfig/network-scripts/目录中有很多跟网络相关的脚本文件,其中就有网络接口配置文件ifcfg-网络接口名称。
(3)Ifcf-lo是环路地址的配置文件。
(4)Ifup是开启网络接口的脚本文件。
(5)Ifdown是关闭网络接口的脚本文件。
(6)打开/etc/sysconfig-scripts/ifcfg-eno**网络接口配置文件,可以看到里面有许多配置项目
(7)
3.3主机名称配置文件介绍
/etc/hostname文件中放置的是系统的主机名称,默认情况下Linux环境的主机名称为localhost.localdomain
3.4地址解析配置文件介绍
(1)/etc/host.conf是用来配置域名服务客户端的控制文件,主要内容如下:
multo on #允许主机拥有多个IP地址
order hosts,bind #主机名解析顺序,即本地解析,DNS服务器解析,也就是说在系统里对于一个主机名首先进行本地解析,如果本地解析没有,然后进行DN服务器解析。
(2)/etc/hosts是完成主机名映射为IP地址的具体信息文件。
(3)/etc/resolve.Conf是指定域名的DNS服务器IP等信息的配置文件,配置参数一般接触到的有4个:
nameserver 指定DNS服务器的IP地址
omain 定义本地域名信息
search 定义域名的搜索列表
sortlist 对gethostbyname返回的地址进行排序
但是最常见的配置参数是nameserver,其他的可以不设置,这个参数指定了DNS服务器的IP地址,如果设置不正确,就无法进行正常的域名解析。
四.临时配置网络信息
4.1临时配置IP地址和子网掩码
使用ip addr可以查看网络接口的IP地址,也可以临时为网络接口配置一个IP地址和子网掩码,具体格式如下:
#ip addr add/del IP地址/掩码 [broadcst 广播地址] dev 网络接口名称
例子:
① #ip addr add 192.168.0.1/24 dev ens33 #设置ens33网卡IP地址192.168.0.1。
② #ip addr del 192.168.0.1/24 dev ens33 #删除ens33网卡IP地址
③ 在不重启network网络服务的基础上,临时IP地址和子网掩码是有效的,一旦重启机器或者重启network服务,临时配置的设备会被清除。
④ 可以给网卡配置多个IP地址。
4.2临时配置网关
在网络中,不通过网段通信要通过网关,所以网关的设定也很重要,临时设置网关可以使用如下命令:
#ip rpute add/del default via 网关地址 dev 网络接口名称
配置默认网关:
#ip route list #查看接口名称
#ip route add default via 192.168.0.254 dev eth0
#设置默认网关为192.168.0.254
#ip rpute default #删除默认路由
五.永久配置网络信息
5.1永久修改接口配置文件
/etc/sysconfig/network-scripts/ifcfg-en***文件内容,可以把IPv6部分注释掉
。
注意:在Linux环境中,修改了配置文件,一定要重启服务才能生效。在修改了网络接口配置文件后,要重启network网络服务。
5.2永久配置主机名称
使用hostnamectl可以查看详细的主机信息,也可以修改主机的名称。使用hostnamectl set-hostname命令修改主机名,可以永久生效。
除了使用命令来修改主机名称以外,还可以直接修改配置文件/etc/hostname
六.网络管理命令
6.1管理命令介绍
(1)计算机网络的主要优点是能够实现资源和信息的共享,并且可以远程访问信息。Linux提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户登录到远程计算机上、传输文件和执行远程命令。
(2)Ping查询某个及其是否在工作
Netstat查看网络的状况
Nslookup查询域名和IP地址的对应
Last命令和lastlog命令查询用户登录信息
Trace route命令用来检测传输的路径
6.2ping命令
(1)ping命令的全称是packet internet grope,即因特网包探索器。Ping在网络中使用很广泛,一般用来测试源主机网络的连通性。
(2)当网络不通时,一般可以通过该命令来检查和判断网络出现故障的原因。Pig命令通过调用icmp(因特网控制报文协议),发送一份icmp回显请求报文目的的主机,并等待返回icmp回显答应。
命令格式:ping(选项)(参数)
(3)常用选项:
-c<完成次数>:设置完成要求回应的次数;
-v:详细显示指令的执行过程;
-s<数据包大小>:设置数据包的大小;
-t<存活数值>:设置存活数值ttl的大小;
6.3netstat命令和ss命令
(1)netstat是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的TCP网络连接,TCP和UDP监听,进程内存管理以及每一个网络接口设备的状态信息。Netstst用于显示与IP、TCP
(2)UDP和ICMP协议相关的统计数据,一般用于检测本机个、各端口的网络连接情况,让用户得知有哪些网络连接正在运作。
注意中;最小化安装centos7需要安装net-tolls软件包才能使用netstat命令。
(3)Netstat命令
命令格式:netstat[选项][参数]
常用选项:
-a(all)显示所有选项,netstat默认不显示listen相关
-s按各个协议进行统计
-n拒绝显示别名,能显示数字的全部转化成数字。
-t(tcp)仅显示tcp相关选项
-u(udp仅显示udp相关选项)
-I仅列出有在listen(监听)的服务状态
-p显示建立相关连接的程序名(macOS中表示协议-p protocol)
-c每隔一个固定时间,执行该netstat命令。
(4)实例:
(5)Ss命令
Ss是socket ststistics的缩写。Ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但是ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快更高效。
命令格式:ss[参数][过滤]
常用选项:
-V --version 程序版本信息
-n --numeric不解析服务名称
-r --resolve解析主机名
-t --tcp仅显示TCP套接字
-o --options显示计时器信息
-e --extended显示详细的套接字(sockets)信息
-p --processe显示使用套接字(socket)的内存使用情况
-i --info显示TCP 内部信息
显示TCP连接:ss –t –a
列出所有打开的网络连接端口:ss –l
查看进程使用的socket:ss –pl
显示所有的UDP Socket:ss –u –a
匹配元进程地址和端口号:ss dst ADDRESS_PATTERN
匹配本地地址和端口号:ss src ADDRESS_PATTERN
6.4last命令和lastlog命令
last命令:查看目前和过去的用户登录信息
6.5traceroute命令
(1)traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小时40字节。
(2)通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)说的路径可以会不一样,但是基本上来说大本分时候所走的路由是相同的。
语法格式:traceroute(选项)(参数)