linux 网络基础配置

将Linux主机接入到网络,需要配置网络相关设置一般包括如下内容:

主机名

iP/netmask (ip地址,网关)

路由:默认网关

网络连接状态

DNS服务器 (主DNS服务器     次DNS服务器       第三个DNS服务器)

一、查看linux基础的网络设置

网关route   -n 
IP地址ifconfig     或     ip  a
DNS服务器cat   /etc/resolv.conf
主机名hostname
路由route   -n
网络连接状态ss 或   netstat
域名解析nslookup     host

 ifconfig命令———查看网络接口信息

1.网卡信息介绍    

新加网卡

1.  ifconfig 网卡名称——显示具体网卡的详细信息

网卡名称详解:

eth0

ens33:第一块以太网卡的名称详解:

“ens33”中的“en”是“EtherNet”的缩写,表示网卡 以太网(局域网中的一种) 互联网

类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽 编号

2.ifconfig 显示活动(开启)的网卡

  • 3.   ifconfig  -a ——显示所有网卡包括没有启动的网卡
  • 4.  ifconfig 网络接口 IP地址[/子网掩码长度]——临时设置网卡地址

5.  ifconfig 网卡名称 :数字  地址/子网掩码——新建虚拟网卡

2.实验:网卡名称修改

 1.  临时修改网卡名称

ip link set ens36 down    =ifconfig ens36 down
#先将网卡down掉
ip link set ens36 name abc
#然后改名
ip link set abc up
#最后再启动网卡

2.永久修改网卡名称,写入文件

centos6之前的命名方式都是以网络接口使用连续号码命名:如eth0、eth1等,当增加或者删除网卡时,名称可能会发生变化

3.实验: 

1.单个网卡修改

2.双网卡配置

首先添加一块网卡

3.网卡绑定bond (参考文章标题六哈)

二、hostname  查看或设置当前主机名  

1.临时修改主机名

2.永久修改主机名

方法1:修改配置文件

方法2:

三、配置路由   

route    查看或设置主机中路由表信息

添加 指定网段的路由记录route add -net  网段地址 gw IP地址

删除指定网段的路由记录route del -net 网段地址

向路由表中添加默认网关记录route add default gw IP地址

删除路由表中默认的网关记录route del default gw  IP地址

1.临时添加路由:

1.添加路由:

添加一条去往10.0.0.0/8段的路由,通过192.168.246.2转发

2.添加一条默认路由,通过192.168.246.2转发

2.删除路由:

2.添加永久路由

3.traceroute   路由追踪

使用traceroute命令,可以显示数据包从本地主机到目标主机经过的路由路径。

用于测试当前主机到目的主机之间经过的网络节点,基本格式:tracerout     ip地址或域名

四、检查网络环境,检查网络连接状态

1.命令   ss、netstat   这两条命令都是用于查看网络环境情况

ss:更靠近内核

ss -natp n :数字 a:详细 t:tcp u:udp p:进程

netstat:靠近用户,它要去遍历 文件查看状态

ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效,ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

2. ping  测试网络连通性   ICMP 协议

格式: ping [选项] 目标主机

五、nslookup域名解析 

nslookup是一个命令行工具,用于查询DNS(域名系统)服务器以获取关于主机名或IP地址的信息。它主要用于诊断网络问题、验证DNS记录的正确性以及了解域名解析的过程。

格式:nslook 域名

dig 可以显示出更多详细信息

六、多网卡绑定 bond

bond(绑定)是指将两个或多个物理网卡虚拟化为一个逻辑接口的过程,以实现冗余、负载均衡或增加带宽。这种技术通常被称为“网络接口绑定”或“链路聚合

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

实验:多网卡绑定

方法一:

nmcli实现bonding#创建新连接static ,指定静态IP,不自动连接
nmcti con add con-name static   ifname eth0 autoconnect no type Ethernet 
ipv4.addresses 172.25.X.10/24 ipv4.gateway   172.25.X.254nmcli connection modify ens33 ipv4.addresses 192.168.91.100/2
nmcli connection up ens33#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.91.123/24 
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36
#启动绑定
nmcli con up mybond0

方法二:

创建bonding设备的配置文件/etc/sysconfig/network-scripts/ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路/etc/sysconfig/network-scripts/ifcfg-ens33
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes/etc/sysconfig/network-scripts/ifcfg-ens36
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes#################################################################
vim ifcfg-bond0 
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.91.22
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yesvim ifcfg-ens36
NAME=ens36
DEVICE=bond0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
PNBOOT=yes[root@localhost network-scripts]#cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: None
Currently Active Slave: ens33
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:fe:e5:bf
Slave queue ID: 0查看bond0状态:  cat  /proc/net/bonding/bond0删除bond0
ifconfig bond0 down
rmmod bonding

