data/method/一些思考/工作材料/04—Linux网络配置.txt

90 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

一、Linux网络简介
Linux提供强大的网络功能提供了许多网络工具帮助用户完成各种复杂的网络配置实现需要的网络服务。我们设置Linux网络既可以通过命令行的方式也可以通过图形界面。
配置Linux网络的唯一目标就是配置众多的网络配置文件例如/etc/interfaces、/etc/hosts、/etc/resolv.conf等等。
通常情况下我们可以通过网卡/无线网卡等访问网络其中以太网卡的映射为eth无线网卡的映射为wlan。那么路由器是怎样寻找到我们的电脑的呢或者如何标识每个连接到Internet的网络接口呢这时我们就需要IP地址来标识我们电脑的Internet网络地址。
/********一些常见网络相关术语**************/
IPInternet Protocol网络互连协议IP地址具有唯一性用于标识当前设备从而从千千万万的数据包中获得/发送自己的数据包。
TCPTransmission Control Protocol传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议作用于IP层之上、应用程序层之下位于网络层次的第四层——传输层。TCP把应用程序要发送的数据分割成适当长度的报文段并给每个报文段进行编号然后发送给IP。
UDPUser Datagram Protocol用户数据报协议。功能类似于TCP不过是面向无连接的、不可靠的传输协议。
MACMedia Access Control介质访问控制烧录在每个网卡内每个网卡有不同的MAC地址作为该网卡独一无二的物理标识符。
网关Gateway又称网间连接器、协议转换器是一个网络连接到另一个网络的“关口”。由于目前大多数的网络通过路由器连通Internet因此网关等同于路由器的IP地址。
子网掩码subnet mask又称网络掩码、地址掩码、子网络遮罩它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在它必须结合IP地址一起使用。子网掩码只有一个作用就是将某个IP地址划分成网络地址和主机地址两部分。
DNSDomain Name System域名解析。把域名地址解析成IP地址。
/********一些常见网络相关术语end***********/
1、IP地址解析
IP地址常见的构成为xxx.xxx.xxx.xxx其中xxx表示0~255。
一个IP地址主要包括三部分Internet网络号Net-ID、子网号Subnet-ID、主机号Host-ID。在C类IP地址xxx.xxx.xxx.xxx中前两个xxx表示网络号第三个xxx表示子网号第四个xxx表示主机号。例如IP地址192.168.1.23表示当前计算机网络号段为192.168号段子网号段为1主机号为23。
2、IP地址分类
根据不同的需求IP地址分为五类分别用字母A、B、C、D、E表示。
A类地址保留给政府机构范围1.0.0.0~126.0.0.0。A类地址的第一位为网络号其他三位为主机号。其中127.xxx.xxx.xxx保留用作本地环回。
B类地址分配给中/大型公司范围128.0.0.0~191.255.0.0。B类地址的第一位和第二位为网络号其他两位为主机号。其中169.254.xxx.xxx保留表示的是当前计算机使用DHCP模式但无法获得IP地址即报错用IP地址
C类地址分配给任何需要的人范围192.0.0.0~223.255.255.0。C类地址的第一位、第二位、第三位为网络号第四位为主机号或者第一位和第二位为网络号第三位为子网号第四位为主机号。其中192.168.xxx.xxx表示私有地址。
D类地址D类地址不分网络号和主机号范围224.0.0.0~239.255.255.255。
E类地址E类地址不分网络号和主机号范围240.0.0.0~255.255.255.254。
通常情况下IP地址在该子网内将最小的IP地址作为识别网络本身通常为网关所在地址将最大的IP地址作为该网络的广播地址其余IP地址分配给主机。例如192.168.1.xxx段此网段的网关地址为192.168.1.1广播地址为192.168.1.255其余的IP地址2~254作为其他主机的IP地址。
2、子网掩码
子网掩码配合IP地址使用作用为将某个IP地址划分为网络地址和主机地址两部分。
对于A类IP地址来说默认子网掩码为255.0.0.0对于B类IP地址来说默认子网掩码为255.255.0.0对于C类IP地址来说默认子网掩码地址为255.255.255.0。
子网掩码的长度为32位二进制数值为靠左侧全为1靠右侧全为0。1的位数代表该子网的网络号长度0的位数代表该子网的主机号长度。实际使用时将子网掩码与IP地址进行按位与运算子网掩码会遮盖住IP地址的部分位这样遗留下来的数字即为该子网的主机号。
有关Linux网络相关的知识我们会在后续的课程中详细讲解。
二、配置Linux网络
接入网络的计算机需要依靠IP地址来标识自己在网络中的身份没有IP地址则无法进行网络通讯。因此配置IP地址是Linux系统能否成功上网的关键。
配置IP地址有两种方式静态IP和动态IP。
静态IP在系统接入网络之前预先设置好该主机的IP地址。静态IP总是固定的IP地址。
动态IP使用DHCP网络服务在主机接入网络后动态获得IP地址。动态IP地址不总是固定的IP地址。
1、ifconfig命令
我们可以使用ifconfig命令来查看当前主机的网络状态。
ifconfig [可选端口] [可选项|地址]
当ifconfig命令不携带任何参数/可选项的时候会将当前主机的网络接口信息显示到终端上。在ifconfig的输出结果内我们可以看到以下信息
1.eth0本机的网卡。若为无线网则为wlan。若本机有多块网卡则还会有eth1、eth2等。
2.HWaddr本机网卡的物理地址MAC
3.inet addr本机的IP地址
4.Bcase所在子网的广播地址
5.Mask子网掩码
6.loLoopback本地环回接口也叫回送接口IP地址默认为127.0.0.1。它是本机的一个虚拟接口,不属于任何一个有类别的地址。可以把它看做一个用不宕机的接口。常用它来检查本地网络协议、数据接口是否正常。
若只关心某个端口的信息则可在ifconfig命令后面指定端口名。例如ifconfig eth0则只会输出eth0端口的网络信息。
ifconfig命令内没有显示网关信息可以使用nm-tool命令来查看本机网关信息。
2、动态IP地址分配与DHCP协议
在一个大型网络中由于存在许多计算机系统随时随地进入网络路由器管理网络的时候不得不实时配置网络信息这时使用静态IP地址就显得有些笨拙。若我们能够自动获取子网的IP地址、子网掩码、路由表信息、DNS服务器地址等就可以大大简化客户机的网络配置难度。
由此DHCPDynamic Host Configuration Protocol动态主机配置协议协议应运而生。DHCP是一个局域网的网络协议主要有两个用途给内部网络自动配置IP地址、给内部网络管理员管理所有计算机的权限方法。
那么DHCP协议是怎样实现动态IP地址分配的呢本质上来说是采用IP地址“租赁”的方式来动态分配IP地址的。具体步骤如下
1.客户机想子网内广播“申请DHCP报文”。所有的DHCP服务器都可以响应这个报文。
2.当有DHCP服务器响应该报文时会回复一个"DHCP Offer"报文,该报文内的"Your IP Address"字段就是DHCP服务器给客户机分配的IP地址。若客户机成功接受"DHCP Offer"报文且使用该IP则DHCP服务器会记录该IP地址表示该IP地址已分配。
3.在使用租期超过50%的时间后DHCP服务器会以单播形式询问客户机是否续租该IP地址。若客户机成功接收该报文并表示续租则DHCP服务器会延长该客户机对该IP地址的租期若没有收到客户机的反馈则默认客户机继续使用该IP地址。
4.在使用租期超过87.5%的时间后DHCP服务器会以广播形式询问客户机是否续租该IP地址。若客户机成功接收该报文并表示续租则DHCP服务器会延长该客户机对该IP地址的租期若没有收到客户机的反馈则默认客户机继续使用该IP地址等待租期到期。租期到期后DHCP服务器会回收该IP地址。
5.可能DHCP服务器会收到多条客户机租赁IP地址的请求原则上来说DHCP服务器会优先处理最先得到的请求。
配置好的IP地址会存放在/etc/network/interfaces文件内。若为静态IP则系统会从该文件内读取IP地址参数若为动态IP则使用DHCP协议获取网络IP地址。
3、netstat命令
netstat命令用于显示系统中当前网络的状况。不过netstat命令需要明确给出第二个参数来显示所需要的信息
netstat [可选项]
缺省:列出主机内所有开放的网络套接字信息。
-r显示路由表
-g显示IPv4和IPv6
-i显示网络接口
-M显示最大连接数
-s显示每种协议的统计数据
其中netstat -r命令和netstat -i命令比较常用。netstat -r用于显示当前计算机的路由表信息。netstat -i命令可以迅速查看当前的网卡状态。
4、ping命令
pingPacket Internet Groper命令是常用的检测网络连接工具它用于检测两个主机之间的连通性。
ping [可选项] [IP地址 或 域名]
-c 数字:发送测试包的次数
ping命令执行时会不断向目标主机发送测试包并检测应答时间。默认情况下ping命令会一直进行直至按下ctrl+c组合键终止。若不想ping命令无限期运行可以使用选项-c+数字的形式来指定ping命令发送测试包的次数。
5、nslookup命令与域名解析
DNS域名解析的作用是将域名解析为IP地址。我们知道每一台主机访问网络的时候都有自己独特的IP地址但是记忆这些特定的IP地址显然是十分麻烦的。某些服务器提供域名服务将IP地址“包装”成域名例如我们知道的www.baidu.com百度服务器的IP地址是202.108.22.5(北京)/180.97.33.107南京显然记忆百度的域名要比记忆百度的服务器IP地址方便许多。那么怎样将域名解析为电脑可识别的IP地址呢这里就需要DNSDNS向服务器提交域名解析的请求并将获得解析后的IP地址。
我们可以使用nslookup命令查看哪个DNS服务器提供了域名解析服务
nslookup www.baidu.com
执行命令后可以看出是180.97.33.107这个服务器提供了DNS服务将www.baidu.com解析成了百度的IP地址。
常用的DNS地址有三个114.114.114.114、8.8.8.8、192.168.1.1。其中:
114.114.114.114是国内第一个免费开放的DNS服务器又称114DNS
8.8.8.8是Google公司提供的DNS服务器
192.168.1.1是使用本地网络的DNS服务器
若出现网速尚可、qq等服务软件可用但无法打开网页的情况则一般为DNS服务器出现了问题可以尝试修改本机的DNS服务器。
/**********************DNS劫持***********************/
DNS劫持又称为“域名劫持”是指攻击者在劫持的网络范围内拦截域名解析请求并返回一个假的IP地址或什么都不做使请求失去相应。
我们知道DNS的作用是将域名解析成IP地址返回给本机。若有攻击者伪装成DNS服务器则可能将用户发送的请求拦截拦截请求后攻击者可以做以下攻击
1.什么都不做使用户的请求失去相应,用户本机显示为无法访问网络。
2.返回一个伪装的IP地址诱导用户访问该IP地址从而进行进一步的黑客攻击。
DNS劫持十分凶猛且不易被感知。曾有黑客利用DNS劫持导致巴西最大银行1%的用户账户被盗2010年1月12日百度域名被劫持约40分钟无法通过百度域名www.baidu.com访问百度网站2014年1月21日全国大范围DNS故障中国顶级域名DNS被劫持导致大部分网络服务无法运行……
DNS预防工作困难各大公司需要预备安全预案来针对DNS攻击。例如准备两个以上的域名、严格限制网关和路由器的管理员密码等。
/**********************DNS劫持end********************/