Linux中的网络配置

本章主要介绍网络配置的方法

  • 网络基础知识
  • 查看网络信息
  • 图形化界面修改
  • 通过配置文件修改

1.1 网络基础知识

一台主机需要配置必要的网络信息,才可以连接到互联网。需要的配置网络信息包括IP、 子网掩码、网关和 DNS

1.1.1 IP地址

在计算机中对IP的标记使用的是32bit的二进制

例如:11000000 10101000 00011010 01100100

这里共有32位由1和0组成的二进制数字,这样的地址对于人类来说并不好记忆,所已用3 个点把这32位的二进制隔成4个部分,每个部分8个二进制数字

同理,一个IP地址也可以分成两个部分,一个是网络位,另一个是主机位。对于电话号码 来说,我们能一眼判断出来哪个是区号,哪个是电话号码,但是对于来说(如 192.168.26.100),哪些是网络位,哪些是主机位呢?这时就需要用到子网掩码了

子网掩码是用来标记一个IP里面哪些是网络位,哪些是主机位的

1.1.2 网关

我们把一个网络中的网关理解为一个城市中的高铁站,如果我们想从一个城市去往另外一 个城市,需要先到高铁站,坐上高铁之后,高铁会把我们送往另外一个城市。同样地,如果 一个网络中的主机要发送一个数据包去往另外一个网络,则需要先把这个数据包发送到网 关,然后由网关把这个数据包转发到另外一个网络

所以,如果我们没有给一台机器配置网关,则这台机器的数据包是不能和其他网络的主机 进行通信的,只能和同一个网段的数据包通信

注意

给机器配置的IP和网关必须是属于同一个网段的。在我们的练习环境中,本书所使用的网络是 192.168.26.0/24网段,我们需要把网关设置为102168262。如果读者所使用的网络是 192.168.X.0/24网段,则需要把网关设置为192.168.26.X.2,这里的X是一个数字

1.1.3 DNS

两台主机通信时依赖的是IP,但是IP地址并不好记忆,不如主机名好记,例如 www.rhce.cc,再如 www.baidu.com。我们说两台主机通信依赖的是IP,但是我们访问 www.rhce.cc时,这是主机名不是IP,那是怎么通信的呢?这里就要用到 DNS 了

DNS服务器的主要作用是做域名解析,可以把主机名解析成P地址,所以我们需要给系统 指定 DNS服务器。当我们指定了DNS服务器地址之后,在浏览器中输人www.rhce.cc时,系统会向 DNS服务器查询 www.rhce.cc的IP,然后再通过这个IP来访问

下面开始讲解如何查看这些网络信息,以及如何配置这些网络信息

1.2 查看网络信息

查看 IP 信息可以通过ifconfig命令

[root@redhat8 ~]# ifconfig

这里查看的是所有活跃网卡的信息,如果想查看不管是沾跃还是不沾跃网卡的信息,以通 过ifconfig -a来查看。如果只想查看某张网卡的信息,可以通过“ifconfig 网卡名”来查 看。例如,只查看ens160的网络信息这里ens160是网卡名)

[root@redhat8 ~]# ifconfig ens160

这里inet后面跟的是此网卡的IP,ether后面跟的是此网卡的MAC地址

也可以通过“ip address show 网卡名”来香看。例如,杏看engl60的网终信息

[root@redhat8 ~]# ip address show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:0f:24:fe brd ff:ff:ff:ff:ff:ff
    inet 192.168.161.16/24 brd 192.168.161.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0f:24fe/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@redhat8 ~]#

这里address可以简写为addr 或a,show可以简写为sh

如果要查看所有网卡的信息,可以写为“ip a”。如果网卡ens160上配置了多个IP,通过ifconfig ens160只能看到一个IP,如果要看到所有的IP,可以使用ip address show ens160命令

查看网关可以使用route -n命令,这里的-n是为了防止反向解析,即防止把P解析成主机名

