几个月来,我一直在为一个特定的OpenVPN场景而挣扎。研究谷歌,阅读服务器故障,浏览博客和其他论坛,一次又一次地搅乱我的配置。我不再确定我的需求是否在逻辑上起作用。
在这里,情况如下:
我有一个租用的Root,用于几个服务、云存储、备份等等。为了保持简单,让我们调用元素Client1、Client2和Server1。
Server1正在使用tun设备.
两个客户端都可以连接到VPN-Server并使用它的服务,而不存在任何问题。两个客户端都可以成功地访问服务器VPN-IP。Server1不能平分客户端的VPN-IP,两个客户端不能互相交换VPN-IP.
我想把两个客户端连接起来,这样他们就可以像在物理局域网中那样进行通信,但不能这样做。
这是我的配置。
服务器配置:
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配置:
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.
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
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.1Traceroute Client1 -> Client2
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的结果相同
发布于 2014-04-20 15:30:47
我不知道为什么是这样,但解决办法是关闭客户对客户。当我启用客户端到客户端时,openVPN忽略了我设置的网关,而traceroute甚至没有到达VPN-Server。在我关掉它之后,追踪器终于被路由到了网关上。调整防火墙到openVPN,它通过了2跳。
老实说,这令人难以置信,因为客户对客户的定义正好相反。我将尝试在一个新的环境中重现这一点,因为我有一点胃痛,离开客户对客户。但现在我会接受的。
https://serverfault.com/questions/590097
复制相似问题