我有一个本地网络,其中有两个本地服务器,另一边我有一个 mikrotik 路由器,用于在该网络上共享互联网。我可以通过其 IP 在互联网上的任何地方访问我的 mikrotik 路由。有什么方法可以让我通过互联网连接从任何地方远程访问所有这些服务器(我可以在我的本地网络中访问我的本地服务器)?
我正在使用 ubuntu 服务器 14.04。
答案1
首先,我假设您使用的是带 NAT 的 IPv4,而不是 IPv6。(IPv6 使它变得简单。事实上,如果您有 IPv6,它可能已经默认为您工作了。实际上,更公平的说法是,不使用 NAT 做事会变得容易,但这通常不是 IPv4 上的选项。)
假设您的路由器使用 IPv4 NAT,您将需要设置通常称为端口转发的功能。它允许您映射 Mikrotik 路由器上的端口以传递到服务器的端口。
本质上,您将设置一条规则,告诉 Mikrotik 路由器,如果它在端口 X 上看到到它的流量地址,则动态重写该流量以将其寻址到端口 Y 上服务器的内部 IP(通常以10.
或172.16.
或开头192.168.
)地址。
在 Mikrotik 路由器上操作方法如下:首先,转到左侧的 IP 菜单,然后转到防火墙。然后确保您位于 NAT 选项卡上,然后单击“添加新”按钮。
您将看到如下屏幕:
对于链,请选择 dstnat。单击目标地址旁边的向下箭头,然后输入您可以从互联网访问 Mikrotik 路由器的地址。除非您知道您正在使用 UDP 端口,否则请单击协议旁边的向下箭头并将其保留为6 (tcp)
。对于目标端口,再次单击向下箭头,然后输入您想要在互联网上用来访问服务器的端口。
现在向下滚动页面:
对于操作,选择 dst-nat。将“目标地址”更改为服务器的内部 IP 地址(同样,这应该以10.
或172.16.
或开头192.168.
)。将“目标端口”更改为服务器上服务的端口。
最后,单击OK
(如果您想离开该页面并进行设置)或Apply
(如果您想进行设置并留在页面上进行调整)。
哦,如果您更喜欢命令行方式,您可以执行以下操作:
/ip firewall nat add chain=dstnat dst-address=69.69.69.69 protocol=tcp dst-port=5900 \
action=dst-nat to-addresses=192.168.1.101 to-ports=5900