“ 如果局域网想要访问虚拟机的服务,一种方式是将虚拟机的网络连接设置成桥接模式,因为这时候虚拟机相当于所在物理机同一IP段的独立计算机,这时候其他的局域网内的计算机当然可以访问虚拟机内的服务,一般在虚拟机的设置里面找到网络设置,将其设置为桥接模式,借助虚拟机的IP就可以实现访问。”
操作步骤
打开ftp服务
首先确认ubuntu的tcp已经打开,这里使用vsftpd作为ftp server
//启动tcp服务
service vsftpd start
//关闭tcp服务
service vsftpd start
//查看tcp服务状态
systemctl status vsftpd.service
防火墙的配置
首先配置主机mac的防火墙,mac的防火墙打开,并允许VMware Fusion传入连接,配置如下图
打开虚拟机终端,使用命令行关闭虚拟机ubuntu的防火墙
//关闭防火墙
sudo ufw disable
//查看防火墙状态,关闭成功显示inactive
sudo ufw status
虚拟机ip地址的修改
由于虚拟机访问外网时,由宿主机将本地地址转换为实际存在的公网ip进行通信。所以局域网内其他电脑(下称主机A)不能使用ip直接访问虚拟机,只能将需要访问的虚拟机的端口,映射到宿主机的端口上,通过宿主机端口进行访问。
首先尝试虚拟机和主机互ping地址,可以成功。
由于为ubuntu18.04,和ubuntu16.04有区别,需要先修改虚拟机的Networknamager.conf文件,打开修改虚拟机子网地址的权限(false改为true)以对子网地址进行修改
//编辑NetworkManager.conf文件之前先使用命令进行备份
cp /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.orig
//编辑NetworkManager.conf文件
sudo vi /etc/NetworkManager/NetworkManager.conf
//若出现没有读写权限的问题
sudo chmod 777 /etc/NetworkManager/NetworkManager.conf
//重启服务使修改生效
sudo service network-manager restart
再来看文件NetworkManager.conf,很短,把managed的false改为true即可,如图
现在可以对虚拟机的子网ip以及子网掩码进行修改了,我们找到ubuntu界面右上角的这个图标,点击wire connect进行设置
我们来看本机mac的ip地址信息如下
在虚拟机中添加配置,子网掩码(Netmask),路由(gateway)和ip地址的子网地址(address前三个参数)部分均与主机相同,ip地址的端口部分(address的最后一个参数)另分配一个端口。
点击apply应用。
修改虚拟机的网络适配器模式
最后修改虚拟机的网络适配器模式,默认为NAT模式,改为桥接模式(wifi)
保证需要相连的两台主机在同一个子网下,本例中,两台主机均在172.23.158子网下。
连接
在另一台主机中搜索修改后的unbuntu address,访问成功。