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的防火墙

学习过程中 建议关闭

相关推荐
A小辣椒21 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式