LINUX基础培训九之网络管理

news2025/4/22 10:47:53
前言、本章学习目标 
  1. 了解LINUX网络接口和主机名配置的方法
  2. 熟悉网络相关的几个配置文件
  3. 了解网关和路由
  4. 熟悉网络相关的命令使用

一、网络IP地址配置

在Linux中配置IP地址的方法有以下这么几种:
1、图形界面配置IP地址(操作方式如Windows系统配置IP,但在实际生产中,我们并不建议在我们的服务器上安装Linux的图形界面,因为安装了图形界面将一定程度地影响了服务器的安全性和稳定性。)

2、ifconfig命令临时配置IP地址(临时配置IP地址,即当我们重启计算机或重启网络服务后,配置将失效)

3、setup工具永久配置IP地址(setup工具是由Red Hat开发的,因此在正常情况下,该工具只能用于Red Hat系列的Linux系统)(setup工具——红帽专有图形化工具setup设置IP地址)(使用setup命令设置完网络后需要使用service network restart重启网络)

4、修改网络配置文件ifcfg(需要使用service network restart重启网络)

Linux网络配置文件:

在/etc/sysconfig/network-scripts/目录下有不少文件,绝大部分都是脚本类的文件,但有一类ifcfg开头的文件为网卡配置文件(interface config),所有ifcfg开头的文件在启动网络服务的时候都会被加载读取,但具体的文件名ifcfg-XX的XX可以随意命名


 

二、Linux主机名设置

用于设置主机名,但也有几个其它好用的功能。
hostname [-I] [-f] [-d] [-s] [hostname]

选项说明:
-I         :获取该主机上所有非环回IP地址,该选项不依赖于主机名解析
-f,--fqdn  :获取fqdn
-d,--domain:获取fqdn的域名部分,等价于命令dnsdomainname
-s,--short :获取fqdn的主机名部分,严格地说是获取第一个"."前的部分。

[root@ ~]# hostname -I
192.168.101.11 172.16.10.10
hostname修改的主机名为临时生效,它修改的其实是/proc/sys/kernel/hostname文件。

[root@xuexi ~]# cat /proc/sys/kernel/hostname
xuexi.longshuai.com

要想永久生效,需要修改配置文件/etc/hostname(CentOS 7)或/etc/sysconfig/network(CentOS 6)。例如在CentOS 7上:
[root@ ~]# echo "appserver" >/etc/hostname
 

三、Linux网关和路由

1、Linux上分为3种路由

主机路由:直接指明到某台具体的主机怎么走,主机路由也就是所谓的静态路由
网络路由:指明某类网络怎么走
默认路由:不走主机路由的和网络路由的就走默认路由。操作系统上设置的默认路由一般也称为网关。
若Linux上到某主机有多条路由可以选择,这时候会挑选优先级高的路由。在Linux中,路由条目的优先级确定方式是先匹配掩码位长度,再比较管理距离(比如metric)。
也就是说,掩码位长的路由条目优先级一定比掩码位短的优先级高,所以主机路由的优先级最高,然后是直连网络(即同网段)的路由(也算是网络路由)次之,再是网络路由,最后才是默认路由。若路由条目的掩码长度相同,则比较节点之间的管理距离,管理距离短的生效。

例如下面的路由表中,若ping 192.168.5.20,则先比对192.168.100.78发现无法匹配,然后比对192.168.100.0,发现也无法匹配,接着再匹配192.168.0.0这条网络路由条目,发现能匹配,所以选择该路由条目。
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0
 

2、管理路由表

route [add/del] [-host/-net/default] [address[/mask]] [netmask] [gw] [dev]
选项说明:
add/del:增加或删除路由条目
-net:增加或删除的是一条网络路由
-host:增加或删除的是一条主机路由
default:增加或删除的是一条默认路由
netmask:明确使用netmask关键字指定掩码
gw:指定下一跳的地址。要求下一跳地址必须是能到达的,且一般是和本网段直连的接口。
dev:强制将路由条目关联到指定的接口上。一般内核会自动判断路由条目应该关联到哪个网络接口。

示例:
添加和删除默认路由
route add default gw 192.168.100.10/route del default gw 192.168.100.10 
添加和删除网络路由
route add -net 172.16.10.0/24 gw 192.168.100.70
route del -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70
添加和删除主机路由
route add -host 172.16.10.55 gw 192.168.10.20/route del -host 172.16.100.55
 

3、配置永久路由

根据接口创建路由配置文件/etc/syconfig/network-scripts/route-ethX,要从那个接口出去X就是几。

路由配置文件的配置格式非常简单,每一行一个路由条目,先是要到达的目标,然后是via关键字,最后是下一跳地址。要求下一跳必须能到达,且一般都和ethX同网段。

例如eth0网卡的IP地址是192.168.10.123,要通过网卡eth0出去到达10.0.0.10,那么下一跳的地址要和eth0的地址在同网段,如192.168.10.222。

