看ip地址感觉像NAT,打开虚拟机的虚拟网络编辑器,nat设置,设置下端口映射,再到路由器中设置对应的主机ip和端口的外网映射。
nat模式下需要做两层端口映射,一层是虚拟机到物理主机的端口映射,一层是物理主机的端口到路由器的端口映射
如果是桥接,则只需要设置虚拟机的对应端口到路由器的端口映射。
在Debian 10上添加了新的端口,但没有放行可能是由于防火墙规则未正确配置所致。要解决此问题,请执行以下步骤:1. 确认新添加的端口号。打开终端,并执行“sudo netstat -tulpn”命令,查找您添加的端口。
2. 打开防火墙端口。执行“ sudo ufw allow "端口号/协议类型”命令,放行您添加的端口。
3. 确认端口是否已打开。执行"sudo ufw status"命令查找您的防火墙规则。
4. 禁用防火墙。如果您的防火墙规则阻止了您的新端口访问,则可以考虑禁用防火墙。
5. 检查其他安全策略。例如SELinux或其他安全策略可能会阻止您的端口访问,请确保它们已配置正确。
请注意,在执行上述步骤之前,请确保您拥有足够的管理员权限,并谨慎 *** 作以防止意外后果。如果您仍然无法解决问题,请咨询Debian社区或相关技术人员以获得更进一步的帮助和支持。
添加box如下添加一个debian的box
E:\ubuntu\vagrant-box-ngixn-php-fpm-mysql-redis-nodejs>vagrant box add debian p
ackage.box
==>box: Adding box 'debian' (v0) for provider:
box: Downloading: file://E:/ubuntu/vagrant-box-ngixn-php-fpm-mysql-redis-nod
ejs/package.box
box: Progress: 100% (Rate: 11.0M/s, Estimated time remaining: --:--:--)
==>box: Successfully added box 'debian' (v0) for 'virtualbox'!
vagrantfile
在任何vagrant工程下面都有一个vagrantfile,就像makefile一眼规,用来配置vagrant的欣慰所创建的虚拟机信息。
vagrant使用
添加镜像
vagrant box add abc boxpath[url|path] #abc未名称
开发到开发目录
vagrant init abc #初始化
D:\work\test>vagrant init debian
A Vagrantfile has been placed in this directory. You are now
ready to vagrant up your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
vagrantup.com for more information on using Vagrant.
vagrant up #启动
D:\work\test>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==>default: Importing base box 'debian'...
==>default: Matching MAC address for NAT networking...
==>default: Setting the name of the VM: test_default_1413449093680_48484
==>default: Clearing any previously set network interfaces...
==>default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==>default: Forwarding ports...
default: 22 =>2222 (adapter 1)
==>default: Booting VM...
==>default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
==>default: Machine booted and ready!
==>default: Checking for guest additions in VM...
==>default: Mounting shared folders...
default: /vagrant =>D:/work/test
vagrant ssh #ssh登录
D:\work\test>vagrant ssh
ssh executable not found in any directories in the %PATH% variable. Is an
SSH client installed? Try installing Cygwin, MinGW or Git, all of which
contain an SSH client. Or use your favorite SSH client with the following
authentication information shown below:
Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:/Users/zhangwei_f/.vagrant.d/insecure_private_key
开启ssh后使用xshell登录
网络配置
Vagrant的网络有三种模式
1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:
config.vm.network :forwarded_port, guest: 80, host: 8080
guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
开启这个后,如果vagrant已经启动了,在命令行输入 vagrant reload 重启机器,就可以再宿主机伤使用 localhost:8080来访问虚拟机的localhost:80 。
2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:
config.vm.network :private_network, ip: "192.168.1.104"
192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可
3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
config.vm.network :public_network
目录映射:
既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。
默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如
ln -fs /vagrant/wwwroot /var/www
来进行目录映射,当然,从自动化配置的角度,能不进系统就不需要进系统,所以在Vagrant也可以进行目录映射的 *** 作:
config.vm.synced_folder "wwwroot/", "/var/www"
前面的参数 “wwwroot/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”
后面的参数 “/var/www” 表示虚拟机中对应映射的目录。
一些命令
vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复 *** 作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
vagrant reload (重启)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)