[root@redhat8 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.161.2   0.0.0.0         UG    100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.161.0   0.0.0.0         255.255.255.0   U     100    0        0 ens160
[root@redhat8 ~]#

可以看到网关是192.168.161.2

查看DNS,所使用的DNS记录在/etc/resolv.conf中

[root@redhat8 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 202.96.128.86
nameserver 119.29.29.29
[root@redhat8 ~]#

在nameserver后面指定的就是当前默认使用的DNS

为了更好地理解,这里举一个例子。我们在一张标签上写上IP、子网掩码、网关、DNS等 信息,然后把这个标签贴到网卡上,那么这张网卡就有这些网络信息了,如图所示

这个标签就叫作连接(connection),给网卡配置IP,只要给这个网卡建立一个连接就可以了

通过nmcli connection或简写为nmcli conn来查看当前连接

[root@redhat8 ~]# nmcli connection 
NAME    UUID                                  TYPE      DEVICE 
ens160  5b7f7c48-0c26-4df7-95e4-fe5036fccff1  ethernet  ens160 
virbr0  9505403f-f4f2-4242-967c-225254ac4fbf  bridge    virbr0 
[root@redhat8 ~]#

这里 DEVICE 对应的是网卡名,NAME对应的是连接名。整句的意思就是网卡ens160存 在一个连接,名称为ens160

查看连接的具体属性,可以通过“nmcli connection show连接名”来查看

下面查看ens160属性中与IPv4相关的条目

[root@redhat8 ~]# nmcli connection show ens160 | grep ipv4

可以看到,ens160获取P的方式是 manual

因为我们要练习创建连接,所以这里先把此连接删除

[root@redhat8 ~]# nmcli connection delete ens160 
成功删除连接 "ens160" (5b7f7c48-0c26-4df7-95e4-fe5036fccff1)。
[root@redhat8 ~]#

这里已经查看到相关的网络信息了,如果要配置IP、网关、DNS等网络信息呢?下面我们 分别来讲解如何通过图形化界面的方式、修改配置文件的方式、命令行管理的方式来配置网络信息

1.3 图形化界面修改

在图形化执行nm-connection-editor 命令

即可打开【网络连接】图形化界面窗口,这个窗口显示了当前具有的连接,单击左下角的 【+】按钮,添加一个连接

在【选择连接类刑】对话框中选择【以太网】选项,单击【创建】按钮

打开【编辑ens160】对话框,在【常规】选项卡下的【连接名称】文本框中输 入“ens160”,这是创建连接的名称,名称可以随意取,不必和网卡名一致;选中【自动以 优先级连接】复选框

选择【以太网】选项卡,在【设备】下拉列表中选择【ens160】选项,意思就是为网卡 ens160创建一个连接,名称为ens160

选择【IPv4设置】选项卡,这里设置的是连接ens160是通 过什么方式获取IP,可以手动设置也可以通过 DHCP获取。在 【方法】下拉列表中选择【手动】选项,单击下面的【添 加】按钮,输入IP地址、子网掩码、网关、DNS等。然后单 击右下角的【保存】按钮

之后就可以看到已经创建了一个 连接ens160

在另外一个终端中,输入“ifconfig ens160”

可以看到,这里的P地址为192.168.26.100,就是我们刚刚设置的IP

也可以通过查看连接ens160的属性来查看IP信息

这里可以看到IP地址、网关、DNS等信息

因为这个连接是新创建的,所以创建好之后可以立即生效

如果打不开上述图形化界面,可以在终端中输人“nmtui-edit”命令后按【Enter】键, 然后按【Tab】键选择【添加】按钮,再按【Enter】键

在【新建连接】界面中选中【以太网】,按【Tab】键选择【创建】按钮,然后按 【Enterl】键

在【编辑连接】界面的【配置集名称】中输人“ens160”,这是设置连接名的;在下方的 【设备】中输入“ens160”。按【Tab】键选择【IPv4配置】后的【显示】按钮,然后按 【Enter】键

在【IPv4配置】后面将获取IP的方式设置为“手动”,按【Tab】键选择【地址】后的 【添加】按钮,然后按【Enter】键

然后按多次【Tab】键,直到看到下面的界面,这里确保【自动连接】前面有“X”,即 选中状态,如果没有选中,则按空格键选中,再按【Tab】键选择【确定】按钮,然后按 【Enter】键

返回到初始界面

用xshell连接查看IP信息

可以看到,此处IP地址已经被设置为192.168.161.16了

如果要修改IP,在初始界面中选中连接名,按【Tab】键选择【编辑】按钮,然后按 【Enter】键,如图,就可以正常修改IP了。记得修改之后需要执行nmcli devir.reapply ens160命令让其生效

删除连接,先选中连接名,按【Tab】键选择【删除】按钮,然后按【Enter】键。弹出个弹窗,按【Tab】键选择【删除】按钮,然后按【Enter】 键,如图。这种删除 连接的方式是最简单的

1.4 通过配置文件修改

网卡连接的配置文件在/etc/sysconfig/network-scripts 中,格式为“ifcfg-连接名”, 可以看到连接都被删除了,现在没有任何连接

[root@redhat8 ~]# nmcli connection 
NAME    UUID                                  TYPE    DEVICE 
virbr0  9505403f-f4f2-4242-967c-225254ac4fbf  bridge  virbr0 
[root@redhat8 ~]#

下面为网卡 ens160创建一个连接,连接名为ens160

创建一个文件/etc/sysconfig/network-scripts/ifcfg-ens160,内容如下

[root@redhat8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
NAME=ens160
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.161.16
NETMASK=255.255.255.0
GATEWAY=192.168.161.2
DNS1=202.96.128.86
DNS2=119.29.29.29

这里字段的含义如下:

(1)DEVICE:用于指定哪张网卡

(2)NAME:用于指定连接的名称

(3)ONBOOT:设置的是开机是否自动生效,这里设置为yes

(4)BOOTPROTO:设置的是通过什么方式获取IP,可选值如下

  1. dhcp:通过 DHCP获取IP
  2. none或static:手动配置

(5)IPADDR:设置IP

(6)NETMASK:设置子网掩码

(7)GATEWAY:设置网关

(8))DNS1:设置 DNS,这里最多可以指定3个 DNS,分别是 DNS1、DNS2、DNS3.因 为这个配置文件是新创建的,所以需要重新加载一下才能生效

[root@redhat8 ~]# nmcli connection reload

查看网卡ens160的IP

[root@redhat8 ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.161.16  netmask 255.255.255.0  broadcast 192.168.161.255
        ether 00:0c:29:0f:24:fe  txqueuelen 1000  (Ethernet)
        RX packets 7004  bytes 597554 (583.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2915  bytes 298700 (291.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@redhat8 ~]#

可以看到,现在已经生效

记住,因为这个文件是新创建的,所以只要执行 nmcli connect reload 命令即可生效

下面开始修改 IP,把配置文件修改为如下内容

[root@redhat8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
NAME=ens160
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.161.17
NETMASK=255.255.255.0
GATEWAY=192.168.161.2
DNS1=202.96.128.86
DNS2=119.29.29.29

修改之后执行 nmcli connect reload 命令是没用的,还要执行 nmcli device reapply ens160 命令

总结如下

(1)新创建好连接的配置文件,直接执行 nmcli connection reload 命令即可生效

(2)修改已经存在的配置文件,之后需要执行 nmcli connection reload 和 nmcli device reapply ens160 命令才能让修改生效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/218236.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

逻辑回归 使用Numpy实现逻辑回归

使用Numpy实现逻辑回归 sigmoid 函数 g ( z ) 1 ( 1 e − z ) g(z)\frac{1}{(1e^{−z} )} g(z)(1e−z)1​ # sigmoid 函数 def sigmod(z):return 1/(1np.exp(-z))线性计算与梯度下降 J ( θ ) − 1 m [ ∑ i 1 m y ( i ) l o g ⁡ ( h θ ( x ( i ) ) ) ( 1 − y ( i ) …

【计算机网络笔记】物理层——物理介质

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

Linux socket编程(10):UDP详解、聊天室实现及进阶知识

首先来回顾以下TCP的知识&#xff0c;TCP是一种面向连接的、可靠的传输协议&#xff0c;具有以下特点&#xff1a; TCP通过三次握手建立连接&#xff0c;确保通信的可靠性和完整性使用流控制和拥塞控制机制&#xff0c;有效地调整数据传输的速率&#xff0c;防止网络拥塞TCP提…

redis的keys命令和scan命令性能对比

项目场景 Redis的keys *命令在生产环境是慎用的&#xff0c;特别是一些并发量很大的项目&#xff0c;原因是Redis是单线程的&#xff0c;keys *会引发Redis锁&#xff0c;占用reids CPU&#xff0c;如果key数量很大而且并发是比较大的情况&#xff0c;效率是很慢的&#xff0c…

vivado实现分析与收敛技巧9-分析使用率统计数据

实现问题的常见原因之一是未考量显式和隐式物理约束。例如 &#xff0c; 管脚分配 (pinout) 在逻辑布局上变为显式物理约束。 slice&#xff08; 分片 &#xff09; 逻辑在大部分器件中都是一致的。但如下专用资源表示的是隐式物理约束 &#xff0c; 因为这些资源仅在某些位置…

C语言碎片知识

sizeof 1.sizeof是C语言中的一个操作符&#xff0c;同时也是关键字&#xff01;&#xff01;&#xff01;&#xff01; 2.sizeof的操作数可以是类型&#xff0c;变量或表达式 如图&#xff0c;第一个为什么是6&#xff1f;&#xff0c;因为先计算了3的大小&#xff0c;占4个字…

【模电】放大电路的组成原则

放大电路的组成原则 组成原则常用的两种共射放大电路 组成原则 通过对基本共射放大电路的简单分析可以总结出&#xff0c;在组成放大电路时必须遵循以下几个原则&#xff1a;    1. 必须根据所用放大管的类型提供直流电源&#xff0c;以便设置合适的静态工作点&#xff0c;并…

【unity3D】unity中如何查找和获取游戏物体

&#x1f497; 未来的游戏开发程序媛&#xff0c;现在的努力学习菜鸡 &#x1f4a6;本专栏是我关于游戏开发的学习笔记 &#x1f236;本篇是unity中游戏物体的查找与获取 这里写自定义目录标题 获取当前物体的基本属性查找其它物体- 通过名称查找其它物体- 通过标签查找- 通过类…

互联网Java工程师面试题·Spring Boot篇·第二弹

目录 8、什么是 YAML&#xff1f; 9、如何实现 Spring Boot 应用程序的安全性&#xff1f; 10、如何集成 Spring Boot 和 ActiveMQ&#xff1f; 11、如何使用 Spring Boot 实现分页和排序&#xff1f; 12、什么是 Swagger&#xff1f;你用 Spring Boot 实现了它吗&#xff1f; …

MySQL之时间戳(DateTime和TimeStamp)

MySQL之时间戳&#xff08;DateTime和TimeStamp&#xff09; 文章目录&#xff1a; MySQL之时间戳&#xff08;DateTime和TimeStamp&#xff09;一、DateTime类型二、TimeStamp类型三、DateTime和TimeStamp的区别 当插入数据时&#xff0c;需要自动记录一个时间时候&#xff0c…

【springboot】整合redis

1.前提条件:docker安装好了redis确定redis可以访问 可选软件: 2.测试代码 (1)redis依赖 org.springframework.boot spring-boot-starter-data-redis (2)配置redis &#xff08;3&#xff09; 注入 Resource StringRedisTemplate stringRedisTemplate; 对键进行操作 –o…

SCTransform normalization seurat

完成了前面的基础质控、过滤以及去除细胞周期的影响后&#xff0c;我们可以开始SCTransform normalization。 SCTransform normalization的优势&#xff1a; 1️⃣ 一个SCTransform函数即可替代NormalizeData, ScaleData, FindVariableFeatures三个函数;2️⃣ 对测序深度的校正…

[足式机器人]Part2 Dr. CAN学习笔记-Ch0-1矩阵的导数运算

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Ch0-1矩阵的导数运算 1. 标量向量方程对向量求导&#xff0c;分母布局&#xff0c;分子布局1.1 标量方程对向量的导数1.2 向量方程对向量的导数 2. 案例分析&#xff0c;线性回归3. 矩阵求导的链…

DCDC电源的选择

https://blog.csdn.net/xiahailong90/article/details/79086490 先说结论&#xff1a; 高开关频率的交换式电源转换器有利也有弊&#xff0c;本文提到的好处包括体积更小、瞬时响应更快以及电压overshoot 和undershoot 值都更小&#xff0c;主要缺点则是效率降低和热量增加。 …

STK Components 二次开发-飞行器

1.创建飞机 参数帮助文档 var poitList GetTracksData(); var waypointPropagator new WaypointPropagator(m_earth, poitList); var locationPoint waypointPropagator.CreatePoint();m_aircraft new Platform {Name "MH730",LocationPoint locationPoint,Or…

独立版求职招聘平台小程序开发

小程序招聘系统开发 我们开发了一款高效、便捷的互联网招聘平台。在这里&#xff0c;可以轻松实现企业入驻、职位发布、在线求职、精准匹配职位和人才&#xff0c;以及参与招聘会等功能。目标是为求职者和企业搭建一个连接彼此的桥梁&#xff0c;帮助您更快地找到满意的工作&…

基于Go语言实现简易Web应用

目录 前言Go语言特点写在使用Go语言实现Web应用前面创建Web服务器声明一个结构体操作加入中间件的使用使用静态文件服务器最后 前言 在编程语言中&#xff0c;近几年问世的几个新语言都是非常不错的&#xff0c;比如Go、Python、 Rust等等。其中&#xff0c;Go语言(Golang)作…

线程池、及Springboot线程池实践

摘要 本文介绍了线程池基本概念、线程及线程池状态、java中线程池提交task后执行流程、Executors线程池工具类、最后介绍在springboot框架下使用线程池和定时线程池&#xff0c;以及task取消 线程池基本 背景 线程池 线程池是一种多线程处理形式&#xff0c;处理过程中将任务…

探索人工智能领域——每日20个名词详解【day8】

目录 前言 正文 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如需转载&#xff0c;请事先与我联系以…

使用UART和USART在STM32上进行双向通信

在本文中&#xff0c;我们将深入了解如何在STM32上使用UART&#xff08;通用异步收发传输器&#xff09;和USART&#xff08;通用同步异步收发传输器&#xff09;实现双向通信。UART和USART是常见的串口通信协议&#xff0c;通常用于与其他设备进行数据传输。我们将重点介绍如何…