10.0.0.0 via 192.168.10.222

#默认路由
default     via 192.168.100.1
0.0.0.0/0   via 192.168.100.1
#网段路由
192.168.10.0/24   via 192.168.100.1
#主机路由
192.168.100.52/32 via 192.168.100.33 dev eth1
 

四、和网络相关的几个文件

1、DNS配置文件/etc/resolv.conf
该文件用于设置DNS指向,以及解析顺序。该文件格式如下:
domain  domain_name       # 声明本地域名,即解析时自动隐式补齐的域名
search  domain_name_list  # 指定域名搜索顺序(最多6个),和domain不能共存,若共存了,则后面的行生效
nameserver  IP1           # 设置DNS指向,最多3个
nameserver  IP2
nameserver  IP3        

2、网卡规则文件/etc/udev/rules.d/70-persistent-net.rules
当插入新的网络设备时,内核首先识别到,随后在sysfs文件系统(一般挂载在/sys下)中生成该设备对应的信息文件。然后内核通知udev的后台守护进程udevd,udevd将读取sysfs中对应设备的相关信息,并比对或生成udev的规则集,能匹配上的则做对应的操作。对于网卡来说,它的的规则集文件默认为/etc/udev/rules.d/70-persistent-net.rules,匹配该规则集成功后,最后还在/sys/class/net目录中生成对应的设备子目录。

3、服务端口配置文件/etc/services
该文件中记录的是端口和服务的对应关系。

五、网络接口配置-bonding

Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。
NIC的物理识别:
使用多个网卡时,能够物理标示特定网卡非常有用,物理标示NIC的一个方法是使其一个或多个LED闪烁,若要eth0上的LED闪烁30秒,可以运行ethtool -p eth0 30
bond模式:
Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。
Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
Mode=6(balance-alb) 在5的tlb基础上增加了rlb。

注:常用的mode有0、1、5、6,当使用0时,还需要”Switch”支援及设定。

六、Linux网络常用的命令

1、arp和arping
维护或查看系统arp缓存,arp为地址解析协议,将给定的ipv4地址在网络中查找其对应的MAC地址。
一般会使用arp协议获取局域网内的主机MAC,所以局域网主机之间也互称为网络邻居。

2、ip命令
这是一个极其强大的命令,很多网络信息显示和管理的命令,都可以由ip命令来替代完成。它是一个严格模式化的命令。

3、netstat命令
可以检测网络端口的监听和运行情况。

4、nmap命令
nmap是一个端口扫描器,可以探测远程系统哪些端口处于开放状态。


5、tcpdump命令
用于将网络通信捕获至文件,用来分析数据包的流向,通常需要与wireshark结合使用。
 

七、本章实验

1、设置主机名并配置一条静态路由;
2、找出操作系统中正在监听的端口。
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习:线性回归模型的原理、应用及优缺点

一、原理 线性回归是一种统计学和机器学习中常用的方法,用于建立变量之间线性关系的模型。其原理基于假设因变量(或响应变量)与自变量之间存在线性关系。 下面是线性回归模型的基本原理: 模型拟合: 通过最小二乘法&…

2024年“华数杯”国际大学生数学建模竞赛B题思路

