Linux的虚拟机连接外网

domain name server ———域名解析服务 

物理机连接诶外网可以连通任意网站,虚拟机则不行,现在我们就让虚拟机也可以和物理机一样自由

一、地址通信

主机root帐号操作

1、关闭虚拟机服务           systemctl stop libvirtd
2、打开防火墙               systemctl restater firewalld
3、打开伪装功能             firewall-cmd --add-masquerade
4、开启虚拟机服务           systemctl start libvirtd
5、ping百度查看外网ip

虚拟机操作

1、添加主机网关       网关与物理机网络位一致(172.25.253.74)


2、查看                      sysctl -a | grep ip_forward
3、修改内核    vim /etc/sysctl.conf   添加:net.ipv4.ip_forward=1(默认=0)
4、查看            sysctl -p
5、重起网络         systemctl restater network
6、ping 外网IP

二、域名通信

1、本地地址解析

这种方式添加可以让虚拟机连接外网,但是效率太底

vim /etc/hosts    添加本地地址解析(默认本地优先级高,可以改)
220.181..111.188  www.baidu.com

地址跟踪

2、域名解析

重起网络会生效

1)vim /etc/resolv.conf   指定域名解析服务器(运营商提供)自动获取

2)vim /etc/nsswitch.conf      解析优先级设定(39行)
hosts:      files dns     (默认本地优先)

1、设置本地优先则先查找 /etc/hosts 内添加的地址
2、设置DNS优先则优先访问网络

三、设定vim /etc/resolv.conf不受网卡控制
现在这个文件重起网络就会失效,想要设置为固定的需要
1、ip设置为自动获取 vim /etc/sysconfig/network-scripts/ifcfg-eth0


2、重起网络
3、查看获取地址
4、查看设置的DNS还在不在   cat /etc/resolv.conf

vim /etc/sysconfig/network-scripts/ifcfg-eth0里操作
5、添加PEERDNS=no   网络里


6、重起后没有DNS


7、添加DNS   DNS1=114.114.114.114


8、重起网络
9、查看DNS

四、不影响其他网卡的情况下命令修改网络配置
systemctl status 服务名  :查看服务状态
nmcli 依赖与NetworkManager.service服务,关闭就不会生效


1、配置动态地址
nmcli connection add type ethernet con-name westos ifname eth0 autoconnect yes
                   连接类型         名称              网卡           动态获取        
显示所有连接状态: nmcli connection show
显示所有设备状态:  nmcli device show


2、配置静态地址
nmcli connection add con-name westos ifname eth0 type ethernet ip4 172.25.254.138/24

3、静态转动态
nmcli connection modify eth1 ipv4.method auto
查看地址并没有转换


然后关闭网卡:nmcli connection down eth1
开启:nmcli connection up eth1

4、动态转静态
1、先给ip 地址:nmcli connection modify eth1 ipv4.addresses 172.25.254.138/24
2、修改状态:nmcli connection modify eth1 ipv4.method manual
3、然后关闭网卡:nmcli connection down eth1
4、开启:nmcli connection up eth1

猜你喜欢

转载自blog.csdn.net/wanghu66/article/details/83273541
今日推荐