使用OpenVPN连通多个局域网笔记

###应用场景
1、在任何地点通过个人PC访问公司局域网
2、多个局域网互通

###测试场景
A、公司局域网 192.168.1.0/24
B、公司局域网中的一台机器 192.168.1.222
C、个人PC一台
D、公网服务器一台

一、安装OpenVPN

这里采用openvpn-install.sh脚本进行快速安装配置

1wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

在公网服务器(D)上装好后再次执行该脚本,添加kian.ovpn和company.ovpn客户端配置文件

二、服务端关键配置

公网服务器(D)server.conf配置

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
31
32
33
34
35
36
37
port 1194
proto udp
#将默认dev tun配置改成tap类型
#dev tun
dev tap0
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
#使用桥接模式,并配置客户端连接分配IP的范围
#server 172.30.0.0 255.255.255.0
server-bridge 172.30.0.0 255.255.255.0 172.30.0.10 172.30.0.253
ifconfig-pool-persist ipp.txt
# 将公司的IP段全部转发到连接vpn的客户端指定分配IP 172.30.0.253上
push “route 192.168.1.0 255.255.255.0 172.30.0.253”
#push “redirect-gateway def1 bypass-dhcp”
#push “dhcp-option DNS 100.100.2.136”
#push “dhcp-option DNS 100.100.2.138”
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status /mnt/app/ovpn/logs/openvpn-status.log
verb 3
crl-verify crl.pem

#log output.log
#writepid ovpn.pid
client-to-client
daemon

ipp.txt配置

1
2
company 172.30.0.253
kian 172.30.0.200

三、客户端关键配置

个人PC(C)kian.ovpn

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
client
#dev tun
#将默认dev tun配置改成tap类型
dev tap
proto udp
sndbuf 0
rcvbuf 0
#连接vpn的公网IP和端口
remote 110.111.112.113 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
#默认配置,不注释会影响DNS解析,因为服务端未配置DNS配置推送
#setenv opt block-outside-dns
key-direction 1
verb 3

公司局域网客户端(D)company.ovpn

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
client
#dev tun
#将默认dev tun配置改成tap类型
dev tap
proto udp
sndbuf 0
rcvbuf 0
remote 112.74.39.165 1194
#禁用服务端路由配置
route-nopull
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
#默认配置,不注释会影响DNS解析,因为服务端未配置DNS配置推送
#setenv opt block-outside-dns
key-direction 1
verb 3

四、路由转发配置

公司局域网客户端(D)配置路由转发

1
2
3
4
# linux开启允许路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 网卡穿透
iptables -t nat -A POSTROUTING -s 172.30.0.0/24 -o eth0 -j SNAT –to 192.168.1.222

以上配置好,并把openvpn的服务端和客户端启动成功后,就可以通过个人PC机访问公司内网机器192.168.1.0/24,依次类推,我们可以添加更多的公司不同的局域网加入

Leave a comment

您的邮箱地址不会被公开。 必填项已用 * 标注