互联网上的局域网

我有以下情况。 计算机连接到专用networking。 我无权修改此专用networking上的任何内容。 我只是提供了一个networking电缆。

在networking上运行的计算机有一个IP 172.20.20.15,在计算机上有一个应用程序需要给定的networking设置,因此它可以连接后端数据库在专用networking后面的某个地方。

现在的想法是,我想将计算机移动到另一个位置。 我有互联网接入这两个位置。

我明白,我可以把两台路由器,支持VPN服务器,在两端(路由器A和路由器B)。

在这里输入图像说明

我find了一个VPN路由器WN-300ARM-VPN ,但是经过他们的文档,我发现我可以连接2个不同的networking,所以它似乎不适合我。

在这里输入图像说明

把这个故事写得简短,你能告诉我可以购买什么types的设备吗?我可以通过互联网来扩展私人networking。 主要的是我应该保持相同的IP设置。

谢谢大家的时间,所有的build议都是值得欢迎的。

OpenVPN的桥接模式可以做到这一点。 为了达到类似的目的,我在这种模式下广泛使用了它。 对于networking而言,与在不同位置有两个端口的交换机是无法区分的。

不需要特殊的硬件。 任何运行有2个NIC的Linux的机器都可以这样做。 也有一些路由器发行版,如Vyatta,将支持这一点。 你也许可以使用像DD-WRT这样的东西,但我不确定那个。

这就是我如何使用openSUSE作为发行版。 用Vyatta这样的软件可能会稍微容易些,但是我已经完成了很多次,并且完美的工作:

挑一台机器做一台服务器。 在该机器上执行以下任务:

  1. 设置easy-rsa进行密钥pipe理(在openSUSE中存放在/usr/share/openvpn/easy-rsa/2.0/下,但是我在/ etc / openvpn下创build了一个副本,而不是在那个位置使用它):

    • cd <easy_rsa位置>

    • 编辑variables文件并设置KEY_ *参数

    • 。 瓦尔

    • ./clean-all

    • ./build-dh

    • ./pkitool –initca

    • ./pkitool –server mybridge-server

    • ./pkitool mybridge-client

  2. 通过创build文件/ etc / sysconfig / network / ifcfg-mybridge来创build网桥接口,您可以在其中replacemybridge所需的任何名称:

    BOOTPROTO='none' BRIDGE='yes' BRIDGE_FORWARDDELAY='0' BRIDGE_PORTS='eth1' BRIDGE_STP='off' STARTMODE='auto' 

2A。 我假设你将eth1作为这里的“内部”接口。 你可以实际设置它,使服务器只使用一个网卡,这实际上是我通常在这种情况下做的,但我试图保持它有点简单。 如果你想尝试这个,就像上面那样创build网桥,把eth0放在BRIDGE_PORTS中,把IP信息从ifcfg-eth0复制到ifcfg-mybridge。 然后删除ifcfg-eth0,因为你的网桥将主接口

  1. 创build一个/etc/openvpn/mybridge-server.conf(假设你做了一个easy-rsa的副本):

     port 1194 proto udp dev mytun dev-type tap mode server tls-server ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/mybridge-server.crt key /etc/openvpn/easy-rsa/keys/mybridge-server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem keepalive 10 600 comp-lzo fast-io user nobody group nogroup persist-key persist-tun script-security 2 up mybridge-up.sh status /var/run/openvpn/mybridge-server-status verb 3 
  2. 在/ etc / openvpn中创buildmybridge-up.sh文件,以确保在启动时将openVPN接口添加到网桥中:

     #!/bin/bash # Called with these args: # tap_dev tap_mtu link_mtu ifconfig_local_ip ifconfig_netmask [ init | restart ] /sbin/ip link set $1 up /sbin/brctl addif mybridge $1 
  3. 确保openVPN在启动时启动,并启动/重新启动一切:

    • chkconfig –add openvpn

    • rcnetwork重启

    • rcopenvpn开始

此时,您将有一个名为mybridge的桥接接口,其中包含eth1和mytun接口。 像任何交换机一样,以太网帧只有在目标MAC存在于另一端时才通过

现在你可以设置客户端:

  1. 通过创build文件/ etc / sysconfig / network / ifcfg-mybridge来创build一个桥接接口,就像在服务器上一样:

     BOOTPROTO='none' BRIDGE='yes' BRIDGE_FORWARDDELAY='0' BRIDGE_PORTS='eth1' BRIDGE_STP='off' STARTMODE='auto' 
  2. 将ca.crt,mybridge-client.crt和mybridge-client.key文件复制到客户机。 我将在我的例子中使用/ etc / openvpn / keys /

  3. 创build一个/etc/openvpn/mybridge-client.conf:

     proto udp dev mytun dev-type tap client remote hostname_or_ip_of_server 1194 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/mybridge-client.crt key /etc/openvpn/keys/mybridge-client.key float resolv-retry infinite nobind comp-lzo fast-io user nobody group nogroup persist-key persist-tun script-security 2 up mybridge-up.sh verb 3 
  4. 从/ etc / openvpn中的服务器复制或创buildmybridge-up.sh文件

  5. 就像在服务器上一样,确保openVPN在启动时启动,并启动/重新启动一切:

    • chkconfig –add openvpn

    • rcnetwork重启

    • rcopenvpn开始

毕竟,任何一方的任何机器都可以相互交谈,就好像它们在同一个物理段上一样。 如果需要,甚至可以从一侧提供DHCP,或者使用预先configuration的静态IP地址远程执行configuration。

你有两个select:

  • 更改移动的服务器的IP地址。 这真是首选,而且我没有理由在这种拓扑中看到不这样做,除了避免进行configuration更改。
  • 通过L2TP将子网/广播域扩展到远程networking。

你可以在路由器A上使用某种反向NAT

它会将任何来自私人networking的请求转发到172.20.20.15到服务器的当前IP(公共)。

我没有任何configuration示例可以显示,但在各种企业级networking上安装很容易。 (即没有soho和消费者等级)。

我会build议你一个Cisco 800系列路由器。 http://www.cisco.com/en/US/products/hw/routers/ps380/prod_models_comparison.html

我不知道你如何连接到ISP互联网线(以太网,ADSL,SHDSL,…),所以我不能build议你一个特定的800系列路由器