内容目录

windows客户端

OpenVPN-2.6.9-I001-amd64.msi

  1. 下载服务端准备的客户端密钥文件和CA文件至C:\Program Files\OpenVPN\config目录中
sz /opt/easy-rsa/pki/ca.crt
sz /opt/easy-rsa/pki/issued/client.crt
sz /opt/easy-rsa/pki/private/client.key
  1. C:\Program Files\OpenVPN\config创建一个客户端配置文件,名称叫client.ovpn
client             #指定当前VPN是客户端
dev tun            #使用tun隧道传输协议
proto tcp          #使用tcp协议传输数据
remote x.x.x.x xxx     #openvpn服务器IP地址端⼝号
resolv-retry infinite   #断线自动重新连接,在⽹络不稳定的情况下非常有用
nobind                  #不绑定本地特定的端⼝号
ca ca.crt               #指定CA证书的文件路径
cert client.crt         #指定当前客户端的证书文件路径
key client.key          #指定当前客户端的私钥文件路径
verb 3                  #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细
persist-key     #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第⼀次使用的keys
persist-tun  #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown后才linkup
  1. 登录成功后,通过windows查看opvpn服务推送过来的路由信息
# windows查看推送过来的路由信息
route print -4

OpenVpn访问内部网段

内部节点无法正常访问

  • 抓包分析数据包能抵达openvpn的内网地址,但无法与openvpn服务推送的内网网段主机进行通信
  • 因为内网网段主机没有去往remote user网段的路由,所以数据包无法原路返回,最终造成无法ping
# 在后端的主机上抓包分析,发现能接收到数据包,但没有回去的路由所以无法通信
tcpdump -i eth0 -nn -p icmp
  • 解决此问题有如下几种方式:
    • 方式1:在每台后端主机添加一条路由,下一跳为openvpn服务器
    • 方式2:配置iptables、firewalldNAT规则

在节点上添加主机路由

  1. 在后端主机添加去往remote user网段的路由
route add -net x.x.x.x/24 gw x.x.x.x

#防止系统重启后路由丢失,永久添加路由条目
vim /etc/sysconfig/network-scripts/route-eth0
x.x.x.x/24 via x.x.x.x
  1. 添加完路由后,继续ping,再抓包确认
  2. 检查内网服务器与哪个IP建立连接(会发现是真实的VPN客户端ip地址),该ip地址是openvpn配置文件中的server 定义的网段(该网段不能和内网网段有相同)。
netstat -an | grep -i estab
Active Internet connections (servers and established)
tcp        0      0 x.x.x.x:80         remote user ip:23958      ESTABLISHED
tcp        0      0 x.x.x.x:80         remote user ip:23969      ESTABLISHED

配置虚拟机NAT地址替换

  • 思源笔记支持S3存储,在openvpn虚机配置如下命令:
    iptables -t nat -A POSTROUTING -s x.x.x.x/24 -d y.y.y.y -o eth1 -j SNAT --to z.z.z.z
    iptables -t nat -L -n -v
    Chain POSTROUTING (policy ACCEPT 199 packets, 12336 bytes)
    pkts bytes target     prot opt in     out     source           destination
    41  2132 SNAT       all  --  *      eth1    x.x.x.x/24       y.y.y.y        to:10.100.100.100
最后修改日期: 2025年3月29日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。