Virtual安装centos后,xshell连接centos 测试及遇到的坑

首先来一张官方的图--各种网络模式对应的连接状况:

1. 网络使用Host-Only模式动态分配IP,点确定后,centos 上运行 system restart network ,使用ifconfig查看新的ip,XShell可以直接连上centos, 但是由于使用的是Host-Only模式,centos不能访问网络,只能与宿主机相互通信(我测试时,windows能ping通centos,但centos却ping不通windows,不过据说host-only就是这样的,因此我没有过多纠结,可以找专业文献研究一下。按照官方给的图,VM是能访问Host的,即centos能ping通宿主机,所以这一段我删掉了)。

2. 网络使用桥接模式动态分配IP,点确定后,centos 上运行 system restart network ,使用 ifconfig 查看新的ip,XShell可以直接连上centos, 并且centos能访问网络外部网络也能访问centos 。因为centos与宿主机在**同一个网段。**接下来我们尝试将centos 的IP设置为静态IP。

查看宿主机(我的是windows)IP,为接下来修改centos的ip做准备(修改到同一个网段)

可以看到windows IP为 192.168.1.8, centos 的 IP 修改为 192.168.1.*即可!

接下来尝试将centos的IP设置为静态IP:先用 ifconfig 查看网卡名,如图所示,为 enp0s3

我们直接进入编辑:vi /etc/sysconfig/network-scripts/ifcfg-enp0s3, 有的名字不是 enp0s3

可以先 cd /etc/sysconfig/network-scripts 进入目录查看具体名字。

编辑 ifcfg-enp0s3 后结果如下:

箭头所指为改动的地方:dhcp 改为 static,动态IP改为静态IP

框住的部分为新增的部分

然后用XShell连接新的ip:192.168.1.9,能连接成功!并且能访问外网!

**3. 网络使用****网络地址转换(NAT)**模式动态分配IP

效果:centos能访问外网,能ping通windows, windows不能ping通centos,配置端口转发后XShell连上centos

ViturlBox配置页面:

XShell配置页面:

**配置静态IP。****配好后效果跟动态IP一致:**centos能访问外网,能ping通windows, windows不能ping通centos,配置端口转发后XShell连上centos

配置文件修改如下:

GATEWAY如果不知道怎么填,可以运行 ip route 查看,第一行就是

因为IP修改从10.0.2.15 修改为 静态IP,端口转发要改一下IP

4. 网络使用NAT 网络模式设置静态IP

默认是10.0.***,我改成了如下:

设置端口转发(用于XShell连接):

网卡1选择 NAT 网络,名称选择刚刚创建的网络名 NatNetwork

centos配置如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=7aebb147-de92-446a-88f4-8e1949246997
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.200
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=8.8.8.8
DNS2=8.8.4.4
#HWADDR=08:00:27:19:8d:86

然后XShell连接配置如下

注意,这儿的主机IP不要写成了centos的ip地址,因为刚刚我们做了端口转发,XShell连接127.0.0.1的22端口会自动转发到centos的 192.168.56.200的22端口

**最终效果:**centos能访问网络,XShell能连上centos(利用端口转发),centos能ping通windows,windows ping不通centos

5. 使用双网卡,网卡1:Host-Only模式,网卡2:NAT 网络模式。

效果:XShell能连接centos,centos能访问网络

配置网卡2之前先创建一个NAT网络

因为虚拟机IP为192.168.56.1,所以设置centos的ip为192.168.56.*, 如下:

cd /etc/sysconfig/network-scripts 然后 vi ifcfg-enp0s3 修改网卡1的配置:

修改网卡2的配置 vi ifcfg-enp0s8:

箭头所指的地方是改动的地方。UUID用uuidgen命令生成。

HWADDR 通过 ifconfig 就可以看到。

重启centos后:XShell能连接centos,但是centos不能访问网络。

问题排查:运行 systemctl status network, 发现网络并没有正常运行。

  1. 修改配置表中HWADDR为对应网卡正确的值(之前ifcfg-enp0s8的WADDR配置跟ifcfg-enp0s3是一样的...)

  2. 依次运行如下命令:

bash 复制代码
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
systemctl status network
ping 8.8.8.8

至此,centos能正常访问网络,没有使用端口转发功能XShell也能连接centos。windows 能 ping通centos,centos也能ping通windows。

  1. 配置单网卡,网卡模式选择Host-Only,宿主机网络共享给虚拟机的Host-Only网卡

运行命令总结:

  1. 配置文件GATEWAY的值:ip route 第一行就是

  2. 配置文件UUID的值:uuidgen 生成一个新的,适用于新增了配置,需要修改UUID值

  3. 配置文件HWADDR的值:ip addr 中ether的值就是

错误总结:

1.

  • 当只配置了一个网卡,但是网卡配置有两个(即使网卡2的配置没使用),运行systemctl start network 也会报错,删除网卡2的配置 ifcfg-enp0s8 后,运行命令恢复正常。具体如下图:
  • 即使名字改成下图中的ifcfg-enp0s8-bak,也同样会报错
  • 而改成 bak-ifcfg-enp0s8 则没有问题,因此不能以 ifcfg-enp0s8(对应网卡2,而网卡2未使用)作为前缀,最简单的方法就是直接删掉不用的配置。

**2.**今天在另一台电脑上配置单网卡使用 NAT 网络模式,配置跟步骤4一样,但是运行

systemctl status network 提示网络未正常运行,虽然如此,但是centos能访问网络,设置端口转发后,XShell也能连接centos:

问了ChatGPT:

但是我运行nmcli提示他说的其它网络工具()并未运行

后来查到说这种情况只是shell没用实时监控network而已,network是启动成功了的。

相关推荐
Karoku06634 分钟前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
为什么这亚子37 分钟前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
布值倒区什么name1 小时前
bug日常记录responded with a status of 413 (Request Entity Too Large)
运维·服务器·bug
孤客网络科技工作室1 小时前
VMware 虚拟机使用教程及 Kali Linux 安装指南
linux·虚拟机·kali linux
。puppy2 小时前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev2 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank2 小时前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源3 小时前
Kafka-linux环境部署
linux·kafka
成都古河云3 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市