linux – OpenVPN客户端到客户端

linux – OpenVPN客户端到客户端,第1张

概述当使用禁用客户客户端的TUN(第3层)OpenVPN服务器时,我的客户端仍然可以相互通信. 客户端到客户端配置应该根据文档来防止这种情况: Uncomment out the client-to-client directive if you would like connecting clients to be able to reach each other over the VPN. B 当使用禁用客户端到客户端的TUN(第3层)OpenVPN服务器时,我的客户端仍然可以相互通信.

客户端到客户端配置应该根据文档来防止这种情况:

Uncomment out the clIEnt-to-clIEnt directive if you would like
connecting clIEnts to be able to reach each other over the VPN. By
default,clIEnts will only be able to reach the server.

当禁用此选项时,为什么客户端可以继续相互通信?

这是我的服务器配置:

port 443proto tcpdev tunca /etc/openvpn/keys/ca.crtcert /etc/openvpn/keys/server.crtkey /etc/openvpn/keys/server.keydh /etc/openvpn/keys/dh4096.pemtopology subnetserver 10.10.201.0 255.255.255.128ifconfig-pool-persist ipp.txtcrl-verify /etc/openvpn/keys/crl.pempush "route [omitted]"push "dhcp-option DNS [omitted]"keepalive 10 120comp-lzouser nobodygroup nogrouppersist-keypersist-tunplugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so logincipher AES-256-CBCtls-auth /etc/openvpn/keys/pfs.key 0verb 4
解决方法 如果启用了客户端到客户端,则VPN服务器在内部转发客户端到客户端数据包,而不将它们发送到主机的IP层(即发送到内核).主机网络堆栈根本看不到这些数据包.
.-------------------.           | IP Layer          |           '-------------------'           .-------------------.           | TUN device (tun0) |           '-------------------'           .-------------------.           | OpenVPN server    |           '-------------------'             ^           |          1  |           |  2                |           v .----------------.  .----------------. | ClIEnt a       |  | ClIEnt b       | '----------------'  '----------------'

如果禁用客户端到客户端,则从客户端到另一个客户端的数据包将通过托管VPN服务器的计算机的主机IP层(iptables,路由表等):如果启用了IP转发,主机可能会转发数据包(使用其路由表)再次进入TUN接口,VPN守护进程将数据包转发到隧道内的正确客户端.

.-------------------.           | IP Layer          |  (4) routing,firewall,NAT,etc.           '-------------------'      (iptables,nftables,conntrack,tc,etc.)              ^          |          3   |          |  5              |          v           .-------------------.           | TUN device (tun0) |           '-------------------'             ^           |          2  |           |  6               |           v           .-------------------.           | OpenVPN server    |           '-------------------'             ^           |          1  |           |  7               |           v .----------------.  .----------------. | ClIEnt a       |  | ClIEnt b       | '----------------'  '----------------'

在这种情况下(客户端到客户端禁用),您可以使用iptables阻止客户端到客户端的数据包:

iptables -A FORWARD -i tun0 -o tun0 -j DROP

其中tun0是您的VPN接口.

总结

以上是内存溢出为你收集整理的linux – OpenVPN客户端到客户端全部内容,希望文章能够帮你解决linux – OpenVPN客户端到客户端所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1041319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存