实验:

用第二台虚拟机ping下地址

可以再连接起来,要不就去虚拟机里操作

查看bind0状态

断开ens33网卡,用第二台虚拟机ping

七、tcpdump

网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。 tcpdump命令, 是一个强大的网络协议分析器,它主要用于监控和捕获网络流量数据包,并能够以易于阅读的格式显示这些信息。

1.  tcpdump -D   查看网卡

2.   tcpdump -i ens33 指定查看ens33 网卡 

  3.tcpdump不指定任何参数,监听第一块网卡上经过的数据包。

主机上可能有不止一块网卡,所以经常需要指定网卡。

tcpdump src host hostname
#特定来源

tcpdump dst host hostname
#特定目标地址

tcpdump host hostname
#如果不指定src跟dst,那么来源或者目标是hostname的通信都会被监听
 

面试题:

 tcpdump   -nn   -i  ens33  icmp  and  src  host  192.168.246.7   and  dst  host  192.168.246.8

抓192.168.246.7发给192.168.246.8的  icmp  包   条件之间要加  and

tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<
数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]参数说明:
-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络接口> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。

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

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

相关文章

【System Verilog and UVM实力进阶2】SVA语法

毛主席说过&#xff1a;没有调查就没有发言权。 《SVA介绍——学习SVA语法》系列第二讲 本文还是延续上一篇的风格&#xff0c;语言内容尽可能简单明了&#xff0c;有问题大家相互讨论&#xff0c;共同进步。需要电子书的朋友可以给我发邮件。tommi.weiqq.com 1.16 "ended…

