Linux入门(4实现虚拟机联网)
实现虚拟机上网的理论:通过设定让真机变为一个路由器,然后虚拟机通过连接虚拟机来实现上网功能
一:设定虚拟机为路由器:
[[email protected] ~]# systemctl stop libvirtd.service 配置防火墙之前要关闭libvirtd服务器
[[email protected] ~]# systemctl restart firewalld 重起放防火墙
[[email protected] ~]# systemctl start libvirtd.service 开启libvirtd服务器
[[email protected] ~]# firewall-cmd --add-masquerade 将masquerade功能添加在防火墙中
success
[[email protected] ~]# firewall-cmd --list-all 查看防火墙状态
public (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: yes 添加成功的masquerade: yes功能(默认为no)
实现虚拟机联网的核心步骤:
IP masquerade 是Linux发展中的一种网络功能,如果一台Linux主机使用IP masquerade功能连接到网络,那么连接到它的其他主机(不论是在同一个区域网络上或藉由数据机连接)也可以连接到网络,即使他们没有获得正式指定的ip位址
forward-ports:
sourceports:
icmp-blocks:
rich rules:
二:虚拟机连接主机网关
当实现真机成为路由器后,则让虚拟机连接真机
设置虚拟机的ip
界面化设置ip
nm-connection-editor 打开网络的图形界面
1.选择add 添加新的ip地址
2:选择Ethernet (因特网)
3:选择网卡(会有不同,因为每台电脑的网卡不一样,是主机真实存在的)
4:选择Manual手动设置网络
5:查看ip是否设置成功
6:route -n 查看虚拟机ip网关(虚拟机要连接真机必须有真机的网关,现在没有连接网关)
7:虚拟机连接真机网关
编译网关配置文件
书写代码(GATEWAY 是虚拟机要连接的ip地址)
重起网络
8:查看虚拟机网关(则虚拟机已经连接上真机网关)
9:连接网络(ping 网络ip)
连接成功,但是却只能通过其他网络的ip地址查看,改进
改进一:
1:编辑etc下的hosts文件(hosts存储的是ip对应的网址)
2:编译要访问的网站和对应的ip
3:用网址连接网络
缺点:只能通过手动录入网址和ip,实用性差
eg:
改进二:
1: