VPN配置
OpenVPN
docker-compose启动
- Add a new service in docker-compose.yml
# 更新时区
FROM kylemanna/openvpn:latest
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
RUN apk add --no-cache tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezoneversion: '2'
services:
openvpn:
build:
context: .
dockerfile: Dockerfile
environment:
- TZ=Asia/Shanghai
cap_add:
- NET_ADMIN
container_name: openvpn
network_mode: bridge # 目前要是bridge模式而不是重新创建的network
ports:
- "1194:1194/udp"
restart: always
volumes:
- ./openvpn-data/conf:/etc/openvpn- Initialize the configuration files and certificates
# 注意-N,需要有-N才能开启Nat,使得可以访问外部网络
docker-compose run --rm openvpn ovpn_genconfig -N -u udp://your_host -2 -C AES-256-CBC
docker-compose run --rm openvpn ovpn_initpki- Start OpenVPN server process
docker-compose up -d openvpn- You can access the container logs with
docker-compose logs -f- Generate a client certificate
export CLIENTNAME="your_client_name"
# with a passphrase (recommended)
docker-compose run --rm openvpn easyrsa build-client-full $CLIENTNAME
# without a passphrase (not recommended)
docker-compose run --rm openvpn easyrsa build-client-full $CLIENTNAME nopass- Retrieve the client configuration with embedded certificates
docker-compose run --rm openvpn ovpn_getclient $CLIENTNAME > $CLIENTNAME.ovpn- Generate OTP configuration
docker-compose run --rm openvpn ovpn_otp_user <user>
# 相当于
google-authenticator --time-based --disallow-reuse --force --rate-limit=3 --rate-time=30 --window-size=3 -l "<user>@${OVPN_CN}" -s /etc/openvpn/otp/<user>.google_authenticator/etc/openvpn/otp/<user>.google_authenticator的用户和组必须是root,并且权限为0400,否则会一直出现验证失败。
- Test OTP
pamtester -v openvpn <user> authenticate- Revoke a client certificate
# Keep the corresponding crt, key and req files.
docker-compose run --rm openvpn ovpn_revokeclient $CLIENTNAME
# Remove the corresponding crt, key and req files.
docker-compose run --rm openvpn ovpn_revokeclient $CLIENTNAME removeDebugging Tips
- Create an environment variable with the name DEBUG and value of 1 to enable debug output (using “docker -e”).
docker-compose run -e DEBUG=1 -p 1194:1194/udp openvpnPAM 2FA配置
见3
实践
services:
openvpn:
image: kylemanna/openvpn:latest
cap_add:
- NET_ADMIN
environment:
- TZ=Asia/Shanghai
container_name: openvpn
network_mode: host
restart: always
privileged: true
volumes:
- ./data/openvpn:/etc/openvpn
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro#!/bin/bash
sudo docker-compose run --rm openvpn ovpn_genconfig -N -u udp://<IP>:<PORT> -2 -C AES-256-CBC
sudo docker-compose run --rm openvpn ovpn_initpki
sudo docker-compose up -d openvpn#!/bin/bash
set -x
if [ -n "$1" ]; then
CLIENT_NAME=$1
echo "Adding user: $CLIENT_NAME"
# generate the crt
sudo docker-compose run --rm openvpn easyrsa build-client-full $CLIENT_NAME nopass
sudo docker-compose run --rm openvpn ovpn_getclient $CLIENT_NAME > $CLIENT_NAME.ovpn
# generate the otp token
sudo docker-compose run --rm openvpn ovpn_otp_user $CLIENT_NAME
# ATTENTION: change the token mode
sudo docker-compose run --rm openvpn chmod 0400 /etc/openvpn/otp/${CLIENT_NAME}.google_authenticator
SAVE_DIR=./user_infos/$CLIENT_NAME
mkdir -p $SAVE_DIR
mv $CLIENT_NAME.ovpn $SAVE_DIR
sudo cp ./data/openvpn/otp/${CLIENT_NAME}.google_authenticator $SAVE_DIR
cd $SAVE_DIR
sudo chmod a+wr ${CLIENT_NAME}.google_authenticator
zip -m $CLIENT_NAME.zip $CLIENT_NAME.ovpn ${CLIENT_NAME}.google_authenticator
else
echo "Input a user name."
fi#!/bin/bash
set -x
if [ -n "$1" ]; then
CLIENT_NAME=$1
echo "Deleting openvpn user: ${CLIENT_NAME}"
sudo docker-compose run --rm openvpn ovpn_revokeclient ${CLIENT_NAME} remove
sudo docker-compose run --rm openvpn rm /etc/openvpn/otp/${CLIENT_NAME}.google_authenticator
rm -r ./user_infos/$CLIENT_NAME
else
echo "Input a user name."
fi配置
服务端
找到openvpn.conf文件,按照如下修改
server 192.168.255.0 255.255.255.0
verb 3
key /etc/openvpn/pki/private/xxxxxx.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/xxxxxx.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
proto udp
# Rely on Docker to do port mapping, internally always 1194
port 29999
dev tun0
status /tmp/openvpn-status.log
user nobody
group nogroup
cipher AES-256-CBC
comp-lzo no
### Route Configurations Below
route 192.168.254.0 255.255.255.0
# push路由到客户端,使得只重定向以下子网的流量
push "route 192.168.111.0 255.255.255.0"
push "route 192.168.110.0 255.255.255.0"
# 注释掉dns相关配置,使得客户端可以实用本地的dns解析,而不是非要走代理
### Push Configurations Below
# push "block-outside-dns"
# push "dhcp-option DNS 114.114.114.114"
# push "dhcp-option DNS 8.8.8.8"
push "comp-lzo no"
# Enable OTP+PAM for user authentication
plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
reneg-sec 0客户端
默认OpenVPN的配置文件是全局流量都走VPN的,这导致OpenVPN服务器会很卡,通常需要修改配置文件,是的特定的路由走VPN。
OpenVPN Windows客户端的配置文件在%APPDATA%\OpenVPN Connect\profiles中,打开并修改:
# 注释掉这行,这行的意思是所有流量都走vpn
# redirect-gateway def1
# DEPRECATED: 从服务端部分已经配置过push配置了,以下配置不需要了(新版openvpn客户端不支持了)
# 添加这行,用于避免从server拉取配置,
# route-nopull
# 随后添加路由,指定特定网段的流量走VPN
# route <目标IP> <子网掩码>
# 举个例子,一下写法表示网段192.168.111.0/24的流量都走VPN
# route 192.168.111.0 255.255.255.0Windows下,没有开启VPN的情况下,路由状况查询:
# 首先查看网络接口情况
ipconfig
Windows IP 配置
未知适配器 本地连接:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::779d:c298:bfdd:6529%10
IPv4 地址 . . . . . . . . . . . . : 2.0.0.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
未知适配器 本地连接 2:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 vEthernet (Default Switch):
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::1544:dc78:ee99:7278%24
IPv4 地址 . . . . . . . . . . . . : 172.22.112.1
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :
以太网适配器 vEthernet (WslBridge):
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::a3a2:450d:c89e:dabe%4
自动配置 IPv4 地址 . . . . . . . : 169.254.140.62
子网掩码 . . . . . . . . . . . . : 255.255.0.0
默认网关. . . . . . . . . . . . . :
未知适配器 OpenVPN Connect DCO Adapter:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::6dea:7db:df37:dc41%16
IPv4 地址 . . . . . . . . . . . . : 192.168.0.52
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1
以太网适配器 蓝牙网络连接:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
# `Windows`下使用`route print`可以查看当前的路由表:
===========================================================================
接口列表
10...00 ff 64 9d 12 2d ......Sangfor aTrust VNIC
18...00 ff b2 3c e1 34 ......TAP-Windows Adapter V9 for OpenVPN Connect
24...00 15 5d 2a 44 01 ......Hyper-V Virtual Ethernet Adapter
4...00 15 5d 00 34 00 ......Hyper-V Virtual Ethernet Adapter #3
6...........................OpenVPN Data Channel Offload
16...d8 5e d3 21 53 b0 ......Intel(R) Ethernet Connection (12) I219-V
17...f4 4e fc e1 83 49 ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.52 291
2.0.0.0 255.255.255.0 在链路上 2.0.0.1 257
2.0.0.1 255.255.255.255 在链路上 2.0.0.1 257
2.0.0.255 255.255.255.255 在链路上 2.0.0.1 257
127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331
127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
169.254.0.0 255.255.0.0 在链路上 169.254.140.62 271
169.254.140.62 255.255.255.255 在链路上 169.254.140.62 271
169.254.255.255 255.255.255.255 在链路上 169.254.140.62 271
172.22.112.0 255.255.240.0 在链路上 172.22.112.1 271
172.22.112.1 255.255.255.255 在链路上 172.22.112.1 271
172.22.127.255 255.255.255.255 在链路上 172.22.112.1 271
192.168.0.0 255.255.255.0 在链路上 192.168.0.52 291
192.168.0.52 255.255.255.255 在链路上 192.168.0.52 291
192.168.0.255 255.255.255.255 在链路上 192.168.0.52 291
224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331
224.0.0.0 240.0.0.0 在链路上 192.168.0.52 291
224.0.0.0 240.0.0.0 在链路上 169.254.140.62 271
224.0.0.0 240.0.0.0 在链路上 172.22.112.1 271
255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
255.255.255.255 255.255.255.255 在链路上 192.168.0.52 291
255.255.255.255 255.255.255.255 在链路上 169.254.140.62 271
255.255.255.255 255.255.255.255 在链路上 172.22.112.1 271
===========================================================================
永久路由:
网络地址 网络掩码 网关地址 跃点数
0.0.0.0 0.0.0.0 192.168.0.1 默认
===========================================================================
IPv6 路由表
===========================================================================
活动路由:
接口跃点数网络目标 网关
1 331 ::1/128 在链路上
10 281 fe80::/64 在链路上
16 291 fe80::/64 在链路上
4 271 fe80::/64 在链路上
24 271 fe80::/64 在链路上
24 271 fe80::1544:dc78:ee99:7278/128
在链路上
16 291 fe80::6dea:7db:df37:dc41/128
在链路上
10 281 fe80::779d:c298:bfdd:6529/128
在链路上
4 271 fe80::a3a2:450d:c89e:dabe/128
在链路上
1 331 ff00::/8 在链路上
10 281 ff00::/8 在链路上
16 291 ff00::/8 在链路上
4 271 ff00::/8 在链路上
24 271 ff00::/8 在链路上
===========================================================================
永久路由:
无打开VPN之后(没有修改redirect-gateway情况下):
Windows IP 配置
未知适配器 本地连接:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::779d:c298:bfdd:6529%10
IPv4 地址 . . . . . . . . . . . . : 2.0.0.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
未知适配器 本地连接 2:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::6c02:a4c5:db79:b989%18
IPv4 地址 . . . . . . . . . . . . : 192.168.255.6
子网掩码 . . . . . . . . . . . . : 255.255.255.252
默认网关. . . . . . . . . . . . . :
以太网适配器 vEthernet (Default Switch):
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::32fc:ac63:bc01:fba5%24
IPv4 地址 . . . . . . . . . . . . : 172.22.112.1
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :
以太网适配器 vEthernet (WslBridge):
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::a3a2:450d:c89e:dabe%4
自动配置 IPv4 地址 . . . . . . . : 169.254.140.62
子网掩码 . . . . . . . . . . . . : 255.255.0.0
默认网关. . . . . . . . . . . . . :
未知适配器 OpenVPN Connect DCO Adapter:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::6dea:7db:df37:dc41%16
IPv4 地址 . . . . . . . . . . . . : 192.168.0.52
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1
以太网适配器 蓝牙网络连接:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
===========================================================================
接口列表
10...00 ff 64 9d 12 2d ......Sangfor aTrust VNIC
18...00 ff b2 3c e1 34 ......TAP-Windows Adapter V9 for OpenVPN Connect
24...00 15 5d 16 a5 35 ......Hyper-V Virtual Ethernet Adapter
4...00 15 5d 00 34 00 ......Hyper-V Virtual Ethernet Adapter #3
6...........................OpenVPN Data Channel Offload
16...d8 5e d3 21 53 b0 ......Intel(R) Ethernet Connection (12) I219-V
17...f4 4e fc e1 83 49 ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.52 291
0.0.0.0 128.0.0.0 192.168.255.5 192.168.255.6 257
2.0.0.0 255.255.255.0 在链路上 2.0.0.1 257
2.0.0.1 255.255.255.255 在链路上 2.0.0.1 257
2.0.0.255 255.255.255.255 在链路上 2.0.0.1 257
127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331
127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
128.0.0.0 128.0.0.0 192.168.255.5 192.168.255.6 257
169.254.0.0 255.255.0.0 在链路上 169.254.140.62 271
169.254.140.62 255.255.255.255 在链路上 169.254.140.62 271
169.254.255.255 255.255.255.255 在链路上 169.254.140.62 271
172.22.112.0 255.255.240.0 在链路上 172.22.112.1 271
172.22.112.1 255.255.255.255 在链路上 172.22.112.1 271
172.22.127.255 255.255.255.255 在链路上 172.22.112.1 271
183.128.234.53 255.255.255.255 192.168.0.1 192.168.0.52 291
192.168.0.0 255.255.255.0 在链路上 192.168.0.52 291
192.168.0.52 255.255.255.255 在链路上 192.168.0.52 291
192.168.0.255 255.255.255.255 在链路上 192.168.0.52 291
192.168.255.1 255.255.255.255 192.168.255.5 192.168.255.6 257
192.168.255.4 255.255.255.252 在链路上 192.168.255.6 257
192.168.255.6 255.255.255.255 在链路上 192.168.255.6 257
192.168.255.7 255.255.255.255 在链路上 192.168.255.6 257
224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331
224.0.0.0 240.0.0.0 在链路上 192.168.255.6 257
224.0.0.0 240.0.0.0 在链路上 192.168.0.52 291
224.0.0.0 240.0.0.0 在链路上 169.254.140.62 271
224.0.0.0 240.0.0.0 在链路上 172.22.112.1 271
255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
255.255.255.255 255.255.255.255 在链路上 192.168.255.6 257
255.255.255.255 255.255.255.255 在链路上 192.168.0.52 291
255.255.255.255 255.255.255.255 在链路上 169.254.140.62 271
255.255.255.255 255.255.255.255 在链路上 172.22.112.1 271
===========================================================================
永久路由:
网络地址 网络掩码 网关地址 跃点数
0.0.0.0 0.0.0.0 192.168.0.1 默认
===========================================================================
IPv6 路由表
===========================================================================
活动路由:
接口跃点数网络目标 网关
1 331 ::1/128 在链路上
10 281 fe80::/64 在链路上
18 281 fe80::/64 在链路上
16 291 fe80::/64 在链路上
4 271 fe80::/64 在链路上
24 271 fe80::/64 在链路上
24 271 fe80::32fc:ac63:bc01:fba5/128
在链路上
18 281 fe80::6c02:a4c5:db79:b989/128
在链路上
16 291 fe80::6dea:7db:df37:dc41/128
在链路上
10 281 fe80::779d:c298:bfdd:6529/128
在链路上
4 271 fe80::a3a2:450d:c89e:dabe/128
在链路上
1 331 ff00::/8 在链路上
10 281 ff00::/8 在链路上
18 281 ff00::/8 在链路上
16 291 ff00::/8 在链路上
4 271 ff00::/8 在链路上
24 271 ff00::/8 在链路上
===========================================================================
永久路由:
无当OpenVPN配置route之后:
===========================================================================
接口列表
10...00 ff 64 9d 12 2d ......Sangfor aTrust VNIC
18...00 ff b2 3c e1 34 ......TAP-Windows Adapter V9 for OpenVPN Connect
24...00 15 5d 2a 44 01 ......Hyper-V Virtual Ethernet Adapter
4...00 15 5d 00 34 00 ......Hyper-V Virtual Ethernet Adapter #3
6...........................OpenVPN Data Channel Offload
16...d8 5e d3 21 53 b0 ......Intel(R) Ethernet Connection (12) I219-V
17...f4 4e fc e1 83 49 ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.52 291
2.0.0.0 255.255.255.0 在链路上 2.0.0.1 257
2.0.0.1 255.255.255.255 在链路上 2.0.0.1 257
2.0.0.255 255.255.255.255 在链路上 2.0.0.1 257
127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331
127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
169.254.0.0 255.255.0.0 在链路上 169.254.140.62 271
169.254.140.62 255.255.255.255 在链路上 169.254.140.62 271
169.254.255.255 255.255.255.255 在链路上 169.254.140.62 271
172.22.112.0 255.255.240.0 在链路上 172.22.112.1 271
172.22.112.1 255.255.255.255 在链路上 172.22.112.1 271
172.22.127.255 255.255.255.255 在链路上 172.22.112.1 271
183.128.234.53 255.255.255.255 192.168.0.1 192.168.0.52 291
192.168.0.0 255.255.255.0 在链路上 192.168.0.52 291
192.168.0.52 255.255.255.255 在链路上 192.168.0.52 291
192.168.0.255 255.255.255.255 在链路上 192.168.0.52 291
192.168.111.0 255.255.255.0 192.168.255.5 192.168.255.6 257
192.168.255.1 255.255.255.255 192.168.255.5 192.168.255.6 257
192.168.255.4 255.255.255.252 在链路上 192.168.255.6 257
192.168.255.6 255.255.255.255 在链路上 192.168.255.6 257
192.168.255.7 255.255.255.255 在链路上 192.168.255.6 257
224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331
224.0.0.0 240.0.0.0 在链路上 192.168.255.6 257
224.0.0.0 240.0.0.0 在链路上 192.168.0.52 291
224.0.0.0 240.0.0.0 在链路上 169.254.140.62 271
224.0.0.0 240.0.0.0 在链路上 172.22.112.1 271
255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
255.255.255.255 255.255.255.255 在链路上 192.168.255.6 257
255.255.255.255 255.255.255.255 在链路上 192.168.0.52 291
255.255.255.255 255.255.255.255 在链路上 169.254.140.62 271
255.255.255.255 255.255.255.255 在链路上 172.22.112.1 271
===========================================================================
永久路由:
网络地址 网络掩码 网关地址 跃点数
0.0.0.0 0.0.0.0 192.168.0.1 默认
===========================================================================
IPv6 路由表
===========================================================================
活动路由:
接口跃点数网络目标 网关
1 331 ::1/128 在链路上
10 281 fe80::/64 在链路上
18 281 fe80::/64 在链路上
16 291 fe80::/64 在链路上
4 271 fe80::/64 在链路上
24 271 fe80::/64 在链路上
24 271 fe80::1544:dc78:ee99:7278/128
在链路上
18 281 fe80::6c02:a4c5:db79:b989/128
在链路上
16 291 fe80::6dea:7db:df37:dc41/128
在链路上
10 281 fe80::779d:c298:bfdd:6529/128
在链路上
4 271 fe80::a3a2:450d:c89e:dabe/128
在链路上
1 331 ff00::/8 在链路上
10 281 ff00::/8 在链路上
18 281 ff00::/8 在链路上
16 291 ff00::/8 在链路上
4 271 ff00::/8 在链路上
24 271 ff00::/8 在链路上
===========================================================================
永久路由:
无路由表信息解释:
- 跃点数:通常用于表示路由的成本,即从当前网络设备到目标网络的跳数,一般来说,跃点数越少,表示到达目标的路径越短,越优先。
- 网管字段中在链路上:表示目标流量可以直接在链路上传递,不需要外部网关。
- 默认路由
0.0.0.0:当目标地址不在任何其他路由条目中的时候,流量将通过该默认路由走。 - 如何看出所有流量都走了VPN:看默认路由的配置,开启VPN之后多了一条
0.0.0.0 128.0.0.0 192.168.255.5 192.168.255.6 257,并且这个默认路由的跃点数要低于前面的默认路由,所以优先级高。这条路由表示,默认流量通过192.168.255.6接口,流量192.168.255.5网关。 - 当改了VPN的路由条件之后:没有多出默认路由,只是多了一条
192.168.111.0 255.255.255.0 192.168.255.5 192.168.255.6 257也就是我指定的路由条件。
连接
- GUI:所有平台都有GUI。
- linux命令行:
# 安装
sudo apt install openvpn
# 拷贝配置文件到~/.ovpn/xxxxxx.ovpn
# 连接
openvpn --config ~/.ovpn/xxxxx.ovpnWireguard
Tailscale
一个基于WireGuard协议的异地组网方案。
架构
Tailscale 的默认架构包括以下组件:
- 协调服务器(Coordination Server):用于设备注册、身份验证和节点发现。
- DERP 服务器:用于在中继模式下帮助设备建立连接(尤其是在 NAT 穿透失败时)。 默认情况下,这些服务由 Tailscale 官方提供,但你可以替换为自己的实现。
- tailscale工作原理:Tailscale: How it works