环境配置:desktop为测试端,server为路由器,真机连接网络可上网
目的:desktop可通过真机上网
一.网络配置
1.配置虚拟机环境
配置desktop环境
配置server环境
查看真机能否ping百度
此时,两个虚拟机之间已经可以互相ping通
但是desktop不能ping通真机,说明内核功能没有开启。
执行“sysctl -a | grep ip_forward”查看内核路由状态
可以看到内核路由状态处于关闭状态,应该开启该状态
修改文件“/etc/sysctl.conf”
执行“sysctl -p”就可以生效
这样设置完成以后,desktop就可以ping通真机
到此,desktop能成功ping通真机,按理来说,真机联网,desktop通过真机应该也可以连接网络,但是测试一下发现,desktop并不能ping通百度
2.配置真机环境
虚拟机无法ping通百度,此时应该将真机设置为路由器,将server的网关设置为真机ip,并且在真机开启火墙的地址伪装功能和内核路由功能。
开启地址伪装功能
开启内核路由功能
将server网关设置为真机ip
将上述操作执行完以后,desktop便可以ping通百度
二.DNS配置
-实验中发现,真机直接ping百度时可以直接ping域名,但是虚拟机只能ping百度的ip地址,否则就会报错:
原因是虚拟机中没有DNS(域名解析)
1.为了使虚拟机可以直接ping域名,因此要对虚拟机进行DNS设定
(1)更改本地解析文件
编辑文件“/etc/hostos”
添加成功后,虚拟机便可成功ping通百度域名
这种方式仅限于使用者知道正确域名
(2)更改DNS指向文件
vim /etc/resolv.conf--------------------编辑DNS指向文件
更改之后再次ping百度
发现还是本地设定的ip
(3)更改DNS解析的优先级
默认情况下,本地优先级高
可通过编辑文件“etc/nsswitch.conf”更改优先级
再次ping百度
发现百度域名改变
以上方式更改DNS都是临时的,将网卡设备文件中的BOOTPROTO改为dhcp以后,在重启网络状态之后,/etc/resolv.conf中的内容会被注释。
查看“/etc/resolv.conf”
文件内容发生了改变
2.静态DNS配置
更改网卡设备文件,可以使设定的DNS永久存在
查看/etc/resolv.conf文件
设定的DNS不会消失
3.让设定的DNS不受dhcp控制
将网卡设备文件中的DNS1删去,添加“PEERDNS=no”
重启网络之后,再次添加DNS1
重启网络以后,文件内容仍旧不会改变
三.命令的方式修改网络
nmcli -----------此命令执行,则NetworkManager.service服务必须开启
nmcli device status 设备名 ----------显示设备状态
disconnect 设备名 -------------断开与此设备连接
connect 设备名 -----------连接此设备
show 设备名 --------显示此设备详细信息
nmcli connection show -----------显示当前所有连接
delet ------------删除此连接
add type --------连接类型
con-name ----------连接名称
ifname ---------------设备名
autoconnect ---------------自动获取ip
ipv4:ip4 172.25.254.112/24
up -----开启网卡
down ---------关闭网卡
modify 连接名称 ipv4.method auto (将静态ip改为动态获取)
注意:如果名称中间有空格,如system eth0 ,需用“”
查看eth0配置
关闭/开启网卡设备
将静态ip改为自动获取
将dhcp方式改为静态ip
restartnetwok会重置所有网卡,down/up 针对指定网卡