首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenVPN连接隧道

OpenVPN连接隧道
EN

Server Fault用户
提问于 2014-04-19 13:30:14
回答 1查看 480关注 0票数 1

几个月来,我一直在为一个特定的OpenVPN场景而挣扎。研究谷歌,阅读服务器故障,浏览博客和其他论坛,一次又一次地搅乱我的配置。我不再确定我的需求是否在逻辑上起作用。

在这里,情况如下:

我有一个租用的Root,用于几个服务、云存储、备份等等。为了保持简单,让我们调用元素Client1、Client2和Server1。

Server1正在使用tun设备.

  • Client1物理网络: 192.168.1.0/24
  • Client2物理网络: 192.168.178.0/24
  • Client1物理IP: 192.168.1.4
  • Client2物理IP: 192.168.178.22
  • Server1虚拟网络: 192.168.2.0/24
  • Server1 VPN-IP: 192.168.2.1
  • Client1 VPN-IP: 192.168.2.6
  • Client2 VPN-IP: 192.168.2.10

两个客户端都可以连接到VPN-Server并使用它的服务,而不存在任何问题。两个客户端都可以成功地访问服务器VPN-IP。Server1不能平分客户端的VPN-IP,两个客户端不能互相交换VPN-IP.

我想把两个客户端连接起来,这样他们就可以像在物理局域网中那样进行通信,但不能这样做。

这是我的配置。

服务器配置:

代码语言:javascript
复制
port 1195
proto tcp-server
dev tun1
ca keys/server1/ca.crt
cert keys/server1/openvpn-server.crt
key keys/server1/openvpn-server.key
dh keys/server1/dh4096.pem
server 192.168.2.0 255.255.255.0
crl-verify keys/server1/crl.pem
ifconfig-pool-persist servers/server1/logs/ipp.txt
cipher AES-256-CBC
user nobody
group nogroup
status servers/server1/logs/openvpn-status.log
log-append servers/server1/logs/openvpn.log
verb 2
mute 20
max-clients 100
local XXX.XXX.XXX.245
management 127.0.0.1 8877
keepalive 10 120
client-config-dir /etc/openvpn/servers/server1/ccd
client-to-client
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "redirect-gateway def1"
push "dhcp-option DNS XXX.XXX.XXX.98"
push "route 192.168.2.0 255.255.255.0"

Client1配置:

代码语言:javascript
复制
client
proto tcp-client
dev tun
ca ca.crt
dh dh4096.pem
cert user1.crt
key user1.key
remote XXX.XXX.XXX.245 1195
cipher AES-256-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind
push "route-gateway 192.168.2.1"

Client2 2‘S配置除了证书之外,完全相同。

在服务器/etc/sysctl.conf上包含条目net.ipv4.ip_forward=1客户端-防火墙已被调整以允许OpenVPN通过。IP转发在每个IPEnableRouter注册交换机的两个客户端上被激活.

IP表只有一个特定的额外规则,可以访问Internet.

代码语言:javascript
复制
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j SNAT --to XXX.XXX.XXX.245

大多数FAQ,教程或博客文章都谈到连接多个不同VPN的客户端。我希望我的客户在同一个VPN中。我已经束手无策了,我不能让客户们互相打招呼。这是可能的吗,还是我完全误解了VPN的概念?

我很感激你能给我的每一个提示,来解决这个自我创造的问题。

编辑: Traceroute Client1 -> Server1

代码语言:javascript
复制
traceroute to 192.168.2.1 (192.168.2.1), 30 hops max, 60 byte packets
1  19 ms  18 ms  18 ms  192.168.2.1

Traceroute Client1 -> Client2

代码语言:javascript
复制
traceroute to 192.168.2.10 (192.168.2.10), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Traceroute Server1 to Client1的结果与Client1到Client2的结果相同

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-04-20 15:30:47

我不知道为什么是这样,但解决办法是关闭客户对客户。当我启用客户端到客户端时,openVPN忽略了我设置的网关,而traceroute甚至没有到达VPN-Server。在我关掉它之后,追踪器终于被路由到了网关上。调整防火墙到openVPN,它通过了2跳。

老实说,这令人难以置信,因为客户对客户的定义正好相反。我将尝试在一个新的环境中重现这一点,因为我有一点胃痛,离开客户对客户。但现在我会接受的。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/590097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档