openvpn 搭建虚拟子网的总结

本来想利用家里的网络搭一个服务器,然后通过网络访问,也注册了自己的域名。但是电信的ip,老是变,也没有什么太好的办法。于是买了腾讯的云服务器,价格很实惠,而且有稳定的公网ip。

买的云服务器的配置很低,主要打算装一个nginx,做反向代理,然后通过 openvpn 建立虚拟网络,应用服务都部署在家里的主机上。

openvpn的安装部署,网上有非常多的资料,下面主要把自己碰到的问题,梳理以下。以前也使用过几次,都是够用就好,没有深入研究。

server.conf

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir ccd
route 10.8.0.0 255.255.255.0
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log         openvpn.log
verb 3
explicit-exit-notify 1

说明:
1 tun 主要用于基于 ip 的网络,在 ip 层建立隧道;tap 则是在以太网层建立隧道;
2 server 10.8.0.0 255.255.255.0 指定了虚拟局域网占用的 ip 段和子网掩码,server 自身占用 10.8.0.1。
3 ifconfig-pool-persist ipp.txt 能够保存分配给客户端的ip,下次连接时复用;
4 client-config-dir ccd: 给客户端指定特定的ip;
5 client-to-client: 如果希望客户端之间互联,就要打开该设置;否则客户端只能与服务器连接;

比如我的虚拟子网中,有4台设备,服务器和3个客户端,我给三个客户端分配: 10.8.0.2,10.8.0.3,10.8.0.4

就需要创建 ccd 目录,以及 client1, client2, client3 三个文件名(文件名称与build-key时的客户端名称一致),client1 的内容如下:

ifconfig-push 10.8.0.2 255.255.255.0

这样,当client1连接时,ip 就会被分配为 10.8.0.2;

client.conf

client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
user root
group root
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-CBC
verb 3

猜你喜欢

转载自blog.csdn.net/antony1776/article/details/77963086