Linux系列02:网络配置、修改hosts映射文件、关闭防火墙

Linux网络配置&系统管理

  • 一、网络配置
    • [1.1 NAT模式下 为什么物理机和虚拟机之间能够通信](#1.1 NAT模式下 为什么物理机和虚拟机之间能够通信)
    • [1.2 客户机/虚拟机的IP动态分配范围](#1.2 客户机/虚拟机的IP动态分配范围)
    • [1.3 虚拟机/物理机/外网 互相ping通的大致流程](#1.3 虚拟机/物理机/外网 互相ping通的大致流程)
    • [1.5 修改虚拟机为静态IP](#1.5 修改虚拟机为静态IP)
    • [1.6 测试能不能ping通](#1.6 测试能不能ping通)
  • 二、修改主机名以及hosts映射文件
    • [2.1 修改Linux的主机名](#2.1 修改Linux的主机名)
    • [2.2 修改Linux的hosts文件](#2.2 修改Linux的hosts文件)
    • [2.3 修改Windows的hosts文件](#2.3 修改Windows的hosts文件)
    • [2.4 Windows提示无权限修改的解决方法](#2.4 Windows提示无权限修改的解决方法)
    • [2.5 Windows/Linux的hosts文件有啥区别](#2.5 Windows/Linux的hosts文件有啥区别)
  • 三、CentOS7服务管理(如何关闭防火墙)
    • [3.1 查看有哪些服务正在运行](#3.1 查看有哪些服务正在运行)
    • [3.2 服务相关指令](#3.2 服务相关指令)
    • [3.3 怎么关闭Windows的防火墙](#3.3 怎么关闭Windows的防火墙)

一、网络配置

1.1 NAT模式下 为什么物理机和虚拟机之间能够通信

安装VMware虚拟机软件的时候 默认会在物理机上安装两张虚拟网卡

下图这两张虚拟网卡 归属于Windows物理机

NAT模式使用虚拟网卡VMnet8 它的IP是192.168.154.1 子网掩码是255.255.255.0

192.168.154.0是网络号(Network Address) 子网掩码是255.255.255.0

所以由此虚拟机软件创建的虚拟机 IP地址是192.168.154.XXX 子网掩码是255.255.255.0

XXX的范围可以在右下角DHCP设置 里查看 一般默认是192.168.154.128 ~ 192.168.154.254

综上所述 虚拟网卡VMnet8/通过VM创建的虚拟机都是在同一网段下的 这就像他们组成了一个小型局域网 能够互相通信

可以这样简单理解:VMnet8≈虚拟小型局域网 物理机和虚拟机都加入了这个小型局域网

1.2 客户机/虚拟机的IP动态分配范围

这里我的Linux客户机的IP是192.168.154.128 为什么第一次分配的就是128呢?

1.1提到 由此虚拟机软件创建的虚拟机 被分配的IP地址是192.168.154.XXX 图2可以看XXX的具体范围


1.3 虚拟机/物理机/外网 互相ping通的大致流程

物理机 = {192.168.100.3, 192.168.154.1} 物理机有下面2个网卡 他们属于两个不同的网段

身份1:192.168.100.3(在家里的局域网)

身份2:192.168.154.1(在虚拟机局域网)

物理机ping虚拟机 没有跨网段 物理机使用身份2

虚拟机ping物理机 ping的是身份1 所以跨网段

同网段:网卡 → 交换机 → 直达

跨网段:网卡 → 交换机 → 路由器 → 再转发

虚拟机 跨网段ping 物理机:

虚拟机IP192.168.154.128;子网掩码:255.255.255.0;网关:192.168.154.2(VMware NAT 网关)

ping的是物理机的WLAN地址192.168.100.3
S1:Linux会先判断目标IP和自己是不是一个网段

我的网段:192.168.154.128 & 255.255.255.0 = 192.168.154.0

目标网段:192.168.100.3 & 255.255.255.0 = 192.168.100.0

发现不同网段 不能直接发- ->交给网关处理
S2:发现跨网段 发给默认网关(虚拟机要能上网 IP和网关必须同网段)

Linux就把数据包这样写 源IP192.168.154.128 目标IP192.168.100.3

把数据包交给默认网关:192.168.154.2(VMware NAT 路由器)
S3:VMware NAT 路由器接手 进行跨网段路由

VMware NAT网关发现"目标是 192.168.100.3" 它查路由表发现这个地址在物理机所在的真实局域网里 于是把包转发给物理机 此时数据包到了 物理机内部网络模块
S4:物理机收到包

物理机一看目标IP:192.168.100.3 这就是它自己的WLAN网卡地址

于是物理机确认 "这包是发给我的" 然后回复一个ping应答包
S5:ping应答包原路返回

物理机WLAN->交给VMware NAT->VMware NAT转发->Linux虚拟机收到回复
物理机 ping 虚拟机:

物理机看到目标IP:192.168.154.128 物理机同时连着两个网段 本身就是"路由器"

查路由表发现是192.168.154.0网段 就在"VMware Network Adapter VMnet8"后面

直接从VMnet8网卡发出

VMnet8虚拟交换机转发给Linux虚拟机

ping应答包原路返回
物理机 ping 百度:

物理机192.168.100.3

发现目标是公网IP

发给默认网关(家用路由器)192.168.100.1

家用路由器做NAT地址转换

通过运营商网络

到达百度服务器

百度回复 按原路反向返回
虚拟机 ping 百度:经典的"双重NAT"场景

Linux虚拟机192.168.154.128

目标是公网IP

发给默认网关(VMware NAT)192.168.154.2

VMware NAT第一次地址转换 源IP变成:192.168.100.3

发给家用路由器192.168.100.1

家用路由器第二次NAT地址转换 源IP变成:公网IP

通过运营商网络到达百度服务器

百度回复 按原路反向返回

1.5 修改虚拟机为静态IP

下面128这个IP地址 作为我当前Linux客户机(看成公司的服务器 )的IP地址

希望它不管怎么折腾IP都不会因为被动态分配而改变 那么就要把动态分配改成静态的
cat /etc/sysconfig/network-scripts/ifcfg-ens33可以查看当前网络配置情况

vim /etc/sysconfig/network-scripts/ifcfg-ens33

重启一下网络服务 才会生效
systemctl restart network

我的主机号已经从128改成了99

1.6 测试能不能ping通

Linux客户机ping外网(百度)

Linux客户机ping物理机的WLAN地址
Linux客户机ping物理机的虚拟网卡VMnet8的地址
先看看Windows防火墙有没有都关掉 否则有可能ping不通


物理机ping VMnet8的地址

物理机ping Linux客户机的地址(在Linux中用ifconfig查看)

二、修改主机名以及hosts映射文件

2.1 修改Linux的主机名

给当前Linux系统的主机取了个名字
vim /etc/hostname

修改完后reboot重启生效

2.2 修改Linux的hosts文件

vim /etc/hosts

默认的配置内容如下 可以选择删掉 然后添加自己需要的映射关系


这个hosts文件有什么用?为什么要改它?

可以简单的理解为:

IP地址是一串数字 很难记 那么我就给改IP地址映射一个名字

比如说baidu.com 实际上访问的仍然是百度服务器的IP地址 只不过取了个名字

无论是记忆还是使用 都更方便了(参考DNS服务器的解析过程)

2.3 修改Windows的hosts文件

Windows的hosts文件的位置:C:\Windows\System32\drivers\etc

修改好hosts文件 再用Xshell连接Linux的时候 通信过程中 会先解析hosts文件

发现ZcyLinux001对应的IP地址是192.168.94.150
连接的时候 就会用这个IP地址替换掉ZcyLinux001 并结合端口号建立连接

2.4 Windows提示无权限修改的解决方法

添加之后 按保存 有可能会出现如下弹窗

先把文件移动到桌面


再从桌面打开这个文件 然后把需要的映射关系添加进去 并保存此文件

保存之后 再把文件拖回etc目录下就ok了

2.5 Windows/Linux的hosts文件有啥区别

使用Xshell远程链接服务器的时候 主机那一栏希望也是直接写主机名而不是具体IP

这个时候解析的其实是Windows下的hosts文件(因为Xshell是安装在Windows上的)
Linux客户机上修改的hosts文件 是为了在Linux系统中 方便N台客户机集群之间可以直接用主机名通信

三、CentOS7服务管理(如何关闭防火墙)

3.1 查看有哪些服务正在运行

Linux一切皆文件 包括服务 也是用文件的形式体现
cd /usr/lib/systemd/system
ls -al

3.2 服务相关指令

查看防火墙服务的状态:systemctl status firewalld

停止/启动/重启防火墙服务:systemctl stop/start/restart firewalld

查看服务开机启动状态(是否开机自启):systemctl list-unit-files(enable就是开机自启 按q可以退出查看界面)

关掉/打开指定服务的开机自启:systemctl disable/enable service_name

查看XX服务当前是否是开机自启状态:systemctl is-enabled firewalld(显示enabled就说明打开了开机自启 )
上述指令firewalld也可以换成其他的服务名 效果是一样的 如果要查看网络相关的服务就是network

3.3 怎么关闭Windows的防火墙

学习过程中 建议关闭

相关推荐
斯密码赛我是美女2 小时前
周报(欢乐赛+信息搜集ctfshow+Trae-mcp)
网络·windows
天赐学c语言2 小时前
Linux - 网络应用层协议HTTP
linux·c++·网络服务
JiMoKuangXiangQu2 小时前
Linux 锁 (3) - semaphore
linux·semaphore
学不完的2 小时前
Docker 的安全优化
运维·安全·docker·容器·eureka
七夜zippoe2 小时前
Python 3.12+ 新特性深度解析:类型系统与性能革命
android·网络·python·类型系统·性能革命·3.12+
老星*2 小时前
1Panel:现代化开源Linux服务器运维管理面板
运维·服务器·开源
七七powerful2 小时前
运维养龙虾--使用腾讯workbuddy部署ssh-mcp-server允许通过 MCP 协议远程执行 SSH 命令
运维·ssh·ssh-mcp
twc8292 小时前
打造专属 MCP Server 测试自动化的私有化解决方案
运维·软件测试·人工智能·自动化·mcp server
顶点多余2 小时前
Linux中进程间通信 ---管道篇
linux·运维·服务器