相信很多公司都会有多地办公场景,而且多个地区需要能够相互访问,这个最经济的就是使用VPN,当然不缺钱的公司也可以使用专线。在此利用OpenVPN搭建SiteToSite实现多地互访
北京VPN服务器搭建:
1.依赖包的安装,停止firewalld服务,并安装iptables
systemctl stop firewalld.service
systemctl disable firewalld.service
yum -y install iptables-services iptables iptables-utils lzo-devel pam-devel openssl-devel
2.证书的生成
3.安装
参考:http://fengwan.blog.51cto.com/508652/1404435
OpenVPN的配置文件如下:
port 1194
proto udp
dev tun
ca /usr/local/openvpn/conf/keys/ca.crt
cert /usr/local/openvpn/conf/keys/server.crt
key /usr/local/openvpn/conf/keys/server.key
dh /usr/local/openvpn/conf/keys/dh2048.pem
ifconfig-pool-persist /usr/local/openvpn/logs/ipp.txt
#定义VPN IP
server 10.8.0.0 255.255.255.0
#推送服务器端的路由信息到客户端
push "route 192.168.1.0 255.255.255.0"
#定义VPN用户配置目录
client-config-dir /usr/local/openvpn/conf/ccd
#以下IP段为客户端网段,即我这里的上海办公室网段
route 172.16.1.0 255.255.255.0
#推送DNS,也可以注释不推送DNS
push "dhcp-option DNS 114.114.114.114"
#允许客户端连接到客户端
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /tmp/openvpn-status.log
log-append /tmp/openvpn.log
verb 3
我这里为上海连接VPN的名字是client
因此在/usr/local/openvpn/conf/ccd目录下
echo ‘iroute 172.16.1.0 255.255.255.0‘>/usr/local/openvpn/conf/ccd/client
注意:此处iroute 172.16.1.0 255.255.255.0为在客户端加载去删除172.16.1.0的路由
VPN服务器开启ip转发
echo ‘net.ipv4.ip_forward = 1‘>>/etc/sysctl.d/99-sysctl.conf sysctl -p iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 192.168.1.0/24 -j MASQUERADE
VPN客户端也要开启ip转发
echo ‘net.ipv4.ip_forward = 1‘>>/etc/sysctl.d/99-sysctl.conf sysctl -p iptables -t nat -A POSTROUTING -o tun0 -s 172.16.1.0/24 -d 192.168.1.0/24 -j MASQUERADE
接下来要配置静态路由:
方法1:在防火墙或者三层交换进行配置
方法2:在每台机器上手动增加静态路由
在北京办公室机器上执行:
#Windows添加静态路由 route add 192.168.1.0 mask 255.255.255.0 172.16.1.2 #Linux添加静态路由 route add -net 192.168.1.0/24 gw 172.16.1.2
在上海办公室机器执行:
#Windows添加静态路由 route add 172.16.1.0 mask 255.255.255.0 192.168.1.2 #Linux添加静态路由 route add -net 172.16.1.0/24 gw 192.168.1.2