我们有FreeBSD路由器上的公有IP地址。 我们还有很多服务在我们局域网内部运行,我们的一些服务需要通过公共IP地址在我们的家庭networking之外访问。 直到现在,我把它转发特定的端口到特定的本地IP地址。 示例(对于terminal服务器i,将端口2305转发到端口3389上的本地ip服务器,当有人呼叫“MYpublicIPadres:2305”上的远程桌面连接可以访问我的terminal服务器时,它工作正常。
我想要做的是:
一些如何确保特定客户端(机器或networking)访问该服务。 有没有办法让我只允许特定用户(通过MAC地址或其他)访问我的服务。 我已经做了VPN服务器 – 客户端连接,但是这种方法并不能提供给我很多。 我也可以通过特定的IP地址来限制访问,但是我的大多数客户端没有静态公共IP地址,每次来自不同IP地址的DSL连接。
如果使用FreeBSD无法做到这一点,我是否可以select像IPCOP或类似于FreeBSD的东西。
编辑:VPN问题
正如你已经提到,我应该去VPN解决scheme是我面临的问题
如果你不能保护服务本身,VPN或SSH隧道真的是你最好的select。
由于您的客户端没有静态公共IP,您不能通过IP进行限制,而且如果客户端通过互联网进入,您将无法确定其MAC地址(在第一跳丢失)。
你可以考虑像端口敲门控制访问服务(谷歌“端口敲门” – 前几个链接是非常有用的解释和例子)。
类似的东西也可以通过一个web服务器脚本和帮助程序来安装,在那里你可以“授权”一段时间的IP访问,可能比端口敲打更复杂,但是这些实现只是和底层代码)
我只能看到两个现实的select:
使用FreeBSD路由器设置防火墙,只允许访问您从某个IP转发的端口。 这将阻止大多数来自未知IP的“黑客攻击”,即使您将其locking到某个ISP或C类范围。 您不能将其设置为允许基于MAC地址,因为这不会通过Internet广播到您的计算机,而只是IP地址。
运行VPN以安全地在您的networking内部进行访问。 如果一个VPN客户端设置正确,它不应该击倒你的客户端的互联网。 取决于VPN,您可以将其configuration为仅通过VPN路由某些stream量,其余通过互联网。 一个简单的想法是Hamachi。
“正确”的方式是使用VPN。 你可以用防火墙/端口敲打解决scheme来做到这一点,但最安全的方式(在我看来)是通过VPN。