Linux学习的重中之重——网络配置

1.基础知识

1.1——网络配置基础

Linux具有强大的网络功能,它提供了许多完善的网络工具,可以帮助用户轻松完成各种复杂的网络配置,实现各种需要的网络服务。

为了让用户主机能够访问Internet,应当正确设置网络接口。用户既可以通过命令实现,也可以通过图形界面轻松完成网络配置。

实现LIinux网络配置的目标就是修改系统中众多的网络配置文件,如:/etc/interfaces、/etc/hosts、/etc/resolv.conf等等。

1.2——IP地址

IP地址,它相当于用户主机的身份证。它包括两部分:internet网络号(Net-ID)和主机号(Host-ID)。由此我们可以讲,一个IP地址唯一标识了处在某个网络区域中的某个网络接口(也可以说某台主机)。

IP地址根据网络地址的不同,主要分为A类、B类、C类、D类和E类。

一个A类IP地址由1字节网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从1.0.0.0到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从 128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。

D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在组播中。组播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

E类地址以“1110”开始,为将来使用保留。

1.3——子网掩码

子网掩码(subnetmask)又叫网络掩码,一般构成是网络地址部分全是“1”,主机地址全是“0”。例如
C类IP地址192.168.1.134,用三个字节标识网络地址,一个字节标识主机地址,所以其子网掩码为255.255.255.0(默认子网掩码)。

子网掩码的一个主要作用就是判别主机发送的数据包是要向外网发送,还是向内网发送。例如主机A向主机B发送数据包,主机A先将自己的子网络掩码和目标主机的IP地址做与操作。由于子网掩码的网络地址部分全是“1”,主机地址全是“0”,这样与操作结果就是网络地址。

例如,IP地址为192.168.0.115,主机的子网掩码是255.255.255.0,拿IP地址和子网掩码做与操作的结果是
192.168.0.0,此即IP地址所在的网络地址。

A主机得到网络地址后,就拿得到网络地址和B所在网络地址做对比,如果网络地址相同,就说明B主机和A主机在同一个网络,数据包向内网发送;如果不相同,则向外网发送,即发送到网关。

1.4——网关

网关(Gateway)又称网间连接器、协议转换器。网关主要用在传输层上以实现网络连接,是最复杂的网络互联设备,仅用于两个高层协议不同的网络互联。

网关既可以用于广域网互联,也可以用于局域网互联。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。

1.5——DNS服务器

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被及其直接读取的IP。

1.6——路由器

路由器(Router),它是连接因特网中各局域网、广域网的设备。路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。

路由器又称为网关设备(Gateway),用于连接多个逻辑上分开的网络。所谓逻辑网络是指代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。

我们以C类IP地址为例(如:172.25.254.106/24),前面已经讲过,C类IP地址是由一个32位的二进制数来表示,前24位表示网络位,后八位表示主机地址。我们若想实现两台主机之间进行数据传输,原则上两个主机的IP地址网络位应该相同,也就是说在网络位相同的情况下,能实现相互通信的主机个数256-2=254(C类IP后八位表示主机个数,但全0和全1的地址不可用)台,这对我们现实的生产生活限制很大,因此就有了路由器。通俗的将,路由器能使IP网络位不同的主机实现数据交换。

在本文的后面我们会向大家具体介绍如何将一台主机作为路由器,从而去连通两台IP网络位不同的主机。

2.网络设定相关命令

1)ifconfig命令

当ifconfig命令不带任何参数时,用于显示当前主机的网络接口信息。

eth0表示主机的第一个以太网卡,下图中光标点亮的信息为eth0的IP地址
lo表示本地回环网卡信息

设置临时的IP地址和子网掩码,设备重起后IP会还原

ifconfig  eth0  172.22.22.22     netmask     255.255.255.0

除了上述的方式,还有以下用法

设定IP:【device是指网卡名】——临时更改,【reboot】重启后恢复

ifconfig device      ip/24

关闭网卡

开启网卡

2)网络测试命令——ping

**功能:查看网络是否连通。

下图所示,主机能访问百度网站,网络已连通

ping -c      1       -w  1

c表示数据交换次数,w表示执行时间

3) ip addr——检测或指定网络接口

用法一:

ip       addr    show        ##检测

设定IP地址——临时设定

ip addr flush eht0                       ##刷新网卡eth0上的地址
ip addr add ip/24 dev eth0          ##删除后添加IP

删除后查看

设定后查看

4)图形方式设定IP——原理是更改网络的配置文件

