linux中虚拟机的网络及DNS配置

一.用desktop虚拟机为客户端链接百度,经过server虚拟机和真机(把server虚拟机和真机当作路由)。真机ip为172.25.254.78

1.设置desktop虚拟机的ip为78.78.78.78
--vim /etc/sysconfig/network-scripts/ifcfg-eth0  更改eth0的网络配置文件
--systemctl restart network  (重启网络服务)
--ping 172.25.254.78(试图连通物理机,此处显示不能连通)
--在真机下:ping 172.25.254.78 (显示可以连通)

 

2.给server虚拟机添加网卡,并设置
--eth0的ip:172.25.254.78
--vim /etc/sysconfig/network-scripts/ifcfg-eth0  更改eth0的网络配置文件
--systemctl restart network(重启网络服务)
--在设置erver虚拟机下,eth1的ip:78.78.78.178
--vim /etc/sysconfig/network-scripts/ifcfg-eth1  更改eth1的网络配置文件
--systemctl restart network(重启网络服务)


 

3.由于server虚拟机是路由,因此在路由器上开启地址伪装功能
--systemctl status firewalld.service  (查看防火墙的状态,没有打开需要打开防火墙)


 

--firewall-cmd --add-masquerade  (打开路由的伪装功能)


 

--firewall-cad --list-all  (查看是否打开成功,masquerade后面是yes表示打开成功)


 

4.设置desktop虚拟机的网关为78.78.78.178
--vim /etc/sysconfig/network-scripts/ifcfg-eth0  更改eth0的网络配置文件
添加GATEWAY=78.78.78.178


 

5.经过上上述步骤,两台虚拟机可以相互ping通,但若是server可以ping通真机,但是desktop不能ping通,说明内核的路由功能没有开启,在server虚拟机执行以下命令:
--sysctl -a | grep ip_forward (查看内核路由功能,如果是0表示没有开启,1表示开启成功)
--vim /etc/sysctl.conf  (在此文件中添加开启内核)
net.ipv4.ip_forward=1
--sysctl -p  (让配置文件生效)


6.此是,desktop可以ping通server虚拟机,可以通过ping通真机,但是不能通过ping百度的ip,此时,真机连上wifi连接,可以ping通百度,这是因为对server虚拟机来说,即是客户端,也是路由,作为路由可以让desktop虚拟机ping通真机,作为客户端时,也需要设置网关(网关和真机的ip相同),同时,在真机打开防火墙的地址伪装功能和内核路由功能。同设置server路由一样步骤一样,设置真机。
 

--先给server虚拟机设置网关为172.25.254.78(eth0)


 

--systemctl status firewalld.service  (查看防火墙的状态,没有打开需要打开防火墙)
--firewall-cmd --add-masquerade  (打开路由的伪装功能)
--firewall-cmd --list-all  (查看是否打开成功,masquerade后面是yes表示打开成功)
(注:如果防火墙配置出现问题,用以下命令解决:
systemctl stop libvirtd.service ##关闭与虚拟机的连接
systemctl restart firewalld.service ##重启防火墙
firewall-cmd --add-masquerade ##添加地址伪装
success ##成功添加
firewall-cmd --list-all ##查看地址伪装是否开启


 

virt-manager ##虚拟机管理
systemctl start libvirtd.service ##开启与虚拟机连接)
--sysctl -a | grep ip_forward (查看内核路由功能,如果是0表示没有开启,1表示开启成功)
--vim /etc/sysctl.conf  (在此文件中添加开启内核)
net.ipv4.ip_forward=1


 

--sysctl -p  (让配置文件生效)
注:完成上述操作后,用desktop虚拟机可以ping通百度IP。


注意的问题:如果desktp虚拟机ping不通百度ip时,注意检查desktop虚拟机网关,server虚拟机是否打开了路由伪装和内核路由功能,真机是否打开的伪装和内核路由功能。如果此时还是ping不同,将server虚拟机的网卡删除,重新创建网卡。


二,DNS配置


基于上述步骤,当用desktop虚拟机ping www.baidu.com,显示错误,客户端并不知道www.baidu.com是什么,必须用百度的IP才可以ping通,这是因为虚拟机没有配置DNS域名解析。

1.设置域名解析有两种方式:
方法一.更改本地域名解析文件
--vim /etc/hosts
添加 61.135.169.125 www.baidu.com

--ping www.baidu.com  可以ping通

方法二.更改DNS指向性文件
--先将百度本地解析删除,再进行此步骤
--vim /etc/resolv.conf
添加 nameserver 114.114.114.144
--ping www.baidu.com  可以ping通
(114.114.114.114相当于一个域名解析库,当没有本地解析时,通过114.114.11.114查看对应域名的ip地址)

2.设定DNS解析的优先级
默认本地解析的优先级高,可以更改优先级。


 

files代表本地解析,dns代表指向性文件
--此时将百度的ip改为真机ip
--vim /etc/nsswitch.conf  
39 hosts:    files    dns    ##本地解析优先

vim /etc/nsswitch.conf
39 hosts:       dns    files   ##指向性文件优先

3.动态(dhcp)DNS配置下,如何指定自己设置的DNS
--vim /etc/sysconfig/network-scripts/ifcfg-eth0
--将BOOTPROTO改为dhcp
--将PEERDNS=no


注:PEERDNS=yes 是否指定DNS,当主机设置获取IP为dhcp方式时,此项参数默认为yes,它会自动修改/etc/resolv.conf文件,当参数设置为no,在dhcp方式下,系统不会修改/etc/resolv.conf文件
 

--DNS1=114.114.114.114
(DNS1,这里不能是DNS0,后面跟的数字只能从1开始)

三,命令的方式修改网络


命令方式设定网络nmcli

nmcli device connect eth0    ##启用eth0网卡


 

nmcli device disconnect eth0    ##关闭eth0网卡

nmcli device show eth0        ##查看网卡信息


 

nmcli device status eth0    ##查看网卡服务接口信息

nmcli connection show           (显示所有网络链接)


 

nmcli connection down westos    (关闭指定链接)


 

nmcli connection up westos      (打开指定连接)


 

nmcli connection delete westos  (删除westos链接)


 

nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.100/24(添加静态网络)(ifname 添加网卡eth0,重启systemctl restart network生效)

nmcli connection modify “westos” ipv4.method auto       (改变westos的工作方式为动态)

    


 

nmcli connection modify “westos” ipv4.method manual  (改变westos的工作方式为静态)


 

nmcli connection modify “westos” ipv4.addresses 172.25.254.150/24 (改变wetos的ip)(重启systemctl restart network ,ip地址改变为所设定的172.25.254.150/24 )

注:nm-connection-editor (修改connection name , 从eth0变为westos,可以用nmcli connection show 查看connection name)

 


 

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值