当前位置:   article > 正文

配置Proxmox VE8.1开出的虚拟机网络踩坑日记_pve 8.1.3 安装完后无法访问

pve 8.1.3 安装完后无法访问

情景

机房里面有两个物理机。物理机A配公网IP106.58.222.100;物理机BIPIM设置为静态的192.168.1.33。

为了节约IP,所以只给物理机A配网IP,通过物理机A中开出虚拟机,使用局域网访问物理机B的IPIM,于是给物理机A是额外添加了一个外接网卡(本来是一个物理网卡)。现在硬件齐了,那就开始配置网络。

物理机A PVE网络配置

PVE创建的时候应该默认创建了vmbr0这个桥接网络,而机房是把公网IP放在这个桥接网络vmbr0下面的,修改 /etc/network/interfaces 文件:

  1. auto lo
  2. iface lo inet loopback
  3. auto eno2 # 物理机A自带物理网卡
  4. iface eno2 inet manual
  5. auto enx000ec62f783c # 物理机A外接网卡
  6. iface enx000ec62f783c inet manual
  7. auto vmbr0 # PVE默认创建的桥接网络
  8. iface vmbr0 inet static # 静态IP
  9. address 106.58.222.100/24 # 公网IP
  10. gateway 106.58.222.1 # 网关地址
  11. bridge-ports eno2 # 桥接端口
  12. bridge-stp off
  13. bridge-fd 0
  14. auto vmbr1
  15. iface vmbr1 inet static
  16. address 192.168.1.1/24 # 网桥的地址,这个地址在虚拟机里面要当作网关来使用,在虚拟机里不要再用这个地址了
  17. bridge-ports enx000ec62f783c
  18. bridge-stp off
  19. bridge-fd 0
  20. post-up echo 1 > /proc/sys/net/ipv4/ip_forward # 网络转发相关
  21. post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr1 -j MASQUERADE # 网络转发,虚拟机的包转发出去到互联网的,这里的地址是网段地址
  22. post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr1 -j MASQUERADE
  23. post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1 # 为了过防火墙用的
  24. post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1

新增一个桥接网络 vmbr1,用来连接内网,桥接的端口选择那个外接网卡

上面修改完毕后,记住运行 ifreload -a 来更新网络

这时候进入PVE可以看到下面网络配置信息

检验PVE网络是否配置成功

1.公网:ping baidu.com ; ping 1.1.1.1

如果可以ping通百度,那么公网配置成功了;如果不能ping通百度,但是可以ping通1.1.1.1,那么可能是DNS没有配置好,需要修改 /etc/resolv.conf 文件,添加 解析服务器 nameserver 8.8.8.8 或者其他的。

2.局域网:ping 192.168.1.33

ping通则局域网配置成功

物理机A中虚拟机网络配置

该虚拟机使用Windows10,硬件的网络设备中选的是 Intel E1000。

进入虚拟机后,我先试了一下绑定公网IP106.58.222.100,如图

经过测试有网。但是将它修改为局域网,即192.168.1.22,掩码是255.255.255.0,网关地址就是上面那个网桥的网关地址192.168.1.1后,发现并不能ping通物理机B的 IPIM 192.168.1.33。

解决

一开始我觉得是配置文件的问题,于是找了半天配置文件的问题,但是看了很多文章发现配置应该是没有问题的,后面询问了一个大神,大神只是更新了驱动,发现连接上局域网了。靓仔直接沉默。下面是操作流程:

