创建基于 UNIX 的 VPN:指针、指南和陷阱?

Aro*_*eel 3 networking linux unix vpn debian

  • 有人有创建基于 UNIX 的虚拟专用网络的第一手经验吗?
  • 可用于实现此目的的最佳 VPN 客户端/工具是什么?
  • 有什么常见的陷阱是我应该避免的吗?

在我的特殊情况下,我的主要兴趣在于与 Debian 兼容的解决方案。我的主要目标是让它正常工作,因为我以前没有这样做过,但是在我不想使用 SSH 连接的情况下,我可以看到一些可能的好处。

pQd*_*pQd 12

在 linux 中,您有两个主要选择:

  • ipsec 兼容 vpn - 使用freeswan / openswan / strongswan。我记得设置它非常具有挑战性......
  • 非标准化 [但非常好] sslvpn - openvpn。很容易设置。

第二个真的很棒,我已经在生产中使用它几年了。它在 debian 中作为标准包提供。它在数十兆位的容量下表现相当不错[也有数百,但我在办公室之间没有那么快的互联网连接]

openvpn 的一些提示:

  • 为了更安全,不要使用“共享秘密”类型的密钥,而是创建证书颁发机构并使用由它签名的密钥
  • 如果可能,请使用 tun 模式而不是 tap [通过 vpn 路由流量而不是桥接两个以太网段]
  • 如果您寻求证书颁发机构解决方案 - 请记住,密钥会过期。为自己设置几个提醒以重新生成密钥。
  • 为了安全起见,使用 opensvn [ ping-restart 选项 ] 中内置的软件看门狗 + 放置附加的简单 bash 脚本,循环检查 openvpn 进程是否正在运行。在过去的 3 年中,openpn 为我死了大约 2 次。
  • 尽可能使用 udp 隧道 [而不是 tcp]。我在 nat 后面的办公室使用 vpn 时遇到问题 [其中 linux 盒在廉价的 dlink 路由器后面,我无法控制] udp 数据包在一段时间后被阻止的地方 - 在这种情况下,我被迫使用 tcp。
  • 从防火墙/ nats 后面享受 openvpn .. 只要一侧有公共 ip 并且可以通过一个端口上的 tcp 或 udp 访问 - 您可以为其建立 vpn,另一个节点不需要有公共 ip!