如何通过 Tinc VPN 访问本地子网

如何通过 Tinc VPN 访问本地子网

我正在尝试使用 Tinc 在 DigitalOcean 上的云服务器和本地服务器之间建立 VPN 连接。到目前为止,我已经成功建立并运行了连接,并且服务器可以通过 VPN 地址相互通信 - 根据本教程

但是,我无法从 DigitalOcean 上的服务器 ping 通本地 LAN (172.23.6.0/24) 上的任何设备。我尝试将本地子网指定为 tinc hosts 文件的子网,但不起作用。当我尝试从云服务器 ping 通时,我只得到一个“目标主机不可达“ 错误。

这是我第一次使用 Tinc,因此学习难度相当大。我仍在阅读文档,但目前发现它有点令人困惑。并不是说它写得不好,只是出于某种原因我不明白。

有谁成功完成了我所做的事情,可以帮我一下吗?谢谢。

PS. 我的最终目标是让云服务器和内部服务器相互通信,以便云服务器知道我们防火墙后面的 LAN 子网。这样,我将能够进行一些 Active Directory 身份验证,而无需将 AD 服务器暴露给互联网(至少不是直接暴露)。

答案1

首先——请发布带有您的问题的配置文件和日志。

我假设你的设置基本正确,因为你有机器与机器之间的连接。

Tinc 本地处理路由 —— 它不使用机器上的路由表(因为那会产生不必要的流量)。

在 tinc 的 hosts 文件中,您必须包含要显示的子网。以下是将 mars(这些配置所在的服务器)连接到 venus(远程服务器)的示例配置。

远程服务器有可见的子网 10.1.74.0/24 和 10.12.1.0/24,本地服务器有可见的 10.1.1.0/24。请注意,tinc-up 添加了路由,但 mars 和 venus 文件定义了允许通过 vpn 的段(子网选项)。

这些是服务器 mars 上的配置文件:

/etc/tinc/venus/tinc.conf

Name = vpn
Device = /dev/net/tun
PrivateKeyFile = /etc/tinc/venus/rsa_key.priv
TCPOnly=yes
AddressFamily=any

/etc/tinc/venus/tinc-up

#!/bin/sh
ifconfig $INTERFACE hw ether fe:fd:0:0:0:0
ifconfig $INTERFACE 10.1.1.90 netmask 255.0.0.0 -arp
route add -net 10.1.74.0 netmask 255.255.255.0 gateway 10.1.1.90
route add -net 10.12.1.0 netmask 255.255.255.0 gw 10.1.74.6

/etc/tinc/venus/hosts/venus

Address = 189.22.2.252
Port=260
Subnet = 10.1.74.0/24
Subnet = 10.12.1.0/24
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAMti4IsVr3UKqg24pVfvHRyL+0S1uGWKGsmNw1drAPn18PgY7hC8DKdO
+aEiboP2vOJTzj0pgpsdf43OypWzqXDQkIpjMLLjJMa0X9WLrQ3UKq4pVm9FBWVp
yiT7iZirkv6+iqTJq94rWKdOFaHg44h536hethdfghy54ubGlplJjGxHAgMBAAE=
-----END RSA PUBLIC KEY-----

/etc/tinc/venus/hosts/mars

Address = tinc.public.net
Port=260
Subnet = 10.1.1.0/24
-----BEGIN RSA PUBLIC KEY-----
MIGJyUGiL/WWZu6AoGBALvkoE+oSSO0a997Xb4+3woqJLAOi/js1ctlIpeLliN1T
DEv5+mu7fXXCAuOrgteHFYAsmwHPG+7VBSoDNa3WuZNlDFUa8WzHx6lJ6Rmrk6WV
A22Ya2MVvG09b1HTWgzw1MvVKkENeYW6TCiUGsNJh15ADGpb2dG3AgMBAAE=
-----END RSA PUBLIC KEY-----

相关内容