1.环境配置
1>用户端设置ip地址为1.1.1.XXX
注:以下截图黑底白字是客户端截图
2>服务器端设置eth0网卡的ip地址为1.1.1.XX(网关,与客户端的ip地址不相同)
3>服务器端设置要连接目标网段的ip地址(第二块网卡)
如上图在服务器端设置了两块网卡
注:在主机上设置给虚拟机新加网卡的命令:
virt-manager 进图形界面设置
选择Add Hardware添加硬件,选择network,选择virto
2.实验
目的 :客户端(IP=1.1.1.106)连接服务器端(172.25.254.206)
1>客户端上设置网卡的网关(1.1.1.xx)或者全局网关
相关命令:vim /etc/sysconfig/network(全局网关配置目标文件)
route -n ###查看路由
重启网络
此时在客户端ping172.25.254.XXX网段别的主机是ping不通的
2>服务器端开启防火墙伪装功能,
相关命令:firewall -cmd --add-masquerade
注:此时可能还会出现ping不同的情况,这可能是内核可能没开启内核通信功能,解决方案:
1)首先查看次功能状态,命令:
sysctl -a|grep ip_forward
如果显示ip_forward=1表示内核功能开启,显示ip_forward=0表示内核功能关闭,修改内核通信功能:
vim /etc/sysctl.conf
因为现在是开启状态所以在这里演示此功能的关闭过程
1)将ip_foeward=0写到配置文件中
sysctl -p ###重新读取配置文件
此时用客户端ping172.25.254.250发现ping不通了
ping -c 1 -w 2 xxx.xxx.xxx.xxx
ping目的地发送1条信息,两秒停止
3.实验2
目的:在虚拟机上访问网站
1.在虚拟机上设置ip(172.25.254.106)网关(172.25.254.6)
2.在真机上一块网卡上设置ip,开启防火墙掩饰功能
注:开启此功能需要root权限
真机上ping www.baidu.com
得到www.baidu.com的ip地址
用虚拟机ping此ip地址:
ping通,实验结束
dns(域名解析服务)
上面的实验做完虚拟机已经能通过真机的wifi上网,访问外网,但是当我们想访问www.baidu.com的时候会出现下面的错误:
这是因为虚拟机没有设置dns
1>在/etc/hosts文件里面存放着本机的dns
vim /etc/hosts
更改之后,再次用虚拟机ping www.baidu.com会直接ping到设置的ip地址
2>域名服务器设置:
vim /etc/resolv.conf
添加nameserver 114.114.114.114添加到文件中
此时虚拟机可以ping通别的网址
vim /etc/nsswitch.conf
注:此文件中可以设置地址解析访问的先后顺序,files表示主机配置,dns表示域名服务器
再次ping www.baidu.com此次ping的网址是/etc/hosts文件里面记录的网址
锁定dns:
在客户端eth0配置文件里加上PEERDNS=no这时候的状态是锁定dns
下一步更改eth0关于dns的配置
再次查看resolv.conf
此时表示dns锁定