如何设置路由器让OpenVPN实现两个局域网互连
如何通过普通的路由器,实现两个子网的互通?
网络现状如下:
1. 一端有固定的IP,另一端是ADSL拨号上网,没有固定IP
2. 路由器不带有VPN功能,或者说不利用路由器的VPN功能。
网络状况 |
使用工具:
大名鼎鼎的 << OpenVPN >>
在两端的局域网,分别有两个服务器,用于安装OpenVPN。
左侧:10.0.0.10
右侧: 192.168.111.205
路由器配置:
首先,我们需要在路由做一些设置,通常路由器都支持静态路由表的功能,设置如下:
左侧:
右侧:
先不用管 192.168.110.0/24 这个网段,这是预留给PPTP拨号用户的IP段。
通过设置路由器的静态路由表,让左侧子网用户访问192.168.111.0/24这个网段的时候,IP包Forward到安装了OpenVPN的10.0.0.10这台服务器。
让右侧的用户访问10.0.0.0/8这个网段的时候,IP包Forward到192.168.111.205这台安装了OpenVPN的服务器。
好,基本的路由规则现在设置完成,剩下的就是OpenVPN的配置了。
不知道什么原因,ADSL的openvpn数据包会莫名奇妙的被干扰,过一段时间后就会被强制降速,这时候又需要autossh这个利器了。 (北京联通ADSL)
在左端client上建立1194端口的SSH隧道:
以下为最简单的openvpn配置方法:
STEP 1. 生成静态key
openvpn –genkey –secret static.key
将这个static.key 分别复制到两端的 /etc/openvpn/目录下
注意:可以选择openvpn不加密,而让ssh tunnel完成加密,如同本文下面描述,不过为了完整性,还是配置了 secret参数。读者要知道此参数实际并没有用处。
STEP 2. 配置文件
左端ADSL, openvpn client
dev tun
proto tcp-client
secret static.key
cipher none // 关闭加密
auth none // 关闭MAC
persist-key
persist-tun
ip route add to 192.168.110.0/24 via 172.8.8.1 dev tun0
右端cernet openvpn server
up “up.sh” // 这里up,down两个脚本,用来配置路由
down “down.sh” //
ip route add to 10.0.0.1/8 via 172.8.8.2 dev tun0
ip route delete to 10.0.0.1/8 via 172.8.8.2 dev tun0
up down脚本记得chmod +x
来源:http://bullshitlie.blogspot.com/2012/03/openvpn_22.html
======
iGFW博客获德国之声博客大赛“最佳中文博客公众奖”提名 欢迎网友为本博客投票:http://igfw.net/archives/8681