Linux网络配置

一、Linux网络简介
Linux提供强大的网络功能,提供了许多网络工具帮助用户完成各种复杂的网络配置,实现需要的网络服务。我们设置Linux网络既可以通过命令行的方式,也可以通过图形界面。
配置Linux网络的唯一目标就是配置众多的网络配置文件,例如/etc/interfaces、/etc/hosts、/etc/resolv.conf等等。
通常情况下我们可以通过网卡/无线网卡等访问网络,其中以太网卡的映射为eth,无线网卡的映射为wlan。那么,路由器是怎样寻找到我们的电脑的呢,或者,如何标识每个连接到Internet的网络接口呢?这时我们就需要IP地址来标识我们电脑的Internet网络地址。
/********一些常见网络相关术语**************/
IP(Internet Protocol):网络互连协议,IP地址具有唯一性,用于标识当前设备从而从千千万万的数据包中获得/发送自己的数据包。
TCP(Transmission Control Protocol):传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,作用于IP层之上、应用程序层之下,位于网络层次的第四层——传输层。TCP把应用程序要发送的数据分割成适当长度的报文段并给每个报文段进行编号,然后发送给IP。
UDP(User Datagram Protocol):用户数据报协议。功能类似于TCP不过是面向无连接的、不可靠的传输协议。
MAC(Media Access Control):介质访问控制,烧录在每个网卡内,每个网卡有不同的MAC地址作为该网卡独一无二的物理标识符。
网关(Gateway):又称网间连接器、协议转换器,是一个网络连接到另一个网络的“关口”。由于目前大多数的网络通过路由器连通Internet,因此网关等同于路由器的IP地址。
子网掩码(subnet mask):又称网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
DNS(Domain 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.lo(Loopback):本地环回接口,也叫回送接口,IP地址默认为127.0.0.1。它是本机的一个虚拟接口,不属于任何一个有类别的地址。可以把它看做一个用不宕机的接口。常用它来检查本地网络协议、数据接口是否正常。
若只关心某个端口的信息,则可在ifconfig命令后面指定端口名。例如ifconfig eth0,则只会输出eth0端口的网络信息。
ifconfig命令内没有显示网关信息,可以使用nm-tool命令来查看本机网关信息。
2、动态IP地址分配与DHCP协议
在一个大型网络中,由于存在许多计算机系统随时随地进入网络,路由器管理网络的时候不得不实时配置网络信息,这时使用静态IP地址就显得有些笨拙。若我们能够自动获取子网的IP地址、子网掩码、路由表信息、DNS服务器地址等,就可以大大简化客户机的网络配置难度。
由此,DHCP(Dynamic 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命令
ping(Packet 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地址呢?这里就需要DNS,DNS向服务器提交域名解析的请求并将获得解析后的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********************/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值