228.【2023年华为OD机试真题(C卷)】传递悄悄话(优先搜索(DFS)-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-传递悄悄话二.解题思路三.题解代码Python题解代…

本地远程实时获取无人机采集视频图像(天空端 + jetson nano + 检测分割 + 回传地面端显示)

无线图传设备介绍 2、jetson nano天空端数据采集检测保存 3、本地回传显示 1、无线图传设备介绍 由于本设计考虑将无人机得到检测结果实时回传给地面站显示&#xff0c;因此需要考虑一个远程无线通信设备进行传输。本设计采用思翼HM30图传设备。通过无线图传的wifi将天空端的桌…

整数对最小和(100%用例)C卷 (JavaPythonC++Node.jsC语言)

给定两个整数数组 array1 、 array2 ,数组元素按升序排列。假设从 array1 、 array2 中分别取出一个元素可构成一对元素,现在需要取出 k 对元素,并对取出的所有元素求和,计算和的最小值 注意:两对元素如果对应于 array1 、 array2 中的两个下标均相同,则视为同一对元素。…

2023全球软件研发技术大会(SDCon2023)-核心PPT资料下载

一、峰会简介 本次峰会包含12大会议主题&#xff1a;云原生设施与平台、微服务架构实践、软件质量与效能、大数据实践与前沿、架构设计与演进、高可用与高性能架构、Web与大前端开发、编程语言与平台、AIGC与大模型、推荐系统实践、AI智能应用与研究、机器学习架构实践。 软件…

版本控制背景知识

版本控制背景知识 本文是关于 Git 系列文章的导读&#xff0c;我们先介绍一下版本控制的背景知识。 什么是版本控制 版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。它将什么时候、什么人更改了文件的什么内容等信息如实记录下来…

使用SpringDataRedis操作Redis

Redis的java客户端 jedisLettuceSpring Data Redis Spring Data redis 是Spring的一部分&#xff0c;对 Redis 底层开发包进行了高度封装。在Spring项目中&#xff0c;可以使用Spring Data Redis来简化操作。 Spring Data Redis使用方式 操作步骤&#xff1a; 导入Spring …

深度探讨鸿蒙工程师面试题

深度探讨鸿蒙工程师面试题 第一部分&#xff1a;引言 鸿蒙&#xff08;HarmonyOS&#xff09;作为华为推出的全场景分布式操作系统&#xff0c;引领着未来智能化时代的潮流。鸿蒙工程师在这一创新性领域中扮演着至关重要的角色。本文将深入研究一系列鸿蒙工程师面试题&#x…

HTML---JavaScript操作DOM对象

目录 文章目录 本章目标 一.DOM对象概念 二.节点访问方法 常用方法&#xff1a; 层次关系访问节点 三.节点信息 四.节点的操作方法 操作节点的属性 创建节点 删除替换节点 五.节点操作样式 style属性 class-name属性 六.获取元素位置 总结 本章目标 了解DOM的分类和节点间的…

超市商品管理系统设计 C++实现

超市商品管理系统设计—C实现 文章目录 超市商品管理系统设计---C实现一、内容要求大纲图 二、源代码&#xff08;包含大量注释&#xff09;1、main.cpp文件2、supermarket.h文件3、supermarket.cpp文件4、administrator.h文件5、administrator.cpp文件6、user.h文件7、user.cp…

数据结构之单调栈、单调队列

今天学习了单调栈还有单调队列的概念和使用&#xff0c;接下来我将对其定义并配合几道习题进行讲解&#xff1a; 首先先来复习一下栈与队列&#xff1a; 然后我们来看一下单调栈的定义&#xff1a; 单调栈中的元素从栈底到栈顶的元素的大小是按照单调递增或者单调递减的关系进…

Git常用命令和QA(网摘)

主要内容 常用命令git checkout --orphan 分支与 git checkout -b 分支区别git如何创建一个新的空白分支branchgit开发分支本地分支合并远程分支git remote prune origingit log如何退出&#xff1f;如何退出git log或git commit模式git log如何退出git commit 的退出 git强制p…

leetcode-2645 构造有效字符串的最小插入数

题目链接 2645. 构造有效字符串的最少插入数 - 力扣&#xff08;LeetCode&#xff09; 解题思路 动态规划 1、定义状态d[i]为将前i个字符&#xff08;为了方便编码&#xff0c;下标从1开始&#xff09;拼凑成若干个abc所需要的最小插入数。那么初始状态d[0]0&#xff0c;最终…

Programming Abstractions in C阅读笔记:p242-p245

《Programming Abstractions in C》学习第67天&#xff0c;p242-p245总结&#xff0c;总计4页。 一、技术总结 6.2小结主要讲回溯算法及递归算法在迷宫求解中应用&#xff0c;当然&#xff0c;理解然后用代码实现出来还是有些难度的。不过&#xff0c;这并不影响我们进行下一…

关于目标检测任务中,XML(voc格式)标注文件的可视化

1. 前言 最近在弄关于目标检测的任务&#xff0c;因为检测的图片和标签是分开的&#xff0c;可视化效果不明显&#xff0c;也不知道随便下载的数据集&#xff0c;标注信息对不对。网上看了好多代码&#xff0c;代码风格和本人平时不同&#xff0c;看起来麻烦&#xff0c;也不知…

flutter 通过打包参数区分来 打内网 外网包

内网 # 打包内网环境flutter build apk --dart-defineis_intranettrue --dart-defineis_managerAppfalse 外网 # 打包内网环境flutter build apk --dart-defineis_intranettrue --dart-defineis_managerAppfalse env.dart // main.dart class EnvironmentConfig {// 是否…

RHCE9学习指南 第19章 网络时间服务器

19.1 时间同步的必要性 对于一些服务来说对时间要求非常严格&#xff0c;例如&#xff0c;图19-1所示由三台服务器搭建的ceph集群。 图19-1 三台机器搭建的集群对时间要求比较高 这三台服务器的时间必须要保持一样&#xff0c;如果不一样&#xff0c;就会显示报警信息。那么…

Vue基础-搭建Vue运行环境

这篇文章介绍了在Vue.js项目中进行开发环境搭建的关键步骤。包括node.js安装和配置、安装Vue及Vue CLI工具、安装webpack模板、安装vue-router、创建Vue项目等步骤。这篇文章为读者提供了清晰的指南&#xff0c;帮助他们快速搭建Vue.js开发环境&#xff0c;为后续的项目开发奠定…

已设定选项 ‘readonly‘ (请加 ! 强制执行)

这是vim编辑器报的错误&#xff0c;相信很多人都遇到过。在使用vi编辑一个需要sudo权限的文件后&#xff0c;保存的时候出现这样的错误。这个时候很多人做的事情可能就是不保存退出&#xff08;敲命令:q!&#xff09;&#xff0c;然后再以sudo vi打开文件重新编辑一次。如果恰巧…

Django的数据库模型的CharField字段的max_length参数与中文字符数的关系探索(参数max_length的单位是字符个数还是字节数?)

01-清理干净之前的数据库迁移信息 02-根据setting.py中的信息删除掉之前建立的数据库 03-删除之后重新创建数据库 04-models.py中创建数据库模型 from django.db import modelsclass User(models.Model):username models.CharField(max_length4)email models.EmailField(uni…