版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
虚拟机连接真机上网
准备:
保证真机可以上网
1、使真机成为一个路由器
[root@foundation0 ~]# systemctl stop libvirtd.service 关闭虚拟机服务【虚拟机服务与防火墙服务有冲突】
[root@foundation0 ~]# systemctl restart firewalld 重启防火墙
[root@foundation0 ~]# systemctl start libvirtd.service 打开虚拟机服务
[root@foundation0 ~]# firewall-cmd --add-masquerade 允许防火墙伪装ip
Warning: ALREADY_ENABLED
[root@foundation0 ~]# firewall-cmd --list-all 显示防火墙信息
public (default, active)
interfaces: br0 enp0s25 wlp3s0
sources:
services: dhcpv6-client ssh
ports:
masquerade: yes 为yes之后,才允许防火墙伪装ip
forward-ports:
icmp-blocks:
rich rules:
2、设置虚拟机
(1)、修改文件,设置真机为虚拟机的网关
设置全局网关:vim /etc/sysconfig/network
内容:# Created by anaconda
GATEWAY=真机ip
设置网关:vim /etc/sysconfig/network-scripts/ifcfg-eth0
内容:BOOTPROTO=static
DEVICE=eth0
ONBOOT=yes
IPADDR=172.25.60.1
PREFIX=24
GATEWAY=真机ip
DNS1=114.114.114.114
重启网络:
systemctl restart network
设置dns地址解析:
vim /etc/resolv.conf
内容:
# Generated by NetworkManager
nameserver 114.114.114.114
查看网关:
route -n
这时已经配置好了。基本步骤就是这样。
3、如果出现问题。可能是因为:
(1)、虚拟机网卡坏了
(2)、内核未开启路由功能
[root@foundation60 ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0
解决方法:vim /etc/sysctl.conf
在里面添加或修改:
net.ipv4.ip_forward=1