linux服务器网络配置

目录

  • 1、centos的网络配置
    • 1.1 静态Ipv4配置方法:
    • 1.2 动态Ipv4的设置方法
    • 1.3 常见ping不通网关的原因:
    • 1.4 查看操作系统版本
    • 1.5 查看一台服务器的所有服务
    • 1.6 猜测所在房间网关ip
  • 2、 Ubuntu的网络配置(静态ipv4)
  • 3、2024.6.14 解决ping不通网关

1、centos的网络配置

1.1 静态Ipv4配置方法:

首先/etc/sysconfig/network-scripts/找到网卡 ifcfg-你的网卡名字 (eg. ifcfg-ens192

然后 vi ifcfg-ens192进去修改网卡配置,这里采用静态IP方式(动态Ip更简单),具体修改选项如下:

  • BOOTPROTO=static
  • ONBOOT=yes
  • IPADDR=10.0.21.215
  • NETMASK=255.255.255.0
  • GATEWAY=10.0.21.254
  • DNS1=8.8.8.8

再去修改/etc/sysconfig/network里面的内容

  • NETWORKING=yes
  • GATEWAY=10.0.21.254(不同房间的网关不一样)

最后重启网络服务即可service network restart

然后再试一试ping得通自身/网关/百度不。

配置文件举例如下:

TYPE=Ethernet 
BOOTPROTO=static  #将原来的dhcp改为static
DEFROUTE=yes#这里改为eth0 或者 ens33 比如:NAME=ens33
NAME=ens33 #这个不知道 就可以不用设置
#UUID="69b5a74b-c46f-48e0-a2a5-959721dff85e"
#UUID=<UUID>  
DEVICE=ens33  #这里改为eth0 或者 ens33 比如:DEVICE=ens33  可以不用这行
ONBOOT=yesIPADDR=192.168.1.100      # 你要设置的固定 IP 地址
NETMASK=255.255.255.0     # 子网掩码
GATEWAY=192.168.1.1       # 网关 IP 地址
DNS1=8.8.8.8              # 首选 DNS 服务器
DNS2=8.8.4.4              # 备选 DNS 服务器

1.2 动态Ipv4的设置方法

TYPE=Ethernet
BOOTPROTO=dhcp #关键
DEFROUTE=yes 
NAME=ens33 
DEVICE=ens33  #这里改为eth0 或者 ens33 比如:DEVICE=ens33  可以不用这行
ONBOOT=yes #关键                                                       

1.3 常见ping不通网关的原因:

1、服务器的实际物理网口位置标号 和 服务器操作系统 /etc/sysconfig/network-scripts/的文件名不匹配(如物理网口eth0对应的是ifcfg-eth4

解决办法:可以通过ethtool -p eth0 查看某个网口是否连接上(闪灯)。

貌似ip a命令显示结果中的UPDOWN/etc/sysconfig/network-scripts/配置文件里面的ONBOOT的值

2、配置的eth0和网桥br0绑定了起来(绑定了起来后,配置了eth0ip没用)

检查办法:bridge link查看

解决办法:本文下面

3、如果报错no link present Check cable,那么可以在配置文件的最后一项加上 check_link_down(){ return 1; }

  • 例如:

    ONBOOT=yes #其他的改成no,这样service network restart 更快些 
    NM_CONTROLLED=yes
    BOOTPROTO=dhcp
    check_link_down(){return 1;
    }
    
  • 参考:《CentOS 6.5 自动获取IP设置》

4、其他参考:《虚拟机ping不通网关之大坑》

1.4 查看操作系统版本

cat /etc/issue (适用所有发行版本) #如果是防火墙的话,那么可能会出现 CAPSHEAF_FIREWALLcat /proc/versionuname -a

1.5 查看一台服务器的所有服务

netstat -nl

1.6 猜测所在房间网关ip

linux服务器是traceroute -d 10.0.22.2

windows主机是tracert -d 10.0.22.2

-d选项:不将IP地址解析成主机名,因此路由追踪速度快很多。
-h选项:说明路由的最大跳数,默认是30跳。
-w选项:说明等待每一个ICMP响应报文的时间,默认4s,如果接收超时,则显示星号*。跳数和等待时间,使用默认值即可,所以平时一般都不需要添加这两个选项。
-j选项:说明ICMP报文要使用IP头中的松散源路由选项,后面是经过的中间节点的地址或主机名字,最多9个,各个中间节点用空格隔开。

结果:

C:\Users\180>tracert -d 10.0.22.2通过最多 30 个跃点跟踪到 10.0.22.2 的路由1     7 ms     3 ms     3 ms  10.0.21.254 #这个就是网关2     1 ms     1 ms    <1 毫秒 10.0.22.2跟踪完成。

参考网址

2、 Ubuntu的网络配置(静态ipv4)

重要参考:《运维系列(亲测有效):如何在 Ubuntu 22.04 上配置静态IP地址?》

$ ip link # Step1. 检查您的网络接口名称$ sudo vim /etc/netplan/00-installer-config.yaml #Step2.编辑网络配置文件 (可以先备份一份)# This is the network config written by 'subiquity' Step3. 配置静态IP地址
network:ethernets:ens160:dhcp4: falseaddresses: [10.24.0.83/16]  gateway4: 10.24.254.254 version: 2$ sudo netplan apply # Step4. 重启服务。类似centos的service network restart$ ip address show ens160 # 查看ip地址,万一没有ifconfig命令的话

问题1:ping不通百度

参考:《Ubuntu 20.04 server不能ping,提示“Temporary failure in name resolution”的解决方法》

最终解决:修改/etc/netplan/00-installer-config.yaml,添加上域名

# This is the network config written by 'subiquity'
network:ethernets:ens160:dhcp4: falseaddresses: [10.24.0.83/16]gateway4: 10.24.254.254nameservers:addresses: [114.114.114.114,8.8.8.8] #注意‘:’和‘[’之间有个空格version: 2

问题2:netplan apply时报错Error in network definition: expected mapping (check indentation) addresses:[114.114.114.114, 8.8.8.8]

参考:《Ubuntu18.04配置静态ip遇到的报错》

最终解决:address:[空格][144…(冒号后面应该有个空格)

在ubuntu安装界面中配置ip地址:

在这里插入图片描述

subnet:确实是子网掩码,对应我们的,就是10.24.0.0/16

问题3:没有ping命令

重要参考:Linux下安装ping命令

sudo apt update
sudo apt install -y iputils-ping # ubuntusudo yum install -y iputils # centos

安装不起,可能是没有连外网。

问题4:没有ifconfig命令

  • ip a命令查看ip
  • 安装(重要参考)
sudo apt install net-tools # ubuntu安装

3、2024.6.14 解决ping不通网关

最近配置硬件防火墙,系统是centos系统。按照之前的配置方法进行配置,配置了eth0的静态ip/动态ip,虽然ping得通自身,但是ping不通网关。(ping得通原来的br0的ip地址)

查阅了些参考资料,发现原因在于br0br0eth0绑定在了一起,导致配置了eth0的ip还是没用。

解决办法1:配置其他没和br0绑定的网卡,比如说配置eth1的ip地址。

解决办法2:配置br0的ip地址(配置成eth0的ip地址)。下面有具体的图片

解决办法3:取消eth0br0的绑定,配置eth0的ip地址

接下来就是学习这篇重要参考:《Linux虚拟网络设备之bridge(桥)》

1、ping -c 1 -I veth0 192.168.3.102这句命令是什么意思?

这个命令是使用ping工具来检测网络连接的。下面是对命令各部分的解释:

  • ping:这是一个常用的网络诊断工具,用于检查与目标主机的网络连接是否正常。
  • -c 1:这个选项指定了ping命令应该发送的echo请求(即ICMP请求)的数量。在这里,1表示只发送一个请求。
  • -I veth0:这个选项指定了用于发送echo请求的网络接口。veth0是一个虚拟网络接口,通常在Linux系统中用于容器或虚拟化环境。这个选项意味着echo请求将通过veth0接口发送。
  • 192.168.3.102:这是目标主机的IP地址。ping命令将向这个IP地址发送echo请求。

综上所述,ping -c 1 -I veth0 192.168.3.102 这句命令的意思是,使用veth0网络接口向IP地址为192.168.3.102的目标主机发送一个echo请求,并等待回应。这个命令通常用于测试网络接口是否能够成功发送和接收数据包。如果目标主机响应,将显示回复的时间和相关的网络统计信息;如果目标主机不响应,可能会显示超时的错误信息。

2、sudo tcpdump -n -i veth1这句命令是什么意思?

  • sudo:这个前缀表示以超级用户(root)权限执行后面的命令。tcpdump通常需要root权限来访问网络接口并进行数据包捕获。
  • tcpdump:这是一个强大的网络分析工具,用于捕获和显示通过网络接口传输的数据包。
  • -n:这个选项告诉tcpdump不要将网络地址解析为主机名和端口号,而是以数字形式显示IP地址和端口号。这样可以加快捕获过程,并减少输出的冗余信息。
  • -i veth1:这个选项指定了tcpdump应该监听的网络接口。veth1是一个虚拟网络接口,通常在Linux系统中用于容器或虚拟化环境。这个选项意味着tcpdump将监听veth1接口上的数据包。

综上所述,sudo tcpdump -n -i veth1 这句命令的意思是,以root权限使用tcpdump工具来捕获通过veth1网络接口传输的所有数据包,并以数字形式显示这些数据包的源和目标IP地址以及端口号。这个命令常用于网络调试、监控和分析。

3、关于对网桥的理解:

  • bridge是一个虚拟网络设备,所以具有网络设备的特征,可以配置IP、MAC地址等;其次,bridge是一个虚拟交换机,和物理交换机有类似的功能。

  • br0和veth0相连之后,相当于bridge在veth0和协议栈之间插了一脚,将veth0本来要转发给协议栈的数据给拦截了,全部转发给bridge了,同时bridge也可以向veth0发数据。(谁和br0连上,谁的数据就要发给br0而不再发给协议栈)

  • veth0收到(veth1的)应答包后没有给协议栈,而是给了br0,于是协议栈得不到veth1的mac地址,从而通信失败。

4、和网桥相关的命令:

dev@debian:~$ sudo ip link add name br0 type bridge #创建1个网桥dev@debian:~$ sudo ip link set br0 up #开启所创建的网桥dev@debian:~$ sudo ip link set dev veth0 master br0 # 将veth0连上br0dev@debian:~$ sudo bridge link #查看br0上连接了哪些设备
6: veth0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 2dev@debian:~$ sudo ip link add veth0 type veth peer name veth1 # 创建一对veth设备: veth0和veth1dev@debian:~$ sudo ip addr add 192.168.3.101/24 dev veth0 # 给Device veth0 配置上IP
dev@debian:~$ sudo ip addr add 192.168.3.102/24 dev veth1 # 给Device veth1 配置上IP
dev@debian:~$ sudo ip link set veth0 up # 开启虚拟网卡veth0
dev@debian:~$ sudo ip link set veth1 up # 开启虚拟网卡veth1dev@debian:~$ sudo ip addr del 192.168.3.101/24 dev veth0 #删除Device veth1的上ip
dev@debian:~$ sudo ip addr add 192.168.3.101/24 dev br0 #给网桥br0配置上ip

ip link命令,断开与eth0的连接:

ip link set veth0 nomaster br0

5、一个ping命令,会走哪些步骤? (协议栈、物理网卡、屏幕(和物理网卡对应)、外在设备)的关系?

参考:《网络是怎样连接的(二) – 协议栈与网卡是如何工作的》

  • 发送时的数据包:应用程序 -> 协议栈 -> 网卡
  • 接收时的数据包:网卡 -> 协议栈 -> 应用程序

6、核心问题:如果我不换网口,那么应该怎么配通网络?

  • 应该配置br0的ip(把eth1的网络ip,配置到br0上)

    • eth0不配置ip,但是ONBOOT要设置为on

      在这里插入图片描述

    • br0的配置,配置成eth0的配置

      • 通过vi ifcfg-br0配置
        在这里插入图片描述
      • 或者通过ip addr add 10.0.23.82/24 dev br0配置

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

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

相关文章

计算机网络(8) Finite State Machines(有限状态机)

一.建立连接&#xff08;三次握手&#xff09; 建立连接过程中的状态转换如下&#xff1a; 客户端&#xff1a; 发送SYN CLOSED >>>>>>>>>>>>>>SYN SENT(第一次握手) 接收SYNACK发送ACK …

【云原生】创建harbor私有仓库及使用aliyun个人仓库

1.安装docker #删除已有dockersystemctl stop docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine #安装docker yum install -y docker-ce-20.10.1…

SIGMOD 2024 | 时空数据(Spatial-Temporal)和时间序列(Time Series)论文总结

SIGMOD2024于6月9号-6月14号正在智利圣地亚戈举行&#xff08;Santiago Chile&#xff09; 本文总结了SIGMOD 2024有关时间序列&#xff08;time series&#xff09;,包括时序数据库&#xff0c;查询优化等内容。以及时空数据&#xff08;spatial-temporal data&#xff09;的…

简单http客户端程序

要求和目的 深入理解http协议以及http下载相关功能的程序设计 实验环境 Java语言&#xff0c;PC平台 实验要求 基本要求&#xff1a;使用Socket类&#xff0c;实现一个简单的HTTP客户端程序。用户输入URL&#xff0c;该程序可以从服务器下载URL指定的资源&#xff0c;并将之…

【gtest】 C++ 的测试框架之使用 gtest 编写单元测试

目录 &#x1f30a;前言 &#x1f30a;使用 cmake 启动并运行 gtest &#x1f30d;1. 设置项目 &#x1f30d;2. 创建并运行二进制文件 &#x1f30a;1. gtest 入门 &#x1f30d;1.1 断言&#xff08;assertions&#xff09; &#x1f30d;1.2 简单测试 &#x1f30d;…

167. 两数之和 II - 输入有序数组(中等)

167. 两数之和 II - 输入有序数组 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java 1. 题目描述 题目中转&#xff1a;167. 两数之和 II - 输入有序数组 2.详细题解 作为双指针方法的第一弹&#xff0c;先简要介绍下该方法&#xff1a; 若两个指针指向同一数组&#xf…

Linux安装Tomcat和Nginx

目录 前言一、系统环境二、Tomcat安装步骤Step1 安装JDK环境Step2 安装Tomcat 三、Nginx安装步骤四、测试4.1 测试Tomcat4.2 测试Nginx 总结 前言 本篇文章介绍如何在Linux上安装Tomcat web服务器。 一、系统环境 虚拟机版本&#xff1a;VMware Workstation 15 ProLinux镜像…

[英语单词] lineup

这里的lineup&#xff0c;感觉有点双关词的味道&#xff01;

QT漂亮QSS样式模仿流行VUE Element UI ,QSS漂亮大方美观样式 QSS样式 QTableWidget 漂亮样式QSS 快速开发QSS漂亮界面

在现代应用程序开发中&#xff0c;用户界面&#xff08;UI&#xff09;的设计与用户体验&#xff08;UX&#xff09;占据了至关重要的位置。Vue.js框架因其灵活性和丰富的生态系统而广受欢迎&#xff0c;其中Element UI作为一套为Vue设计的桌面端组件库&#xff0c;以其清晰的视…

前缀和算法:算法秘籍下的数据预言家

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一. 前缀和算法的介绍 二、前缀和例题 2.1 【模版】前缀和 2.2 【模板】二维前缀和 2.3 寻找数组的中间下标 2.4 除自身以外数组的乘积 2.5 和为k的子数组 2.6 和可被k整除的子数组 2.7 …

如何部署 Celestia 节点:运行轻节点和全节点

最近几周&#xff0c;Celestia ($TIA) 凭借其模块化数据可用性的基本概念和突破性功能在加密社区引起了轰动。参与网络的方式多种多样&#xff0c;例如将 TIA 与验证器进行质押或在网络上构建应用程序。 用户还可以通过部署节点与区块链进行交互。本指南将解释如何设置和运行 C…

填表统计预约打卡表单系统(FastAdmin+ThinkPHP+UniApp)

填表统计预约打卡表单系统&#xff1a;一键搞定你的预约与打卡需求​ 填表统计预约打卡表单系统是一款基于FastAdminThinkPHPUniApp开发的一款集信息填表、预约报名&#xff0c;签到打卡、活动通知、报名投票、班级统计等功能的自定义表单统计小程序。 &#x1f4dd; 一、引言…

Stable-Diffusion-WebUI 常用提示词插件

SixGod提示词插件 SixGod提示词插件可以帮助用户快速生成逼真、有创意的图像。其中包含,清空正向提示词”和“清空负向提示词、提示词起手式包含人物、服饰、人物发型等各个维度的提示词、一键清除正面提示词与负面提示词、随机灵感关键词、提示词分类组合随机、动态随机语法…

视频监控汇聚平台:系统日志介绍及在运维中的实际应用

目录 一、系统日志的重要性 &#xff08;一&#xff09;安全保障 &#xff08;二&#xff09;故障排查 &#xff08;三&#xff09;运营管理 &#xff08;四&#xff09;事件回溯与分析 二、产品说明 &#xff08;一&#xff09;产品介绍 &#xff08;二&#xff09;接…

AI对齐研究方法:建立一个足够对齐的人工智能系统,可以帮助我们解决所有其他对齐问题。 AI安全

与人类价值观保持一致&#xff0c;并遵循人类的意图。 找到一个无限可扩展的解决方案可能非常困难。相反&#xff0c;我们的目标是一种更务实的方法&#xff1a;建立和调整一个系统&#xff0c;该系统可以比人类更快、更好地调整研究进展。 使通用人工智能&#xff08;AGI&am…

物联网学习小记

https://www.cnblogs.com/senior-engineer/p/10045658.html GOSP: 提供类似Qt的API接口&#xff0c;仅需要几百KB的硬件资源&#xff08;比Qt小的多&#xff09;&#xff0c;能运行在Qt不支持的低配置硬件上&#xff08;对Qt生态形成补充&#xff09;&#xff0c;适用于嵌入式…

【C语言】一篇文章带你深度理解函数

目录 1. 函数的概念 2. 库函数 2.1 标准库和头文件 2.2 库函数的使用方法 2.2.1 举例 sqrt 2.2.2 库函数文档的一般格式 3. 自定义函数 3.1 函数的语法形式 3.2 函数的举例 4. 形参和实参 4.1 实参 4.2 形参 4.3 实参和形参的关系 5. …

【Android】打开需要NDK的项目的一些报错的问题解决

文章简述 在打开一个新的项目的时候&#xff0c;遇到了一些问题&#xff0c;记录一下问题的解决步骤。 问题1 FAILURE: Build failed with an exception.* What went wrong: A problem occurred configuring project :app. > NDK not configured. Download it with SDK m…

UE4 RPC进行网络同步

说明 基于UE本身提供的RPC同步机制 RPC远程过程调用允许客户端或服务器通过网络连接相互发送消息&#xff1a; 使用时需要注意&#xff1a; 1、必须从 Actor 上调用 2、Actor 必须被复制&#xff0c;注意勾选BP中Replicates&#xff0c;或使变量bReplicates true 3、注意如…

怎样收集企业名单?

收集企业名单的方法按照不同维度有不同的方式&#xff0c; 通过人工一个个收集&#xff0c;通过技术手段收集&#xff0c;通过第三方进行购买。 按照来源渠道&#xff0c;可以分为官方和非官方网站&#xff0c;官方的有公示系统&#xff0c;年报等。此外一些相对于官方的平台…