虚拟机- + linux
一、虚拟机概念
虚拟机,其本质其实也是一个程序。 但是这个程序,模仿了一台完整的主机,一旦进入了这个程序,就放佛进入了另一台独立的电脑。
好处:在你的windows系统中 可以用虚拟机安装、操作 linux系统
1.安装虚拟机-VMWare
虚拟机(VMware)安装,保姆级教程(附所有安装包及所有安装步骤)_vmware虚拟机-CSDN博客
虚拟机网络认识 四种
- 桥接 虚拟机≈独立物理机
- 场景:你用笔记本(宿主机,IP:192.168.1.10)连接家里的路由器,想让虚拟机里的 系统直接访问局域网内的打印机(IP:192.168.1.20),同时能连互联网。
- 操作: 获得一个与宿主机网络相同的 IP 地址范围,路由器分配的 IP(如 192.168.1.11)。
- 结果:虚拟机可以直接访问打印机(192.168.1.20),也能正常浏览网页,局域网内其他设备(如手机,IP:192.168.1.12)也能访问虚拟机里的共享文件。
-
NAT 模式 虚拟机通过宿主机 “转发” 上网
- 场景:你在公司电脑(宿主机,IP:10.0.0.50,公司局域网限制新增设备)上装了虚拟机,只想让虚拟机连互联网查资料,不需要被其他同事的电脑访问。
- 操作:虚拟机选择 “NAT 模式”,开机后虚拟机获取到宿主机分配的私有 IP(如 192.168.122.10)。【虚拟机的 IP 地址通常会在一个私有地址段内,无法直接被外部网络访问】
- 结果:虚拟机可以正常浏览网页、下载文件,但同事的电脑(IP:10.0.0.51)无法访问虚拟机里的内容,也不会占用公司局域网的 “独立设备名额”。
- 仅主机 虚拟机只和宿主机通信
网络模式 | 能否连互联网 | 能否被局域网设备访问 | IP 来源 | 核心用途 |
---|---|---|---|---|
桥接模式 | 能(需局域网通) | 能 | 路由器 / DHCP 服务器 | 虚拟机需作为独立设备(如服务器、共享设备) |
NAT 模式 | 能(靠宿主机转发) | 不能 | 宿主机虚拟 DHCP | 仅需虚拟机上网,无需对外提供服务 |
仅主机模式 | 不能 | 不能 | 宿主机虚拟 DHCP | 本地测试、数据隔离(如开发调试) |
自定义模式 | 看所选虚拟网络配置 | 看所选虚拟网络配置 | 看网络配置(DHCP / 手动) | 灵活适配复杂场景(如多虚拟机分网段) |
二、安装Linux系统
- 新手用户:推荐 Ubuntu、Linux Mint 或 Zorin OS,易于上手,社区支持丰富。
- 开发者:Fedora、Debian、Arch Linux 或 Manjaro 提供最新的软件包和灵活的配置。
- 企业用户:RHEL、CentOS、AlmaLinux 或 openEuler 提供稳定性和长期支持。
- 中文用户:deepin 和 Kylin 提供良好的中文支持和本地化体验。
注意:此次用CentoS版[只是测试使用]
“镜像” 是指原始数据或实体的复制品,其内容与源保持一致。
安装虚拟机时,镜像指的是操作系统的安装文件或完整的系统副本【也可理解为系统文件复制品】
在 VMWare 中安装操作系统,用的是安装镜像的办法。 CentOS的镜像地址有多,可以选择
虚拟机VMware上安装CentOS(详细图文教程)-腾讯云开发者社区-腾讯云
三、防火墙
控制进出网络流量的安全工具。它根据预定义的规则来允许或阻止网络流量,保护系统免受未授权的访问
常见的防火墙工具有 iptables 和 firewalld
cat /etc/os-release # 查看系统版本信息(包含发行版名称、版本号等)
CentOS 发行版
1. iptables(传统的防火墙工具)
sudo iptables -L # 会列出当前的
iptables
规则
输入链:默认策略是 ACCEPT,表示所有进入的流量都允许通过,除非有其他规则显式阻止它。
转发链:默认策略是 DROP,意味着所有转发流量都被拒绝,除非有规则明确允许。
输出链:默认同输入链
或者 service iptables status 令查看防火墙的状态
- 添加一条规则: 例如,允许通过端口 80(HTTP)的流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- 删除规则: 删除一条规则,可以指定规则的编号,先使用
-L --line-numbers
查看规则编号,再删除:
sudo iptables -D INPUT 1 【此时删除输入链的第一个规则】
- 保存规则(使规则在重启后依然有效)
sudo service iptables save
CentOS 7 之后 sudo iptables-save > /etc/sysconfig/iptables- 重新加载规则 修改规则并应用它们 ,可以重新加载iptables
sudo systemctl restart iptables
2.firewalld
1.查看防火墙状态 systemctl status firewalld
如果输出显示
firewalld
服务处于 active 或 running 状态,那么系统使用的是firewalld
。如果状态是 inactive 或 dead,说明
firewalld
没有启用
按照上述 没启用,没安装
2.安装防火墙 yum -y install firewalld firewall-config
3.生命周期管理
为了启动防火墙,要先重启下 dbus.. systemctl restart dbus
然后通过如下命令进行防火墙生命周期管理
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
4.防火墙配置工作
查看版本:firewall-cmd --version
查看帮助:firewall-cmd --help
显示状态:firewall-cmd --state
查看所有打开的端口:firewall-cmd --zone=public --list-ports
更新防火墙规则:firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域:firewall-cmd --get-zone-of-interface=eth0
拒绝所有包 firewall-cmd --panic-on 慎用,最好就不用!
取消拒绝状态:firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
开放一个防火墙端口
1.firewall-cmd --zone=public --add-port=80/tcp --permanent 【添加永久规则】
2.firewall-cmd --reload 【重新加载防火墙,才会生效 】
查看 firewall-cmd --zone=public --query-port=80/tcp
删除 firewall-cmd --zone= public --remove-port=80/tcp --permanent
四、其他常用命令
nslookup www.baidu.com # 查询 DNS 记录的工具,可以将域名解析为 IP 地址,或查询 DNS 服务器信息。
[root@localhost sysconfig]# nslookup www.baidu.comServer: 172.11.33.16 // DNS 服务器的 IP 地址,它是 负责解析域名的服务器 Address: 172.11.33.16#53 // 端口号是 53(标准 DNS 端口)Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. //前者 别名指向真正主机名www.a.shifen.com Name: www.a.shifen.com Address: 110.242.70.57 // 主机名对应的 IPv4 地址 Name: www.a.shifen.com Address: 110.242.69.21 // 主机名对应的 IPv4 地址 多个说明shifen.com部署多台服务器
cat /etc/resolv.conf 查看你所配置的DNS 地址
nameserver 8.8.8.8 nameserver 8.8.4.4 search shenzi
nameserver
后面跟的是 DNS 服务器的 IP 地址,系统会按顺序使用这些服务器进行域名解析search
访问短域名时,系统会自动尝试拼接这些后缀进行解析举例:ping testserver 系统会自动帮你补全成
ping
testserver.shenzi文件通常由系统自动维护(比如通过 DHCP 服务获取 DNS 信息时),但在某些情况下也可以手动编辑来修改 DNS 配置。
ip address 或者 ip addr 查看和管理网络接口配置的命令 [传统的
ifconfig
命令]
- 接口名称:如
lo
(本地回环)、eth0
(以太网)、wlan0
(无线网卡)等- IP 地址:包括 IPv4 和 IPv6 地址(格式为
inet
或inet6
后跟地址 / 子网掩码)- MAC 地址:硬件地址(格式为
link/ether
后跟地址)- 接口状态:
UP
(启用)或DOWN
(禁用)等netstat -anp|grep 8080 网络,查端口、连接、路由
netstat -tuln
:查看所有监听中的 TCP/UDP 端口(常用!)
-t
:显示 TCP 连接-u
:显示 UDP 连接-l
:只显示监听状态的端口-n
:以数字形式显示 IP 和端口(不解析域名)wget https://www.baidu.com 文件下载,适合批量或后台下载
curl https://www.baidu.com 查看网页源码
景 wget curl 主要用途 专注文件下载 多功能网络工具(下载、请求等) 协议支持 较少(HTTP/HTTPS/FTP 为主) 更多(支持 SCP、SFTP、SMTP 等) 脚本 / 编程友好 较弱 较强(易与其他命令结合) 后台 / 批量下载 更方便(内置功能) 需要配合其他工具(如 nohup
)默认行为 自动保存文件(用 URL 文件名) 默认输出到终端
五、linux基础命令
Linux命令大全(非常详细)零基础入门到精通,收藏这一篇就够了_linux常用命令-CSDN博客
史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!_linux命令-CSDN博客
六、知道某个错误 去查日志看具体信息
linux查找文件并查看详情_linux查找文件后保存结果怎么看-CSDN博客
七、日志查错
linux、windows常用命令——参数解释_windows free -h-CSDN博客