Linux三种网络方式

前言

发现运维啥都得会,这周就遇到了网络问题自己无法解决,因此痛定思痛学一下。

参考文献

你管这破玩意叫网络?

桥接模式、NAT模式、仅主机模式,原来是这样工作的

交换机

构成局域网,实现所有设备之间的通信。

在这里插入图片描述

因此通信就非常方便了,只需要写明目标物理地址,通过交换机进行转发,就可以达到想要通信的电脑。

路由器

作为一台独立的拥有Mac地址的设备,并且可以把数据包进行一次转发,路由器的每个端口都有独立的Mac地址。

在这里插入图片描述
此时192.168.0.10要和192.168.1.30通信,怎么知道是需要通过路由器进行转发呢?

  • 如果源IP目的IP在同一个子网,直接将包通过交换机发出去。
  • 如果源IP目的IP不在同一个子网,就交给路由器去处理。

192.168.0.x比如192.168.0.2就和192.168.0.10在同一个子网。
实际上是通过子网掩码进行与运算的结果对比是否在同一个子网。

还有一个问题就是如何知道哪个设备是路由器呢?
需要在192.168.0.10上面配置默认网关,一旦发现在不同子网,就将数据发给默认网关的设备。
在这里插入图片描述

NAT技术

NAT技术,可以帮助局域网设备通过私有IP地址访问局域网。

  1. 私有IP地址:在一个局域网中,通常使用私有IP来为设备分配网络标识。这些地址范围是在互联网上不是唯一的,因此不能直接通过互联网访问。
  2. 公共IP地址:公共IP地址是全球范围内唯一的。
  3. NAT转换:当局域网设备通过路由器的WAN口访问互联网时,NAT技术将私有IP地址转为公共IP地址。