演示:我们用图形设定IP为【1.1.1.106】

第一步:命令打开图形

nm-connection-editor

第二步:删除已存在的网络,点击【Add】添加——后续操作如图所示


————————————————————————————————————————————


————————————————————————————————————————————


————————————————————————————————————————————

点击右下方【Save】保存即可

第三步:用【ifconfig】命令查看——添加成功

注意:

我们上述的操作是删除后添加,当然我们也可以在原网络上修改,操作大致相同。打开图形之后点击【Edit】,然后直接找到IP所在页面进行修改。

但是唯一不同的是,如果是添加,那么添加后会直接生效;而若是修改则需要用命令重启网络。命令如下:

systemctl    stop NetworkManager
systemctl   restart network             ##此时查看,生效后打开NetworkManager
systemctl   start NetworkManager

5)命令方式设定网络——nmcli

强调用命nmcli命令设定时,【NetworkManager】必须开启

基本命令

nmcli    device connect eth0                 ##启用网卡eth0
nmcli   device disconnect eth0              ##关闭eth0网卡
nmcli   device status eth0                  ##查看网卡eth0的状态

nmcli connection show                ##查看网络信息
nmcli connection    down eth0           ##关闭
nmcli connection    up eth0             ##开启
nmcli connection    delete eth0         ##删除


按着上图的步骤进行实验,观察变化便可轻松理解这些命令。最后一条我们把原来的网络【Eth0】删掉,现在我们同样用命令来建立从新的网络

nmcli  connection  add type ethernet con-name westos ifname eth0 ip4 172.22.22.22/24

上述命令表示我们建立网络的类型为以太网【ethernet】,网络名为westos,IP地址为172.22.22.22——临时建立

查看

设置静态网

1)添加网络

nmcli    connection add type ethernet    con-name  westos    ifname eth0 ip4 172.25.254.106/24
systemctl restart network

设置为动态网

注意:下图中设置动态网以后,没有IP地址是因为,作者本机中尚未安装DHCP相关软件

nmcli    connection modify westos ipv4.method auto           ##修改为动态网络

动态转变为静态

nmcli    connection modify westos ipv4.address 172.25.254.106   ##添加网络地址nmcli    connection modify westos ipv4.method manual     ##修改为静态网络systemctl retart network

添加动态网络

nmcli    connection add type ethernet con-name westos ifname eth0 autoconnect  yessystemctl restart network

6)网络配置文件——/etc/sysconfig/network-scripts/

配置文件内容解释

字符 含义
DEVICE=eth0 网卡名
TPROTO=dhcp/static/none 设备工作方式(动态/静态/无)
ONBOOT=yes 网络服务开启时自动激活网卡
IPADDR= IP地址
PREFIX=24 / NETMASK=255.255.255.0 子网掩码
NAME= 网络名称
TYPE=Ethernet 网卡工作模式=以太网

操作演示:

静态网络设定(可以一次设定多个):

vim  /etc/sysconfig/network-scripts/ifcfg-westos


重启网络后【ifconfig】查看

动态网络设定(只能设定一个),同样设定后重启网络

vim  /etc/sysconfig/network-scripts/ifcfg-westos

我们还可以在一块网卡上设置多个IP

操作如下:


查看:

7.网关设置

首先两个重要的概念:网关和路由器我们在本文的开头已经讲过了。

路由器作用:IP地址的网络域不能完成信息交换,因此在网络中需要路由器用来做地址转换【nat】,使的访问者IP变成能使目的地主机能识别的IP

网关的作用:通俗的讲就是在路由器中将访问者主机IP转换成与被访问主机相同网络段的IP

实验:

1)选择一台虚拟机作为路由器,为其添加一个网卡(实验时需要两个网卡)。

真机中打开shell,输入命令:


选择作为路由器的虚拟机【desktop】----->【open】


点击左上角的小灯泡----->点击左下角的【Add Hardware】


选择【network】---->【Device model】---->【virtio】---->【finish】

查看是否建立成功

2)将另一台虚拟机作为客户端,并将其IP设置为【1.1.1.221】

修改网络配置文件


3)修改路由器的IP

将网卡【eth1】的IP网络段设置为与客户端相同即可

将网卡【eth0】的IP网络段设置为与真机相同(查看可知真机IP为172.25.6.250)


4)路由端其他设置

查看内核的路由功能是否开启(0为关闭,1为打开),若未开启,用以下命令操作:

sysctl   -a | grep ip_forward                ##查看

