CentOS7配置静态IP,以桥接模式访问主机和外网
查看物理主机主机网络信息
虚拟机与物理机互通需要保证两者在同一网段上,首先查看物理机的网络信息。虚拟机与物理机互通需要保证两者在同一网段上,首先查看物理机的网络信息。
命令:
C:\Users\26632>ipconfig -all
无线局域网适配器 WLAN:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Intel(R) Wi-Fi 6 AX200 160MHz
物理地址. . . . . . . . . . . . . : 8C-C6-81-CD-31-2E
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::19ba:ba53:a244:bef4%5(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.8.47(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2021年6月23日 17:36:55
租约过期的时间 . . . . . . . . . : 2021年6月25日 14:36:32
默认网关. . . . . . . . . . . . . : 192.168.8.254
DHCP 服务器 . . . . . . . . . . . : 192.168.8.254
DHCPv6 IAID . . . . . . . . . . . : 76334721
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-28-41-58-D6-8C-C6-81-CD-31-2E
DNS 服务器 . . . . . . . . . . . : 61.139.2.69
192.168.8.10
TCPIP 上的 NetBIOS . . . . . . . : 已启用
VMware设置
1、编辑 ⇨ 虚拟机网络编辑器 ⇨ 更改设置,选中
VMnet0
(桥接模式),桥接到物理机的网卡上。
(物理机网卡信息可通过右键本地的网络连接,点击属性来查看。)
2、右击虚拟机(CentOS7) ⇨ 设置 ⇨ 网络适配器
CentOS7虚拟机配置
主要在于修改虚拟网卡的配置,添加网关信息。
- 修改虚拟网卡配置信息
命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@dj-virtual-machine /]# cd /etc/sysconfig/network-scripts/
[root@dj-virtual-machine network-scripts]# vim ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" # static,静态ip
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" # 虚拟网卡名
UUID="9f57ea74-3840-4e08-994a-3d742ec9980f"
DEVICE="ens33"
ONBOOT="yes" # 开机启用网络配置
IPADDR="192.168.8.150" # 静态IP地址,与物理机ip在同一网段
NETMASK="255.255.255.0" # 子网掩码,同物理机
PREFIX="24"
GATEWAY="192.168.8.254" # 网关,同物理机
DNS1="8.8.8.8" # 谷歌DNS
IPV6_PRIVACY="no"
- 在网络配置文件中添加网关地址
[root@dj-virtual-machine network-scripts]# vim /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
GATEWAY=192.168.8.254 # 网关,同主机
HOSTNAME=centos7 # 虚拟机名称
- 查看DNS客户机配置文件
[root@dj-virtual-machine network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8 # DNS,在重启网络服务后会根据虚拟网卡的配置信息来重载配置,如果虚拟网卡没配DNS,那么resolv.conf的配置信息也会被冲掉,重新变回空置。
/etc/resolv.conf文件配置说明,参考:
https://blog.csdn.net/lcr_happy/article/details/54867510
[root@dj-virtual-machine network-scripts]# systemctl restart network
如果报错:
[root@dj-virtual-machine ~]# systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
查看网络管理状态:
[root@dj-virtual-machine ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:NetworkManager(8)
启动网络管理:
[root@dj-virtual-machine ~]# systemctl start NetworkManager
再重启网络服务即可:
[root@dj-virtual-machine ~]# systemctl restart network
- 虚拟机访问主机、外网以及主机访问虚拟机
[root@dj-virtual-machine ~]# ping www.baidu.com
PING www.wshifen.com (103.235.46.39) 56(84) bytes of data.
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=1 ttl=45 time=244 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=2 ttl=45 time=260 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=3 ttl=45 time=237 ms
[root@dj-virtual-machine ~]# ping 192.168.8.47
PING 192.168.8.47 (192.168.8.47) 56(84) bytes of data.
64 bytes from 192.168.8.47: icmp_seq=1 ttl=128 time=0.170 ms
64 bytes from 192.168.8.47: icmp_seq=2 ttl=128 time=0.851 ms
64 bytes from 192.168.8.47: icmp_seq=3 ttl=128 time=0.346 ms
C:\Users\26632>ping 192.168.8.150
正在 Ping 192.168.8.150 具有 32 字节的数据:
来自 192.168.8.150 的回复: 字节=32 时间=3ms TTL=64
来自 192.168.8.150 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.8.150 的回复: 字节=32 时间<1ms TTL=64
- 有问题先重启虚拟机看看
问题
ping外网
若无法ping通外网,提供以下排查思路
-
确定虚拟机ip未被占用。
-
确定已经连接路由器,并且路由器能够访问外网,可以通过访问网关进行确定。
[root@dj-virtual-machine ~]# ping 192.168.8.254
PING 192.168.8.254 (192.168.8.254) 56(84) bytes of data.
64 bytes from 192.168.8.254: icmp_seq=1 ttl=128 time=4.93 ms
64 bytes from 192.168.8.254: icmp_seq=2 ttl=128 time=26.1 ms
64 bytes from 192.168.8.254: icmp_seq=3 ttl=128 time=24.2 ms
- 确定设置了域名服务器(这是通过虚拟网卡配置自动生成的,应该问题不大)
[root@dj-virtual-machine ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
- 确保网关已成功设置
[root@dj-virtual-machine ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg*
/etc/sysconfig/network-scripts/ifcfg-ens33:GATEWAY="192.168.8.254"
如果未设置,可执行如下命令:
[root@dj-virtual-machine ~]# route add default gw 192.168.8.254
或者直接修改网卡配置文件:
[root@dj-virtual-machine ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 重启网络服务
[root@dj-virtual-machine ~]# service network restart
Restarting network (via systemctl): [ 确定 ]
- 确保可用DNS解析
[root@dj-virtual-machine ~]# grep hosts /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns myhostname
- 最后ping外网进行测试
[root@dj-virtual-machine ~]# ping -c 3 www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=55 time=77.9 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=55 time=42.1 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=55 time=35.3 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 35.324/51.810/77.983/18.714 ms
如果仍然不通,查看路由信息(原因可能是路由缺少了网关的配置)
- 查看路由信息
[root@dj-virtual-machine ~]# route -n
- 不存在网关信息,进行手动添加。
[root@dj-virtual-machine ~]# route add default gw 192.168.8.254
-
重启网络服务,应该就没问题了
-
以上的网管添加只是临时的,重启系统将会失效,永久修改方法如下:
[root@dj-virtual-machine ~]# vim /etc/sysconfig/network-scripts/route-ens33
# 添加 default via 192.168.8.254 dev ens33,保存即可。
# 重启网络服务验证
什么?还不行?
-
先重启虚拟机试试
-
终极秘法
先关闭虚拟机 ⇨ 编辑 ⇨ 虚拟网络编辑器 ⇨ 更改设置 ⇨ 还原默认设置 ⇨ 然后在按照前面配置走一遍。
ping物理机
若无法ping通物理机,可能是防火墙的原因,需要关闭防火墙或者配置防火墙入站规则。
直接关闭物理机防火墙(存在安全隐患,不推荐)
win+r ⇨ control ⇨ 系统和安全 ⇨ Windows Defender 防火墙 ⇨ 启用或关闭 Windows Defender 防火墙
配置防火墙入站规则
高级设置 ⇨ 入站规则
DJOSIMON