将流量重定向到Vagrant Box /虚拟机(Centos / 7)中的端口到本地计算机上的端口

时间:2018-10-23 09:01:58

标签: vagrant virtual-machine centos7 iptables nat

情况:

我有一个无聊的盒子(运行centos / 7),它使用ansible(docker_container)构建服务生态系统。 出于开发目的,我想将流量从localhost:8444 在无业游民的框中重定向到在本地计算机上运行的应用程序(使用IntelliJ)

可通过默认IP地址10.0.2.2从游民箱中访问本地计算机

在我的本地计算机上,该应用程序正在localhost:9081上运行,并且还可以通过localhost与vagrant框内的所有服务进行通信,因为所有端口都使用来转发到本地计算机。

config.vm.network "forwarded_port", guest: i, host: i, host_ip: "127.0.0.1"

Vagrantfile

在“无业游民”框中,可以通过10.0.2.2:9081来访问该应用

注意:Docker容器使用host网络模式,这意味着它们正在使用虚拟机的本地网络

我想

将流量从localhost:8444(在Vagrant框中)重定向到主机上的10.0.2.2:8091

我尝试过:

iptables(在“无业游民”框中):

sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8444 -j DNAT --to-destination 10.0.2.2:9081
sudo iptables -t nat -A POSTROUTING -j MASQUERADE

但是,当我尝试时(在无业游民的情况下)

curl localhost:8444
curl: (7) Failed connect to 127.0.0.1:8444; Connection refused

请注意

curl 10.0.2.2:9081

作品

0 个答案:

没有答案