本题难点在于数据获取和定性定量分析,代码部分没有太大价值、就不更新了 •中国的电力供应和许多因素相互作用。请研究它们之间的关系,并预测2024年至2060年中国电力供应的发展趋势。 首先得获取数据,中国的宏观数据相对容易(包括…

C#/WPF 设置和启动Windows屏保程序

前言 我们平时电脑启动的屏保程序其本质也是应用程序,只是后缀名为.scr。所以我们只需要把应用程序后缀改为.scr,然后右键选择安装即可启动我们自己的屏保程序。 屏保注册表参数 设置电脑屏保参数,在个性化设置>锁屏界面>屏幕保护程序设…

HashTable,HashMap和ConcurrentHashMap

1. 在多线程环境下使用哈希表 1.1 HashMap 对于HashMap来说肯定是不行的,因为HashMap线程是不安全的。 1.2 HashTable HashTable是直接在方法上使用synchronized,就相当于对this加锁。(此时,尝试修改俩个不同链表上的元素,都会发…

c语言:编译和链接

翻译环境和运行环境 在ANSIC的任何⼀种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代码。 编译过程 预处理(Preprocessing) 文件包…

[Python进阶] 正则表达式的验证

8.2 正则表达式的验证 正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。由于难于读写,容易出错,所以找一种工具对正则表达式进行测试是很有必要的。 8.2.1 本地验证 通过Regex Tester这款软件可以在本地对正则表达式进行验…

CTF CRYPTO 密码学-3

题目名称:反编译 题目描述: 分析 题目给出一个pyc后缀的文件,需要使用uncompyle6模块去还原成py文件 uncompyle6简介 uncompyle6 是一个 Python 反编译器,它能够将 Python 字节码(.pyc 文件)转换回源代码&…

系统的可观察性是指什么?

系统的可观察性是指什么? 本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除 系统的可观察性是系统设计的重要一环。不可观察的系统无法度量、无法监控、无法改进。 日志、追踪和度量是系统可观测性的三大支柱。 下图显示了…

2019年认证杯SPSSPRO杯数学建模D题(第二阶段)5G时代引发的道路规划革命全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 D题 5G时代引发的道路规划革命 原题再现: 忙着回家或上班的司机们都知道交通堵塞既浪费时间又浪费燃料,甚至有的时候会带来情绪上的巨大影响,引发一系列的交通问题。据报道,每年交通拥堵使得美国…

怎么用Office的Excel将图片转为excel表格?

在处理大量的表格数据时,我们经常需要将图片中的表格转换成Excel格式,以便进行更高效的数据分析和处理。然而,手动将图片中的表格数据录入Excel是一项既耗时又容易出错的工作。那么,有没有一种方法能够快速、准确地实现图片表格到…

从2023年因果推断在线峰会看程序员的未来:掌握因果推理,洞悉数据背后的真相

在科技飞速发展的时代,程序员作为数字世界的建筑师,需要不断拓宽视野,汲取新知识,以应对日益复杂的问题和挑战。 2023年的因果推断在线峰会,为程序员们提供了一个了解因果推理的绝佳机会。本文将探讨程序员在峰会上可…

一种基于YOLO改进的高效且轻量级的表面缺陷检测网络, NEU-DET和GC10-DET涨点明显

💡💡💡本文摘要:一种基于YOLO改进的高效且轻量级的表面缺陷检测, 在NEU-DET和GC10-DET任务中涨点明显 目录 1.轻量且高效的YOLO 1.1 SCRB介绍 1.1.1 ScConv介绍 1.2 GSConvns 1.3 od_mobilenetv2_050 1.4 对应ya…

016-Vue-黑马2023:前后端分离开发(在线接口文档),前端工程化、Element、nginx

第三节 前后端分离开发 1、介绍 开发模式 前后端混合开发:传统开发模式 前后端分离开发:当前最为主流的开发模式 页面原型需求案例:分析出接口文档 离线开发文档示例: 2、YAPI(官网已停用) 202…

芯品荟 | 电脑机箱键盘副屏市场调研报告

一.产品简介 1.带TFT彩屏电脑机箱 2.带小TFT彩屏电脑键盘 为什么电脑机箱&键盘,要带屏? 带屏的电脑机箱&键盘客户群体? 电竞玩家、设计师、电子发烧友、股民...... 二、市场规模 中国电脑机箱年产量约6000万台,键盘年产量约3亿…

二次开发在线预约上门服务、预约到家系统 增加开发票功能 轮播图链接跳转 uniapp代码

客户具体要求: 1、在我的个人中心里面增加一个 开票功能,点击进去之后可以查看到能开票的订单列表,如果是个人是填写姓名电话邮箱,就是填写单位名称 税号 邮箱,提交申请到后台审核,如果审核通过后线下人工…

「 典型安全漏洞系列 」03.跨站请求伪造CSRF详解

引言:CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种攻击技术,通过使用用户的身份进行不诚实地操作,恶意用户可以在受害者(目标)的机器上执行一些未授权的操作。这可能会危及…

I2C总线和通信协议详解 (超详细配42张高清图+万字长文)

I2C总线和通信协议详解 (超详细配42张高清图万字长文) I2C(Inter-Integrated Circuit)通信总线,作为嵌入式系统设计中的一个关键组成部分,其灵活性和高效率使其在高级应用中备受青睐。本文旨在提供关于I2C通信总线的深度解析&…

齿轮齿条运动相关计算(博途S7-1200PLC脉冲轴组态)

有关S7-1200PLC脉冲轴相关应用介绍请参考下面的系列文章: S7-1200PLC脉冲轴位置控制功能块 https://rxxw-control.blog.csdn.net/article/details/135299302https://rxxw-control.blog.csdn.net/article/details/135299302S7-1200脉冲轴功能块 https://rxxw-control.blog.c…

这是一篇优雅的Springboot2.0使用手册

这是一篇优雅的Springboot2.0使用手册 最近再研究springboot的原理😋颇有收获,现在让我分享一下springboot如何使用吧~ 啥是Springboot 和书上理解的不同,我认为Springboot是一个优秀的快速搭建框架,他通过maven继承方式添加依…

【windows】右键添加git bash here菜单

在vs 里安装了git for windows 后,之前git-bash 右键菜单消失了。难道是git for windows 覆盖了原来自己安装的git ?大神给出解决方案 手动添加Git Bash Here到右键菜单(超详细) 安装路径:我老的 ? vs的gi…