1.先下载一个virtio-win-0.1.240.iso(下载链接:Index of /groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.240-1

virtio-win驱动主要服务于kvm里的虚拟机。virtio-win驱动提供yum源,安装rpm包后,virtio驱动和agent默认都会安装在/usr/share/virtio-win目录中,这些可以共享给windows的虚拟机。

2.将文件上传到宿主机中

3.上面的100就是Windows虚拟机,将文件映射到虚拟机的CD/DVD光盘中

4.重新修改虚拟机的硬件中的网络设备信息,模型选择 VirtlO(半虚拟化)

5.进入Windows虚拟机,安装该驱动

6.之后进入设备管理器更新所有的网络适配器

7.这时候发现可以ping通物理机B的 IPIM 192.168.1.33,也就可以通过浏览器访问IPIM了

虚拟机是CentOS7.6的配置方法

硬件的网络设备中两张网卡选的是 Intel E1000。

ifconfig

查看网卡信息

我这想要同时连接外网和内网,所有两张网卡都配置了IP

cd /etc/sysconfig/network-scripts

 进入该目录底下可以看见有对应网卡的配置文件,如果只有一个 ifcfg-ens18,那么将ifcfg-ens18复制一份并修改文件名为ifcfg-ens19即可

接下来修改配置文件

  1. #代码示例:
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=static #启动的时候的 IP 取得的协议,这里是固定的,如果是动态主机的话,要改成 dhcp 才行#
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=yes
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=ens33 #设定网卡的名称,要跟文件名称对应 #
  14. UUID=f5e37a10-3da9-47af-8dbb-370b7bf24509
  15. DEVICE=ens33 #设定网卡的名称,要跟文件名称对应 #
  16. ONBOOT=yes #是否在开机的的时候启动网卡#
  17. IPADDR=192.168.1.22 #IP 地址# 必设置
  18. GATEWAY=192.168.1.1 #网关地址# 必须设置
  19. NETWORK=192.168.1.3   #该网段的第一个 IP# 可以不设置
  20. NETMASK=255.255.255.0 #子网掩码# 必设置
  21. DNS1=192.168.0.1 必设置 跟ip地址一样,只需要把最后末尾改成1即可
  22. #linux主机刚安装好时,ONBOOT属性的缺省值为no,需要修改为yes,BOORPROTO缺省值为dhcp,需要修改为static。然后,设置IP地址,网络掩码,网关等。

重启网卡

service network restart  

之后就这台虚拟机就可以连接公网和内网了

补充

如果出现有网,比如可以ping通1.1.1.1,但是无法ping通baidu.com的话,那就是需要设置一下DNS解析服务器。

进入PVE面板,选择 idc -> DNS -> 编辑,将DNS服务器添加进去即可。

排雷!!!!

没有想到之前的双网卡设置在今天爆雷了

通过检测发现,内网通的时候,外网就会断掉;外网通的时候,内网就会断。查询资料发现这种情况可能是因为路由冲突了。关于这种情况的具体情况说明请看下面这篇文章

双网卡设置一个外网一个内网(两张网卡同时上内外网设置)-CSDN博客

由于时间紧迫,我是直接将服务器迁移到了新的服务器上面,然后对内网网卡进行了重新配置,所有该问题解决办法我暂时没有收集。

下面是新服务器中内网网卡的配置信息

  1. TYPE=Ethernet
  2. PROXY_METHOD=none
  3. BROWSER_ONLY=no
  4. BOOTPROTO=static
  5. DEFROUTE=no
  6. IPV4_FAILURE_FATAL=no
  7. IPV6INIT=yes
  8. IPV6_AUTOCONF=yes
  9. IPV6_DEFROUTE=yes
  10. IPV6_FAILURE_FATAL=no
  11. IPV6_ADDR_GEN_MODE=stable-privacy
  12. NAME=eth1
  13. DEVICE=eth1
  14. ONBOOT=yes
  15. IPADDR=172.16.2.21
  16. NETMASK=255.255.0.0

 要点如下:

  1. DEFROUTE=no
  2. 去掉内网网卡的网关

重载网络之后发现内外网都没问题,但是后面会不会再次暴雷还未知。希望不会了。

下面是记录一次路由情况,以便下一次遇到这种情况进行修复

再次暴雷!!

过了段时间,突然又没网络了,这谁顶的住啊。首先查看NetworkManager服务还是关闭的,那么很大概率又是路由有问题

使用route查看路由

对比上面最开始的路由发现莫名其妙多了两条路由,于是想着把这两条路由删了能不能解决问题。下面是方法:

  1. #编辑network文件
  2. vi /etc/sysconfig/network
  3. #添加如下配置
  4. NOZEROCONF=yes

修改配置后重启服务器,ping百度成功。解决问题

关于link-local请自行百度

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/130333
推荐阅读
相关标签
  

闽ICP备14008679号