打开操作:

vim /etc/sysctl.conf     ##写入  net.ipv4.ip_forward = 1sysctl -p             ##使文件生效

添加火墙地址伪装功能,关闭火墙

firewall-cmd --add-masquerade

5)客户端设置

查看路由表

route -n

添加网关

设置有全局网关和局部网关两种方式,全局网关对所有网卡都生效,局部网关只针对所设置网卡生效

vim /etc/sysconfig/network-scripts/ifcfg-eth0      ###局部网关设置vim  /etc/sysconfig/network              ##全局网关设置RATEWAY0=1.1.1.121

重启网络服务

systemctl restart network


6)测试:

ping 172.25.6.250

客户端的IP为【1.1.1.221】,真机的IP为【172.25.6.250】,正如本文开头介绍的那样,两个网络位不同的主机不能完成通信,那么我们在做了以上操作后,测试看看能不能实现不同网络段主机的数据交换


能ping通,证明实验成功

实验二:实现虚拟机上网——实际上在解决这个问题时,我们是把真机作为路由器来实现虚拟机上网功能

1)首先保证真机接入网络,然后查看真机IP信息,找到真机内网IP


2)检查真机内核路由功能是否开启

sysctl   -a | grep ip_forward                ##查看,若未开启进行如下操作vim /etc/sysctl.conf     ##写入  net.ipv4.ip_forward = 1


关闭真机火墙,开启地址伪装功能

firewall-cmd --add-masqueradesystemctl stop firewalld

3)设置虚拟机网关——网关网络位只要和真机内网网络位相同即可

查看虚拟机路由

route -nvim /etc/sysconfig/networksystemctl restart network          ##修改完记得重启网络


4)开始测试

在真机中【ping】百度


在虚拟机中用上图中鼠标选中的百度IP进行测试

8.网络的地址解析

简单来讲,地址解析就是用户输入的网址转化为机器能够识别的IP地址

地址解析分为网络解析和本地解析。本地解析依靠修改相关配置文件(将网址对应的IP添加到配置文件中);网络解析依靠DNS服务器,只用在本机中添加DNS的IP地址即可。

两种方式主要区别在于:

(1)系统默认本地解析的优先级高于网络解析。用户输入的网址先会进行本地解析,如果未找到对应的IP地址,那么就会访问DNS服务器,在那里进行解析。

(2)本地解析需要手动添加比较麻烦。比如我们对百度的网址进行本地解析,但是百度里面的相关服务百度新闻、百度贴吧等,这些服务对应的是新的网址和IP,我们必须访问一个就要添加一个,这显然在生活生产中不适用。

(3)DNS(域名系统)服务器用来做网络解析的工具,它里面对已存的域名都进行了解析,我们使用它相对来说比较方便。

实验三:在上述实验中,我们用虚拟机完成上网,并成功访问百度IP,我们在虚拟机中打开浏览器输入网址或直接像真机一样【ping】百度网址,发现报错,因此我们接下来要做的便是网络的地址解析


1)本地解析——配置文件/etc/hosts,更改即可生效

vim  /etc/hosts

我们以比百度新闻为例:

解析前

解析后

vim /etc/hosts


效果如下



2)网络解析——DNS服务器的添加,/etc/resolv.conf(更改即可生效)

我们可用中国电信搭建的国内免费公众DNS服务器,IP地址为114.114.114.114

vim /etc/resolv.conf


更改后:我们可以随便选一个域名,如:www.hao123.com


3)解析方式优先级的修改

前面已经提到,本地解析的优先级高于网络解析,我们可以通过以下方式来修改

vim /etc/nsswitch.conf

文件第39行左右:

更改前

更改后

4)固定DNS

注意: 动态网络下,重启网络后系统会给DNS分配一个新的地址

固定DNS操作如下:

在网络配置文件中加一行:

PEERDNS=no

