A-A+
	JUNOS下虚拟路由器的GRE的例子和用法
因为IP-VPN专线之间的BGP要通过服务商,使用起来不方便,遂想通过GRE隧道封装。
我这边使用的是juniper srx240,对端用思科路由器。
GRE协议本来是思科搞出来的,juniper的junos也不知道行不行,搜索了一下,有简短的例子,但是没有虚拟路由器的用法,研究了一下。
首先建立一个gre的虚拟接口,这个接口默认是不出现,GUI也搞不出来,用命令行,或者编辑配置。
- interfaces {
 - gr-0/0/0 {
 - unit 0 {
 - tunnel {
 - source 192.168.8.1;
 - destination 192.168.8.2;
 - routing-instance {
 - destination VRRIP;
 - }
 - }
 - family inet;
 - }
 - unit 1 {
 - tunnel {
 - source 192.168.2.2;
 - destination 192.168.2.1;
 - routing-instance {
 - destination VRBGP;
 - }
 - }
 - family inet;
 - }
 - }
 - }
 
说明一下:
- routing-instance {
 - destination VRRIP;
 - }
 
这个最开始是无法加的,因为虚拟路由VRRIP和VRBGP还没有建立,然后建立虚拟路由器,
- routing-instances {
 - VRBGP {
 - instance-type virtual-router;
 - interface gr-0/0/0.1; //把做好的接口加入
 - interface ge-0/0/11.0; //这个物理接口接思科路由器
 - interface lo0.0; //为测试,建立环回接口
 - routing-options {
 - static {
 - route 2.2.2.2/32 next-hop gr-0/0/0.1;//做路由,这个路由和主的互不影响
 - }
 - }
 - }
 - }
 
虚拟路由器做好之后,把interface gr-0/0/0.1归属到routing-instance VRBGP
- routing-instance {
 - destination VRRIP;
 - }
 
配置物理接口
- ge-0/0/11 {
 - unit 0 {
 - family inet {
 - address 192.168.2.2/24;
 - }
 - }
 - }
 
为了分离和主路由的流量,做VRBGP的安全ZONE BGP
- security {
 - zones {
 - security-zone BGP {
 - host-inbound-traffic {
 - system-services {
 - all;
 - }
 - protocols {
 - all;
 - }
 - }
 - interfaces {
 - lo0.0;
 - gr-0/0/0.1; //把接口都划入该zone,
 - ge-0/0/11.0;//注意的是接口划入zone和划入虚拟路由器同步进行,不然报错
 - }
 - }
 - }
 
许可安全策略
- security {
 - policies {
 - from-zone BGP to-zone BGP {
 - policy bgp {
 - match {
 - source-address any-ipv4;
 - destination-address any-ipv4;
 - application any;
 - }
 - then {
 - permit;
 - }
 - }
 - }
 - }
 - }
 
下面是思科路由器的配置,
- interface Loopback0
 - ip address 2.2.2.2 255.255.255.255
 - !
 - interface Tunnel0
 - ip address 3.3.3.3 255.255.255.0
 - tunnel source FastEthernet0/0
 - tunnel destination 192.168.2.2
 - !
 - interface FastEthernet0/0
 - ip address 192.168.2.1 255.255.255.0
 - duplex auto
 - speed auto
 - !
 - no ip http server
 - !
 - ip route 1.1.1.1 255.255.255.255 Tunnel0
 
有一点要说明一下,就是Tunnel0配置了IP地址,因为srx设备的gre隧道是没有IP的,原来就打算不配IP地址,没成想,不配IP地址就不通,无论配什么都IP可以,只要有IP地址就行,当然在实用的时候,这个IP地址不能冲突。
另外就是要注意MTU的问题,调整好大小。
一般以太网ping的载荷在1472
gre之后的ping载荷为1448,这是在中继路程上都是最小以MTU1500为转送值,因为gre不加密,有效载荷就是这么多。
IP头20,GRE头4,内嵌IP头20,1500-20-4-20=1456,icmp头8,1456-8=1448