OpenVPN高级路由技术-全面的互通性配置

本文全面介绍OpenVPN的路由配置,不再阐述理论。为了简单且不引入其它问题,以下的配置不考虑NAT。

零.介绍和声明以及拓扑图

1.以下的配置不再给出任何配置文件或者配置选项,比如iroute配置等;以下路由配置可以不使用默认网关,使用默认网关只是为了方便。正确的做法是配置指向确切网络的路由,变长掩码非0
2.由于OpenVPN支持tun和tap两种模式,在Tun中,路由指的是下一跳节点或者是一个虚拟网卡,在tap中,路由指的是从OpenVPN虚拟交换机出去的虚拟端口,这二者是截然不同的,协议也没有工作在同一个层,因此OpenVPN内部路由使用multi_instance代表这两者,tun模式中,multi_instance代表三层路由目标,tap模式中,multi_instance代表二层路由目标,即端口。

拓扑图如下:



 

一.TUN模式

A.TUN模式无NAT互访

1.VPN客户端访问NET0/NET1

  1.1.默认网关指向VPN服务器的虚拟地址;

2.VPN客户端后面的网络访问NET0/NET1:

  2.1.解决VPN客户端后面网络和VPN客户端本身的可达性;
2.2.参见1。

3.VPN客户端1访问VPN客户端2:

  3.1.默认网关指向VPN服务器的虚拟IP地址

4.VPN客户端2后面的网络访问VPN客户端1后面的网络

  4.1.通过路由解决VPN客户端后面网络和VPN客户端本身的可达性
4.2.参见3

5.VPN服务器端访问VPN客户端

  5.1.直接访问。VPN服务器和VPN客户端之间有直连的点对点路由

6.VPN服务器端访问VPN客户端后面子网

  6.1.添加指向该子网的路由指向TUN网卡,确保系统路由可达性
6.2.配置针对该VPN客户端的iroute内部路由,路由指向欲访问的子网

7.VPN服务器端后面的子网访问VPN客户端后面的子网

  7.1.通过路由解决VPN服务器后面子网到VPN服务器本身的可达性
7.2.参见6

B.VPN服务器路由表

1.VPN服务器系统路由表:

  NET4->tun0
NET3->tun0
NET2->tun0

2.VPN服务器点对点直连路由表:

  VPN客户端1->tun0
VPN客户端2->tun0

3.VPN服务器内部路由表

  NET2->VPN客户端1的multi_instance
NET3->VPN客户端2的multi_instance
NET4->VPN客户端3的multi_instance

二.TAP模式

A.TAP模式无NAT互访

1.VPN客户端访问NET0/NET1

  1.1.默认网关指向VPN服务器的虚拟地址;

2.VPN客户端后面的网络访问NET0/NET1:

  2.1.解决VPN客户端后面网络和VPN客户端本身的可达性;
2.2.参见1。

3.VPN客户端1访问VPN客户端2:

  3.1.它们属于一个虚拟以太网,直接访问,通过链路层ARP解决IP可达性

4.VPN客户端2后面的网络访问VPN客户端1后面的网络

  4.1.通过路由解决VPN客户端后面网络和VPN客户端本身的可达性
4.2.VPN客户端2的默认网关指向VPN客户端1的虚拟IP地址

5.VPN服务器访问VPN客户端

  5.1.它们属于同一个以太网,链路层路由直接访问

6.VPN服务器端访问VPN客户端后面子网

  6.1.网关指向VPN客户端虚拟IP地址,类似以太网通过路由器访问外网,此时VPN客户端是路由器

7.VPN服务器端后面的子网访问VPN客户端后面的子网

  7.1.通过路由保证VPN服务器端后面网络到VPN服务器端的可达性
7.2.参见6

B.与任何子网没有Bridge时VPN服务器路由表

1.系统路由表:

  NET4->via VPN客户端2的虚拟IP
NET3->via VPN客户端2的虚拟IP
NET2->via VPN客户端1的虚拟IP

2.VPN服务器链路层直连路由表:

  VPN客户端1->tap0
VPN客户端2->tap0

3.VPN服务器内部路由表(交换机映射表)

  VPN客户端1的MAC地址<->VPN客户端1的multi_instance
VPN客户端2的MAC地址<->VPN客户端2的multi_instance

C.VPN客户端2与NET2 Bridge时VPN服务器路由表

1.系统路由表

  NET4->via VPN客户端2的虚拟IP
NET3->via VPN客户端2的虚拟IP

2.VPN服务器链路层直连路由表:

  VPN客户端1->tap0
VPN客户端2->tap0
NET2->tap0

3.VPN服务器内部路由表(交换机映射表)

  VPN客户端1的MAC地址<->VPN客户端1的multi_instance
VPN客户端2的MAC地址<->VPN客户端2的multi_instance
NET2中所有同链路层网段MAC地址<->VPN客户端1的multi_instance

标签: 无
返回文章列表 文章二维码
本页链接的二维码
打赏二维码