网络配置——Linux入门到精通的难关之一相关推荐

  1. Linux入门到精通

    Linux是什么? Linux是一套免费使用和自由传播的类Unix的的操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件,应用程序 ...

  2. ASP网络编程从入门到精通 下载

    <ASP网络编程从入门到精通> 清华大学出版社 特点: 面向ASP零基础读者,循序渐进 全面分析ASP技术细节 用代码描述个个知识点,操作性强 通过典型模块设计,体会ASP的奥妙 通过网上 ...

  3. java消息头,Java网络编程从入门到精通:HTTP消息头字段

    Java网络编程从入门到精通:HTTP消息头字段 一.通用头字段 1. Connection 这个字段只在HTTP1.1协议中存在.它决定了客户端和服务器进行了一次会话后, 服务器是否立即关闭网络连接 ...

  4. LWIP网络开发从入门到精通

    LWIP网络开发从入门到精通 1. LWIP应用开发 | LWIP协议栈 2. LWIP应用开发 | 以太网基础知识 3. LWIP应用开发 | TCP/IP协议簇一 4. LWIP应用开发 | TC ...

  5. 虚拟机三种网络连接模式桥接网络配置Linux

    虚拟机三种网络连接模式桥接网络配置Linux 桥接模式 桥接,相当于虚拟机设置为一台真实的服务器,主机和虚拟机之间以通讯并且,虚拟机可以访问网络资源.一定局域网内其他主机可以访问虚拟机 桥接模式需要自 ...

  6. 网络配置——Linux运维基础

    今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础.然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底.还有就是我很珍惜我以前掌握过的这些运维的技能.今天突然间问自 ...

  7. linux如何启动网络配置文件,linux系统的网络配置教程 Ubuntu系统网络设置方法网络配置linux及Ubuntu通过修改配置文件进行网络配置...

    Windows系统网络配置方法 一.设置网络 1)Windows打开cmdcmd 输入ipconfig  /all 可以看到 修改为静态IP Ubuntu修改网络为静态IP 设置虚拟机: 查看IPif ...

  8. Linux入门到精通:第 1 关——创建/删除新用户(第二章:Linux之用户管理)

    第 1 关--创建/删除新用户 任务描述 相关知识 Linux创建用户命令 案例演示 Linux删除用户命令 案例演示 编程要求 评测说明 任务描述 恭喜你已经完成了Linux入门的实训,接下来让我们 ...

  9. Linux入门到精通:第 1 关——创建/删除用户组(第二章:Linux之用户管理)

    第 1 关--创建/删除用户组 任务描述 相关知识 Linux创建用户组命令 案例演示一 案例演示二 Linux删除用户组命令 案例演示一 编程要求 评测说明 任务描述 恭喜你已经完成了Linux之用 ...

最新文章

  1. 3软件测试原理与软件缺陷
  2. 吴 恩 达 教 你 做 机 器 学 习 职 业 规 划
  3. nacos持久化配置MySQL8_Nacos 数据持久化 mysql8.0
  4. rails笔记 cache系统
  5. c语言四个数找大wxyz,2015年计算机二级《C语言》考试上机测试题(7)
  6. IntelliJ IDEA forMac 如何生成项目的javadoc(API文档)
  7. OJ1033: 五级制成绩
  8. spring mvc 和ajax异步交互完整实例
  9. ECMAScript面向对象(一)
  10. linux之yum下载rpm包离线安装
  11. Android中判断用户多次连续点击
  12. mysql中文乱码--存入mysql里的中文变成问号的解决办法
  13. Playing Atari with Deep Reinforcement Learning 中文 讲解
  14. 数值分析原理课程实验——四阶龙格-库塔(Runge-Kutta)方法
  15. java大华监控_JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路。
  16. 物联网规划元旦前后出台 定十领域
  17. 基于粒子群优化算法的微型燃气轮机冷热电联供系统优化调度(Matlab代码实现)
  18. 复变函数和积分变换(Complex Function I)
  19. 解决开启VMware虚拟机后宿主机出现插U盘没反应的问题
  20. Algorand正式开放测试网TestNet!

热门文章

  1. R语言dplyr包使用anti_join()函数返回在一个dataframe中存在而在另一个dataframe中没有匹配值的所有行实战
  2. R语言生成对数线性间隔数据序列(Log-linearly Spaced Sequences)
  3. R可视化包ggplot2更改背景色实战
  4. TED+如何让压力成为朋友+如何面对压力决定你的未来
  5. 特征重要性、特征集成+FeatureUnion、特征选择变换器+ColumnTransformer、标签特征变换+TransformedTargetRegressor、特征质量、自动学习数据中的特征
  6. java中getDelta是什么意思_Java IResourceDelta.getMarkerDeltas方法代码示例
  7. hppRNA-基于Snakemake的便捷无参数管道,可用于众多样品的RNA-Seq分析
  8. 测序数据的处理方法及装置制造方法及图纸
  9. 四十而不惑——DNA测序技术的前世今生和未来
  10. 用C语言编程 限定输入的年月日,C语言程序设计: 输入年月日 然后输出是星期几...