配置OS X以将传入流量传递到另一台服务器?


1

我在一个无线网络上有一台PC和一台2011 Mac mini,它没有上网功能。Mac mini还连接到另一个可以访问Internet的网络。

有没有办法可以使用Mac共享对单个IP的访问权限?即,将端口XX-YY上的所有请求转发给AAA.BBB.CCC.DDD?

编辑:我更喜欢100%基于命令行的解决方案。

OS X 10.11.3
我需要PC才能访问Mac网络上的资源。
Internet共享取代了Mac与wifi网络的连接。

PC连接到没有互联网的无线路由器。Mac连接到带有互联网的无线路由器。Mac也可以通过wifi连接到PC的无线路由器。PC的无线路由器无法充当客户端。


我把你的问题标记为不清楚。如果您有两个不同的Wi-Fi网络(一个用户而另一个没有互联网接入),您可以简单地将PC连接到Wi-Fi 访问互联网。如果您有一个Wi-Fi网络(带有互联网)和一个以太网网络,互联网共享(正确设置)不会破坏Wi-Fi网络(=互联网)。请指定您的网络环境。
klanomath 2016年

如果这两台机器中的每台机器都通过以太网电缆真正连接到各自的无线路由器,那么Dictionarics Anonymous应该可以工作。您必须禁用路由器上的任何DHCP服务器。此外,连接到PC的路由器必须能够用作交换机/网桥。
klanomath 2016年

这是一个糟糕的AT&T路由器。它不像很好的路由器那样将wifi连接到以太网。
丹尼尔

但考虑到在一个稍微不同(并且可实现)的情况下他的答案会奏效,我会接受它。
丹尼尔

请取消我的回答,以便删除。
Dictionarics Anonymous

Answers:


1

假设您配置了大量的 LocalForward端口,SSH隧道将在此处实现此目的。

将这些内容放入您的~/.ssh/config文件中:

Host [hostname]
User [username]
Port [SSH port]              # (if using port 22, omit this line)
LocalForward 1 0.0.0.0:1     # Replace all these
LocalForward 2 0.0.0.0:2     # port numbers with
LocalForward 3 0.0.0.0:3     # the actual ports
LocalForward 4 0.0.0.0:4     # that you need.
LocalForward 5 0.0.0.0:5     #
LocalForward 6 0.0.0.0:6     # Format is like this:
LocalForward 7 0.0.0.0:7     # LocalForward [port] 0.0.0.0:[port]
LocalForward 8 0.0.0.0:8     #
LocalForward 9 0.0.0.0:9
LocalForward 10 0.0.0.0:10

...等等你想要的任何端口。

这将在Mac上设置侦听端口,并且每当您运行此终端命令时,都会将这些端口上的流量转发到[hostname]通过SSH连接到[username]端口[SSH port]

ssh [hostname]

请记住,[hostname]必须运行SSH服务器,并且您将在终端中的远程主机上获得一个shell。可以配置仅端口转发的SSH服务器,但这超出了本答案的范围。如果您不想在远程服务器上安装shell,请改为运行以下命令:

ssh [hostname] sleep 3600

你将获得一个1小时的连接,而没有shell。不要关闭终端窗口。如果需要,可以将其设置为可以通过运行以下命令关闭终端:

nohup ssh [hostname] sleep 3600 &

替换3600为您希望连接持续的秒数。


-2

注意:事实证明我错误地提出了问题。这是@Daniel想要的互联网共享,而不是端口转发。我的错。我在这里留下这个答案是为了告知端口转发,但这不是解决这个问题的最佳解决方案。

当然!您正在尝试完成各种程序可以执行的端口转发。如果您喜欢使用带有良好GUI的Apple软件,OS X Sever可以正常工作。@klanomath告诉我“OS X Server既不允许端口转发也不允许NAT /路由。不允许它们都不提供GUI”,所以我删除了这个建议。

ipfw曾经是端口转发的默认设置。但是,它已经被弃用了pfctl。我个人非常愚蠢,并且在你使用它时并不知道发生了什么。我将粘贴GitHub指令的内容(经过深思熟虑)。/etc/pf.anchors/<anchor file>使用重定向规则创建锚文件,如:rdr pass on lo0 inet proto tcp from any to ABC.ABC.ABC.AB port AB-AB -> AAA.BBB.CCC.DD port XX-YY。据我所知,我不知道任何好的GUI客户端。

SSH还支持隧道。对你而言,你可能想要使用该命令ssh -D AAA.BBB.CCC.DD:XX-YY。还有各种各样的客户端可以用来比通过命令行更轻松地管理它。

您也可以在路由器级别配置它。显然这取决于您的路由器,但是portforward.com有许多路由器的说明(Google也是如此)。例如,您可以使用AirPort实用程序配置端口转发

但是不要受到限制!环顾四周,有很多软件和方法可以做到这一点。


我正在使用OS X,无法改变它。简单的操作系统X.
Daniel

@kanomath可以编辑!马上做。
JMY1000 2016年

@klanomath好的,我已编辑它以希望包含更多内容。我不确定你对OS X服务器有什么影响(除了付费),但我还是省略了它。
JMY1000 2016年

@Daniel我已编辑它以希望包含更多内容,请告诉我这是否对您有所帮助。
JMY1000 2016年

仍然没有帮助......
丹尼尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.