​外网进WAN,内网接LAN

  1. 路由表:NAT(比如路由器)会维护一个NAT转换的路由表记录每个局域网设备的私有IP地址和对应的公共IP地址、端口号。这样,当互联网上的响应数据包返回时,路由器可以根据路由表中的信息将数据包正确转发到对应的局域网设备。
  2. 端口转发:NAT技术还支持端口转发(PortForwarding,允许外部网络访问局域网中特定设备的特定端口。通过在路由器上配置端口映射规则,路由器可以将外部网络的请求转发到局域网设备的私有IP地址和端口上

普通设备(电脑/手机)​一般只有私网IP,除非特殊网络环境(如直连光猫、双网卡)。
通过ipconfig查看
在这里插入图片描述
路由器/网关设备:通常同时拥有公网IP(对外)和私网IP(对内)。
路由表
在这里插入图片描述
端口转发
在这里插入图片描述

桥接模式

linux 如何查看网卡配置是桥接还是nat还是其他
请参考桥接模式的图

在这里插入图片描述

桥接模式下,虚拟机会直接“插”在你的物理网线上,就像你家里新买了一台电脑,直接用网线连到路由器上一样——它和物理机是完全平等的“邻居”,共用同一个物理网络。

为什么需要同一网段、相同网关/DNS

  • 同一网段:就像你家的所有设备(手机、电脑)必须连到同一个路由器(比如 192.168.1.x)。
  • 相同网关:网关就是路由器的IP(比如 192.168.1.1),所有设备都要通过它上网。
  • 相同DNSDNS是“地址簿”,虚拟机要和物理机用同一个地址簿(比如 8.8.8.8)才能找到网站。

关于DNS在这里可以多说一点关于我自己的理解:

一个域名,可以访问到成百上千台服务器。那么我们怎么知道到底要访问哪一台呢?

负载均衡,轮询的方式,一台一台的访问。

为什么没有 VMnet0 虚拟网卡?

桥接模式直接使用物理网卡,不需要虚拟网卡做中间人。

  • 对比NAT模式:NAT模式相当于虚拟机“躲在”物理机后面,通过物理机的虚拟网卡(如 VMnet8)上网,所以需要虚拟网卡。
  • 桥接模式:虚拟机自己“光明正大”用物理网卡,直接和路由器对话。

实操一下

在这里插入图片描述
vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static       # 更改为静态,为什么要调成静态呢?因为DHCP分配IP,比如这个时候你是9过一会又变成10,连接就会变得很麻烦
ONBOOT=yes             # 设置开机⾃动启⽤⽹络连接
IPADDR=192.168.1.200    # 虚拟机的静态ip,一定要按 主机的实际网络情况进行配置,不和已有的冲突即可
NETMASK=255.255.255.0  # 和 主机 的子网掩码一致
GATEWAY=192.168.1.1   # 和 主机 的网关IP一致
DNS1=192.168.1.1      # 和 主机 的网关IP一致

重启一下网络service network restart
在这里插入图片描述
虚拟机
在这里插入图片描述
主机
在这里插入图片描述
那么为什么虚拟机ping不同主机呢?
在这里插入图片描述
我又有一个想法虚拟机是不是可以也可添加防火墙,额之前防火墙忘记开启了。现在开启了再试一下。

systemctl start firewalld
systemctl status firewalld

在这里插入图片描述
那么专门隔绝一下主机IP访问再看看。

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.165" reject'
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

在这里插入图片描述
在这里插入图片描述

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.165" reject'
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

说实话我现在不太会,等学会了补上。

NAT网络

linux 如何查看网卡配置是桥接还是nat还是其他
请参考NAT网络模式的图
在这里插入图片描述

NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。

相比桥接模式,多了虚拟NAT设备虚拟DHCP服务器虚拟网卡

虚拟交换机目的是为了搭建一个局域网,会把所有虚拟机和VMware Network Adapter VMnet8搭建在一个局域网内,虚拟机和VMware Network Adapter VMnet8可以互联互通的,主机可以通过虚拟网卡VMware Network Adapter VMnet8访问到虚拟机,但是虚拟机不能直接通过虚拟网卡VMware Network Adapter VMnet8访问到主机网卡的,因为不通也不在同一个网段,虚拟机想要访问主机网卡需要通过NAT设备。

所以主机和虚拟机是互通的,但是走的链路不同。

实操一下

在这里插入图片描述
在这里插入图片描述

BOOTPROTO=static       # 更改为静态
ONBOOT=yes             # 设置开机⾃动启⽤⽹络连接
IPADDR=192.168.111.15    # 虚拟机的静态ip,一定要按 VMnet8 的实际网络情况进行配置,不和已有的冲突即可
NETMASK=255.255.255.0  # 和 VMnet8 的子网掩码一致
GATEWAY=192.168.111.2   # 和 VMnet8 的网关IP一致
DNS1=192.168.111.2      # 和 VMnet8 的网关IP一致

service network restart
经过测试,虚拟机和主机相互都能通信,并且都可以访问外网。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

端口转发

此路不通,可以走另一条路。

可以把外部的请求转发到局域网内,主机的网卡,相当于虚拟机的集群来说就是一个外部的设备,VMware Network Adapter VMnet8禁用以后不能通过虚拟网卡访问虚拟机。
如果想通过主机的网卡访问到虚拟机,需要在NAT设备配置端口转发
在这里插入图片描述
这个操作就是把主机的80端口,转发到虚拟机的192.168.111.15的22端口
在这里插入图片描述
在这里插入图片描述
路线就是这样的通过主机网卡->NAT设备(端口转发)->虚拟机。注意此时被VMware Network Adapter VMnet8禁用了

仅主机模式

仅主机模式可有看成是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。
在这里插入图片描述
虚线代表着不能通信。
虚拟机不能访问主机的网卡,主机可以通过VMware Network Adapter VMnet1虚拟网卡访问到虚拟机,

在这里插入图片描述
vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static       # 更改为静态
ONBOOT=yes             # 设置开机⾃动启⽤⽹络连接
IPADDR=192.168.222.15    # 虚拟机的静态ip,一定要按 VMnet1 的实际网络情况进行配置,不和已有的冲突即可
NETMASK=255.255.255.0  # 和 VMnet1 的子网掩码一致

service network restart
在这里插入图片描述
当然关闭了VMware Network Adapter VMnet1虚拟网卡主机也不能访问虚拟机。

总结

所有结论都需要反复测试!如果有错误欢迎指正!一起努力!
如果喜欢的话,请点个赞吧就算鼓励我一下。

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

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

相关文章

DeepSeek + Mermaid编辑器——常规绘图

下面这张图出自:由清华大学出品的 《DeepSeek:从入门到精通》。 作为纯文本生成模型,DeepSeek虽不具备多媒体内容生成接口,但其开放式架构允许通过API接口与图像合成引擎、数据可视化工具等第三方系统进行协同工作,最终…

javaweb将上传的图片保存在项目文件webapp下的upload文件夹下

前端HTML表单 (upload.html) 首先&#xff0c;创建一个HTML页面&#xff0c;允许用户选择并上传图片。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>图片上传</title> </head> <…

2025最新Flask学习笔记(对照Django做解析)

前言&#xff1a;如果还没学Django的同学&#xff0c;可以看Django 教程 | 菜鸟教程&#xff0c;也可以忽略下文所提及的Django内容&#xff1b;另外&#xff0c;由于我们接手的项目大多都是前后端分离的项目&#xff0c;所以本文会跳过对模板的介绍&#xff0c;感兴趣的朋友可…

自然语言处理NLP入门 -- 第十一节NLP 实战项目 3: 文本摘要

1. 为啥需要文本摘要&#xff1f; 还记得小时候我们要写“读后感”或“观后感”吗&#xff1f;看完一篇长长的文章、一本书&#xff0c;甚至一部电影后&#xff0c;老师总是要我们用几句话概括主要内容。其实&#xff0c;这就跟文本摘要的核心思路一样——把那些最有价值、最能…

算法day4 dfs搜索2题

一 糖果 我们看这个蓝桥A组真题 首先我们看这个题目说有M种的糖果&#xff0c;K颗一包&#xff0c;N包糖果 第一行就是输入M&#xff0c;K&#xff0c;N的数量 后面就是输入每个糖果在每包里面的种类 然后问我们最少要用几包糖果才可以把所有种类的糖果都吃一遍 如果不可以吃完…

【MySQL】窗口函数详解(概念+练习+实战)

文章目录 前言1. SQL窗口函数 1.1 窗口函数概念1.2 窗口函数语法1.3 常见窗口函数 1.3.1 聚合窗口函数1.3.2 专用窗口函数 1.4 窗口函数性能比较 2. LeetCode 例题 2.1 LeetCode SQL 178&#xff1a;分数排名2.2 LeetCode SQL 184&#xff1a;最高工资2.3 LeetCode SQL 185&am…

【Ai】--- DeepSeek-r1 如何选择适合自己的版本(超详细)

在编程的艺术世界里&#xff0c;代码和灵感需要寻找到最佳的交融点&#xff0c;才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里&#xff0c;我们将共同追寻这种完美结合&#xff0c;为未来的世界留下属于我们的独特印记。 【Ai】--- DeepSeek-r1 如何选择适合自己…

植物大战僵尸金铲铲版 v1.1.6(windows+安卓)

游戏简介 《植物大战僵尸金铲铲版》是由“古见xzz”、“对不起贱笑了”、“是怪哉吖”等联合开发的民间魔改版本&#xff0c;融合了原版塔防玩法与《金铲铲之战》的自走棋元素&#xff0c;属于非官方同人作品。 游戏特点 合成升星机制&#xff1a;三个相同低星植物可合成更高…

网络空间安全(6)web应用程序技术

前言 Web应用程序技术是指用于开发和构建基于Web的应用程序的技术和工具&#xff0c;涵盖了前端开发、后端开发、数据库管理、安全性等多个方面的技术。 一、前端开发技术 HTML/CSS/JavaScript&#xff1a;HTML用于构建网页结构&#xff0c;CSS用于进行样式设计&#xff0c;Jav…

零基础学习OpenGL(一)创建一个窗口

基于 ubuntu 系统&#xff0c;设置基础环境。 #!/usr/bin/env bashsudo apt-get update# 安装基础编译软件 sudo apt-get -y install gcc g cmake git# 安装编译 glfw 依赖的软件 sudo apt-get -y install libwayland-dev libx11-dev libxcursor-dev libxi-dev libxinerama-de…

Windows 11 下正确安装 Docker Desktop 到 D 盘的完整教程

文章目录 Windows 11 在 D 盘正确安装 Docker Desktop 的完整教程**前言****准备工作****1. 手动创建 Docker 相关目录**&#xff08;⚠️ **这一步非常重要**&#xff0c;否则会报错&#xff09;**2. 下载 Docker Desktop 安装程序****3. 使用管理员权限打开终端** **安装 Doc…

版图自动化连接算法开发 00001 ------ 直接连接两个给定的坐标点

版图自动化连接算法开发 00001 ------ 直接连接两个给定的坐标点 引言正文定义坐标点的类绘图显示代码直接连接两个坐标点引言 由于人工智能的加速普及,每次手动绘制版图都会觉得特别繁琐,作者本人在想可否搞一个自动化连接器件端口的算法,后期可以根据一些设定的限制进行避…

AIP-156 单例资源

编号156原文链接AIP-156: Singleton resources状态批准创建日期2019-05-12更新日期2024-04-15 API有时需要表示在任意上级资源中&#xff0c;始终只存在一个实例的资源。常见的例子是配置对象。 指南 API 可以 定义 单例资源 。单例资源 必须 始终随上级资源而存在&#xff…

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图(水文,勿三)

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。 这一节我们来学习指针的相关知识&#xff0c;学习内存和地址&#xff0c;指针变量和地址&#xff0c;包…

【实用技巧】RAGFlow+DeepSeek搭建私人Ai助理

前言 满血版DeepSeek虽然很好用&#xff0c;但仍然有三个主要缺陷&#xff1a; 联网的DeepSeek无法解决数据安全问题&#xff0c;如果使用&#xff0c;数据将传输到其服务器&#xff0c;数据隐私性无法保证。上传的文件存在限制&#xff0c;无法解决有多个文件的问题。回答的…

Storm实时流式计算系统(全解)——中

storm编程的基本概念-topo-spout-bolt 例如下&#xff1a; storm 编程接口-spout的结构及组件实现 storm编程案例-spout组件-实现 这是我的第一个组件&#xff08;spout组件继承BaseRichSput&#xff09;所有重写内部的三个方法&#xff0c;用于接收数据&#xff08;这里数据是…

【tplink】校园网接路由器如何单独登录自己的账号,wan-lan和lan-lan区别

老式路由器TPLINK&#xff0c;接入校园网后一人登录&#xff0c;所有人都能通过连接此路由器上网&#xff0c;无法解决遂上网搜索&#xff0c;无果&#xff0c;幸而偶然看到一个帖子说要把信号源网线接入路由器lan口&#xff0c;开启新世界。 一、wan-lan&#xff0c;lan-lan区…

Qt常用控件之旋钮QDial

旋钮QDial QDial 表示一个旋钮控件。 1. QDial属性 属性说明value当前数值。minimum最小值。maximum最大值。singleStep按下方向键时改变的步长。pageStep按下 pageUp/pageDown 的时候改变的步长。sliderPosition界面上旋钮显示的初始位置。tracking外观是否会跟踪数值变化&…

微服务笔记 2025/2/15

微服务是一种软件架构风格&#xff0c;它是以专注于单一职责的很多小型项目为基础&#xff0c;组合出复杂的大型应用。 微服务是一种架构。 微服务是一种架构。 微服务是一种架构。 以前自己做项目最常用的架构是单体架构。单体项目不适合开发大型项目。 学习微服务技术来解…

7-1JVMCG垃圾回收

一、GC的作用与原理 ​核心功能​ 自动识别并回收堆内存中不再被引用的对象&#xff0c;释放内存空间。 避免手动管理内存的复杂性&#xff08;如C/C中的delete/free操作&#xff09;&#xff0c;降低内存泄漏风险。 ​判断对象可回收的方法​ ​可达性分析算法&#xff1a;…