我想通过安全的点到点隧道连接两个远程站点。 我一直在使用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的方法之一。