我有一个从互联网隔离的networking,我需要不时远程连接到它的主要目的。 请注意,我不需要连接到此networking上的特定计算机,但我需要能够连接到networking上的任何计算机。
这是我的想法:
我会提供一个linux-box(可能是RaspBerry PI),它应该连接到隔离networking,这个隔离networking也具有到Internet的GPRS连接。
一旦打开,linux-box应该通过GPRS自动连接到互联网,并且应该提供一种方式让我连接到它(经过适当的authentication)并且透明地访问隔离的networking。
我应该能够直接从我自己的(linux)计算机上查看和使用他们的intrantet网站,就像我自己的计算机直接连接到隔离networking一样。 我应该能够将file upload到孤立networking上的远程计算机上,我应该可以ping通并通过ssh连接到隔离networking上的任何计算机,我应该能够访问由本地XMPP提供的消息系统服务器在同一networking上等等。 简而言之,我的家用电脑应该在隔离的networking上使用我的远程linux-box的本地IP地址,就像我在自己的电脑上一样。
要创build一个自动连接到互联网一次打开的Linux应该不是一个问题…但是,如何创build这个“桥”从正确的login后,从孤立的networking到我的家庭电脑? 任何想法,解决scheme或链接可能是有用的?
我从几年以来一直在使用Linux进行家庭/工作,但是我从来没有尝试过这样的事情,所以我对VPN和networking共享问题的知识已经接近于零。 当然,我愿意研究任何有关这个问题的链接/书籍,但我不知道从哪里开始。
PS:对不起我可怕的英语,我希望这个问题是可以理解的。
如果你是远程连接,它不是孤立的。
你所描述的可以想象的工作。 就远程连接而言,你可能只想把OpenVPN放在它上面并完成。 很多OpenVPN指南都可以使用,但是我没有特别的build议。 从他们的网站上的文档开始: OpenVPN.net
耶稣,我真的希望这不是一个你揭露的分类networking。
你用了一个正确的词 – “桥”。
只需在layer2(tap)模式下使用openvpn,另一端使用“isolated”*networking。 您可以使用“brctl”来设置桥梁。 在此之后,连接,将是相同的(networking方面),直接连接到该“孤立”*networking上的交换机。
*如果你从外面连接它,它不是孤立的。 如果您使用的是PC而不是rPi,或者您已经在networking中的任何一台计算机上设置了另一个接口,那么它几乎是一样的。
你需要将连接到互联网的服务器变成一个VPN服务器,openvpn对此非常有用。 有各种方式来configurationopenvpn。 我会configuration它使用UDP和TUN接口。
一旦你设置了openvpn,你需要创build一些特殊的iptables规则和一个路由条目来实现这个function。
除了互联网连接接口外,openvpn服务器还有一个接口,用来连接到其他被屏蔽的服务器,当然这些服务器都在同一个子网中,我们来做这个10.11.11.0/24。
假设您的openvpnnetworking具有子网10.2.2.0/24,则应在服务器上创build以下iptables规则:
# Allow TUN interface connections to openvpn server iptables -A INPUT -i tun+ -j ACCEPT # Allow TUN interface connections to be forwarded through other interfaces iptables -A FORWARD -i tun+ -j ACCEPT iptables -A FORWARD -o tun+ -j ACCEPT # Allow TUN interface connections to get out iptables -A OUTPUT -o tun+ -j ACCEPT # allow routing from openvpn tunnels iptables -t nat -A POSTROUTING -s 10.2.2.0/24 -j MASQUERADE iptables -A FORWARD -i tun+ -s 10.2.2.0/24 -j ACCEPT
在您的网关/路由器中,您需要创build一个路由条目,将10.2.2.0/24子网的stream量路由到openvpn服务器并返回。 在Linux中,它会是这样的:
route add -net 10.2.2.0/24 gw 10.11.11.1 <-- IP of openvpn server
这实际上意味着,一旦build立到openvpn服务器的远程连接,就可以到达屏蔽networking中的计算机。 这些电脑也应该能够通过同样的openvpn连接到达你的电脑。
这也意味着这些屏蔽计算机现在发送和接收通过互联网的stream量,尽pipe通过encryption的VPN连接。 这意味着他们现在不如以前那么安全(如果有的话),这可能是一个问题。
意识到你的家庭电脑现在是访问这个屏蔽networking的门户…取决于如何确定某人访问它可能会造成问题。 🙂