在Ubuntu / Debian上encryption主机到主机隧道?

我想通过安全的点到点隧道连接两个远程站点。 我一直在使用OpenVPN,但它有点小巧,看起来更像是连接大量用户,而不是点对点链接。

Redhat似乎有一些很好的构build点对点IPSEC隧道的脚本,但是在Ubuntu中我没有find类似的东西。

任何指导什么在这里使用,以及如何做到这一点? 我想保持尽可能简单,但仍然有基本的PSK安全。

假设以下networking设置:

您的公共IP:192.168.1.1
您的私人networking:192.168.50.0/24
远程公共IP:192.168.2.1
远程专用networking:192.168.51.0/24

1)使用“sudo apt-get install strongswan”安装StrongSwan

2)使用“sudo vim /etc/ipsec.secrets”设置密钥:
192.168.1.1 192.168.2.1:PSK“secret_password”

3)使用“sudo vim /etc/ipsec.conf”configuration路由:
conn伙伴
左= 192.168.1.1
右= 192.168.2.1
authby =秘密
IKE = 3DES-SHA1-modp1024
ESP = 3DES-SHA1
PFS = YES
汽车=启动

conn local_to_partner
leftsubnet = 192.168.1.1 / 32
rightsubnet = 192.168.51.0 / 24
还=伙伴

conn partner_to_local
leftsubnet = 192.168.50.0 / 24
rightsubnet = 192.168.2.1 / 32
还=伙伴

ssh 4.3+能够创build适当的VPN隧道。 tun0和所有这一切。

您可以使用openVPN获取站点到站点的configuration。 您需要将每台Linux机器设置为路由器,并在您的内部networking上创build静态路由以指向Linux机器。 这是基本的devise:

每个本地networking都需要有自己的IP子网:
LAN1:192.168.1.0/24
LAN2:192.168.2.0/24

说IP是这样的:
PC1 192.168.1.10
GW1 192.168.1.1
Linux1 192.168.1.100
—与地址192.168.2.101的其他networking连接

PC2 192.168.2.10
GW2 192.168.2.1
linux2 192.168.2.100

如果您在每个路由器中创build静态路由以指向另一个局域网,则应该能够实现所需的function:
GW1上的路由:
目的地192.168.2.0/24
网关:192.168.1.100

在GW2上的路线:
目的地192.168.1.0/24
网关:192.168.2.100

然后当PC1 ping PC2时,数据包将被路由到默认网关192.168.1.1,该网关将把它转发给Linux机器(1.100),该机器将通过隧道将其发送到LAN2。

您可以使用SSH的Tunnelfunction。 如果你已经build立了SSH(非常可能),那么这将比仅仅连接两个主机的备选方法容易得多。

我也build议使用SSH隧道function。 这很容易设置,因为你暗指运行的Ubuntu,甚至有一个SSH隧道pipe理器 。

为什么不能在另一个linux系统上使用Redhat的作品? 这不像他们是不同的操作系统的核心。

让我对此进行扩展。

我之前使用IPSEC来传输两个站点之间的所有stream量,即使没有工具来设置也不难。 如果有脚本可以在redhat上运行,那么你能不能偷走这些脚本并在你的其他linux变体上运行它们? 当然,他们不是那样的。

使用openswan和strongswan软件包我已经得到了很多。 我仍然没有隧道,但这似乎是我想要使用的工具。 两者都很不完善的文件,似乎有大量的select,没有明确的理由使用之一。

所以重构。 有没有人使用ubuntu debs在Ubuntu上成功安装了openswan / strongswan? 任何关于“IKE vs IKE2”,“encryption方法”,“PSKconfiguration”,dynamic端口改变等的build议。

谢谢..

OpenVPN实际上是像这样将服务器主机连接在一起的最常见,最好理解和logging的方法之一。