从Mac OS X Sierra中的浏览器访问Ubuntu Local Server

时间:2017-04-15 18:35:39

标签: linux macos ubuntu vagrant macos-sierra

所以我按照Vagrant的“入门”文档设置了一个Linux虚拟机 - 它正在运行Ubuntu Precise。其他一切工作正常,但我无法通过浏览器从我的主机(我的Macbook)访问它。最终,我想从VM运行RStudio Server,因此这很重要。

我在Mac上设置了端口转发,但我不确定它是否配置正确。要更详细地解释:

1 - 我的pfctl配置文件位于/ etc /文件夹中。看起来像这样

# /etc/pf-vagrant.conf
# sudo pfctl -ef /etc/pf-vagrant.conf

rdr-anchor "forwarding"
load anchor "forwarding" from "/etc/pf.anchors/vagrant.apache.forwarding"

2 - 我的锚文件位于/etc/pf.anchors文件夹中

rdr pass on lo0 inet proto tcp from any to port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to port 443 -> 127.0.0.1 port 8443

3 - 当我测试我的锚文件的有效性时,一切似乎都很好

$ sudo pfctl -vnf /etc/pf.anchors/vagrant.apache.forwarding
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.

rdr pass on lo0 inet proto tcp from any to any port = 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port = 443 -> 127.0.0.1 port 8443

4 - 然后当我从终端执行pfctl命令时,我收到以下错误:

sudo pfctl -ef /etc/pf-vagrant.conf

pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.

No ALTQ support in kernel
ALTQ related functions disabled
/etc/pf-vagrant.conf:5: syntax error
pfctl: Syntax error in config file: pf rules not loaded

5 - 当我输入

时,终端显示拒绝连接
$ nc -v 127.0.0.1 80    
nc: connectx to 127.0.0.1 port 80 (tcp) failed: Connection refused

6 - 当我在进入Ubuntu之后做同样的事情时,我得到了

vagrant@precise64:~$ nc -v 90.254.170.192 80    
Connection to <MY IP ADDRESS> 80 port [tcp/http] succeeded!

7 - 我尝试使用以下命令的变体从我的主机允许连接。

sudo ufw allow 80

非常感谢任何帮助。我正在慢慢地试图让它发挥作用。

更新#1 - 我的Vagrantfile

当然,在这里。谢谢你的帮助。

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.network "forwarded_port", guest: 443, host: 8443
  config.vm.network "public_network"  
end

0 个答案:

没有答案