Adn*_*nan 1 networking vpn local-area-network site-to-site-vpn
我有以下场景。一台计算机连接到专用网络。我不访问该专用网络上的任何修改。我只是提供了一根网线。
运行在网络上的计算机的 IP 为 172.20.20.15,并且在计算机上有一个应用程序,它完全需要给定的网络设置,以便它可以连接专用网络后面某处的后端数据库。
现在的想法是我想将计算机移动到另一个位置。我可以访问这两个位置的互联网。
我知道我可以在两端(路由器 A 和路由器 B)上放置两个支持 VPN 服务器的路由器。
我找到了一个 VPN 路由器WN-300ARM-VPN,但在阅读了他们的文档后,我发现我可以连接 2 个不同的网络,所以它似乎不适合我。
简而言之,您能否建议我可以购买什么类型/品牌的设备,以便我可以通过互联网扩展专用网络。最重要的是我应该保持相同的 IP 设置。
谢谢大家的时间,所有的建议都非常受欢迎。
小智 5
桥接模式下的OpenVPN可以做到这一点。出于类似目的,我在这种模式下广泛使用了它。对于网络而言,它与恰好在不同位置具有两个端口的交换机没有区别。
不需要特殊的硬件。任何具有 2 个 NIC 的运行 Linux 的机器都可以执行此操作。还有一些路由器发行版,例如 Vyatta,将支持这一点。您也许也可以使用 DD-WRT 之类的东西,但我不确定那个。
这就是我使用 openSUSE 作为发行版的方式。使用 Vyatta 之类的东西可能会容易一些,但我已经这样做了很多次,并且效果很好:
选择一台机器作为服务器。在该机器上执行以下任务:
为密钥管理设置easy-rsa(它存储在openSUSE中的/usr/share/openvpn/easy-rsa/2.0/下,但我在/etc/openvpn下复制了一份,而不是在该位置使用它):
cd <easy_rsa 位置>
编辑 vars 文件并设置 KEY_* 参数
. 变量
./清理所有
./build-dh
./pkitool --initca
./pkitool --server mybridge-server
./pkitool mybridge-client
通过创建文件 /etc/sysconfig/network/ifcfg-mybridge 来创建网桥接口,您可以在其中替换 mybridge 所需的任何名称:
BOOTPROTO='none'
BRIDGE='yes'
BRIDGE_FORWARDDELAY='0'
BRIDGE_PORTS='eth1'
BRIDGE_STP='off'
STARTMODE='auto'
Run Code Online (Sandbox Code Playgroud)2a. 我假设您将 eth1 作为此处的“内部”接口。您实际上可以将其设置为服务器仅使用一个 NIC,这实际上是我在这种情况下通常会做的事情,但我试图使其保持简单。如果您想尝试此操作,请按上述方式创建网桥,将 eth0 放在 BRIDGE_PORTS 中,并将 IP 信息从 ifcfg-eth0 复制到 ifcfg-mybridge。然后删除 ifcfg-eth0,因为您的网桥将作为主接口
创建一个 /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
Run Code Online (Sandbox Code Playgroud)在 /etc/openvpn 中创建 mybridge-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
Run Code Online (Sandbox Code Playgroud)确保 openVPN 在启动时启动,并启动/重启一切:
chkconfig --add openvpn
网络重启
rcopenvpn 启动
此时,您将拥有一个名为 mybridge 的桥接接口,其中包含 eth1 和 mytun 接口。与任何交换机一样,只有当目标 mac 存在于另一侧时,以太网帧才会通过
现在您可以设置客户端:
通过创建文件 /etc/sysconfig/network/ifcfg-mybridge 来像在服务器上一样创建网桥接口:
BOOTPROTO='none'
BRIDGE='yes'
BRIDGE_FORWARDDELAY='0'
BRIDGE_PORTS='eth1'
BRIDGE_STP='off'
STARTMODE='auto'
Run Code Online (Sandbox Code Playgroud)将 ca.crt、mybridge-client.crt 和 mybridge-client.key 文件复制到客户端计算机。我将在我的示例中使用 /etc/openvpn/keys/
创建一个 /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
Run Code Online (Sandbox Code Playgroud)从 /etc/openvpn 中的服务器复制或创建 mybridge-up.sh 文件
就像在服务器上一样,确保 openVPN 在启动时启动,并启动/重启一切:
chkconfig --add openvpn
网络重启
rcopenvpn 启动
毕竟,任何一方的任何机器都可以相互通信,就好像它们在同一个物理段上一样。如果需要,您甚至可以从一侧为 DHCP 提供服务,或者远程配置带有预配置静态 IP 地址的开箱即用设备。
归档时间: |
|
查看次数: |
852 次 |
最近记录: |