从香港机房引入google/bitbucket路由

环境是3台Juniper路由器,两台在香港hkg1-wan[1-2],一台在北京pek1-mx104-1。

topology:

|pek1-mx104-1  AS38361|---------  |AS 6623 hkg1-wan1 -------------hkg1-wan2 | ---------------| AS 10026 Pacnet router|

思路:

香港那边的公网出口,它在另外一个公网AS number,肯定是全部的公网路由全学过来了,真正的Internet,  那既然已经学过来了,我们要做的就是明确的去标记这些在大陆被禁的路由,然后export给北京的router, 那么在匹配流量定义行为的时候,就是匹配住被禁止的,然后定义一个打标签的行为,这个打标签将通过community:community-value的方式实现,当你的另一个跟大陆AS相连的router向大陆export的时候,使用community列表标记出这些路由,然后特定的向大陆做export。

关于community-value的应用可以参考这个链接,来自Cisco
http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/28784-bgp-community.html , 讲的炒鸡棒有木有。

香港的hkg1-wan2 是香港的公网出口,它能学到完整的公网路由,因为它和Pacnet建立的是”全穿透”的BGP邻居,也就是真正的EBGP, 顺便吐槽国内运营商。

hkg1-wan2 上
as followings

[edit protocols bgp group pacnet]
[email protected]# show
type external;
import [ import_transit drop-cbs-routes tag-google-routes tag-bitbucket-routes default-accept ]; // 这个地方是个关键的点,学路由的时候,单独标出google和bitbucket家的路由
family inet {
    unicast;
}
export default-reject;
peer-as 10026;       //10026是太平洋电信的AS number
neighbor 202.147.17.121;    //建邻居的点

[edit protocols bgp group pacnet]
[email protected]#

当然这些 import后面跟的东西都是 policy-statement, policy-statement 调用“匹配流量”和“定义行为”,“匹配流量”就是 from xxx, “定义行为”就是 then xxx。

那么问题来了,用什么匹配流量呢?尝试去匹配住一个被GFW屏蔽的网站,有很多办法,比如网址、IP地址、但是网址和IP地址都存在各自的短板,网址需要涉及解析,IP地址有可能会换,那么,有一个已经简便的办法是“匹配他家的公网AS number”, 因为这个AS number是基本不会变动的。

第一步:获取到他的AS number, 这个简单,在香港的router上ping 一下他家的网址,DNS指向香港当地ISP提供给你的DNS, 找到公网地址之后,再去http://bgp.he.net/ 这类的网站去看他家的AS number.

[email protected]# run ping inet www.google.com
PING www.google.com (74.125.239.50): 56 data bytes
64 bytes from 74.125.239.50: icmp_seq=0 ttl=56 time=153.932 ms
^C
--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 153.932/153.932/153.932/0.000 ms

然后在router上进行抓取流量,using as-path list

as followings

在 edit policy-options下

as-path google-as-path ".* 15169 .*";
as-path bitbucket-as-path ".* 2914 .*”;

然后调用到policy-statement 下,也是在edit policy-options下

policy-statement tag-bitbucket-routes {
    from as-path bitbucket-as-path;
    then {
        community add CBSI_BITBUCKET;
    }                                   
}
policy-statement tag-google-routes {
    from as-path google-as-path;
    then {
        community add CBSI_GOOGLE;
    }
}

定义的行为就是打标,目的是在export给大陆的时候,明确的标示出这些流量,在edit policy-options下这么写

community CBSI_GOOGLE members 6623:6006;
community CBSI_BITBUCKET members 6623:6007;

然后把上面这些“tag”, 手动copy到和大陆AS相连的hkg1-wan1上。然后在export给大陆的时候用,as followings, 当然在export调用的时候,通常还是用policy-statement,所以再写两条policy-statement

hkg1-wan1上

在 edit policy-options 下
policy-statement export_bitbucket {
    from community CBSI_BITBUCKET;    //这个community 就是从
    then accept;
}
policy-statement export_google {
    from community CBSI_GOOGLE;
    then accept;
}

然后调用到对大陆的那个BGP group, as followings

[edit protocols bgp group cbsi-china]
[email protected]# show
type external;
description "CBSI Beijing";
import [ import_cbsi_china default-accept ];
family inet {
    unicast;
}
export [ export_local export_internal export_corp export_google export_bitbucket default-reject ];
peer-as 38361;
neighbor xxxxxx; // 博客园牛人太多,还是隐去公网IP的好

[edit protocols bgp group cbsi-china]
[email protected]#

这样北京的router在看Google和bitbucket的路由的时候,就可以看到明细的路由了,而不再像针对其他网站一样是走默认路由扔向联通出口,而是走移动专线通往香港机房。

在pek1-mx104-1上

[email protected]> ping inet www.google.com
PING www.google.com (216.58.221.132): 56 data bytes
64 bytes from 216.58.221.132: icmp_seq=0 ttl=56 time=60.459 ms
^C
--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 60.459/60.459/60.459/0.000 ms

[email protected]> show route 216.58.221.132

inet.0: 18985 destinations, 27621 routes (18985 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

216.58.221.0/24    *[BGP/170] 5w3d 11:02:35, localpref 100
                      AS path: 6623 10026 15169 I, validation-state: unverified  //
看这个地方,AS path会被更改为,先到6623的香港AS, 再到太平洋电信的10026,再到谷歌家的15169,最后的标示是origin code I 。
                    > to 216.239.126.244 via ge-0/1/0.0

[email protected]>

对比去往其他网站, 如163.com

[email protected]> ping www.163.com
PING 163.xdwscache.glb0.lxdns.com (111.202.60.47): 56 data bytes
^C
--- 163.xdwscache.glb0.lxdns.com ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss

[email protected]> show route 111.202.60.47

inet.0: 18900 destinations, 27536 routes (18900 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[BGP/170] 17w5d 09:33:12, MED 0, localpref 100, from 172.22.22.19
                      AS path: I, validation-state: unverified
                    > to xxxxxxxx   via xe-1/1/0.0   // 此处是联通的公网IP, 也隐去好了

去163.com就是从默认路由去联通。

然后就可以在北京开心的上google和bitbucket了。

时间: 2024-10-26 11:59:58

从香港机房引入google/bitbucket路由的相关文章

专业CDN帮助音频服务器在香港机房的优势专业香港服务器

专业CDN帮助音频服务器在香港机房的优势 专业香港服务器没有性价比更高的配置:香港服务器 双核 4G内存 独享国际带宽5M 399元 L5640 12核 8G内存 独享国际带宽5M 899元 E5 2670 16核 8G内存 独享国际带宽5M 1200元 1.操作系统 其实操作系统的开发是一个很困难的技术问题,列为核心技术绝不为过,但是正因为难度太大,仅仅为开发视频服务 器而开发DM642上的操作系统代价太大.因此我们建议有两种选择:(1)购买TI第三方的操作系统.现在已经有TI第三方可 以提供

阿里云香港机房故障(到现在还未解决)

早上10点被客户电话叫醒,到现在问题还未解决.联系了就说是香港网络运营商问题,会尽快修复,可连具体时间都无法提供,难道这这么等下去? 我们的客户都快爆发了,这次真害死人了. 平时看阿里挺牛B的才买了他们的云服务. 可是作为一个云服务商,遇到这种问题,竟然没有一点备用方案. 要这样的话我们使用阿里云服务还有什么保障. 有没有跟我们一样悲剧的朋友.T T. 官方公告 阿里云香港region访问异常故障 尊敬的用户,目前香港机房故障仍在处理中.对由此异常导致的服务中断,我们深表歉意.同时我们会尽快启动

思科 ospf不连续区域,引入外部静态路由,使全网互通

实验名称:思科ospf不连续区域,引入外部静态路由,使全网互通 实验拓扑图: 3.实验目的:1. vlan10,vlan20获取dhcp地址 2.使vlan10,vlan20,vlan30之间互通 3. 运行ospf协议,使不连续区域互通 4. 引入 外部路由,使全网互通,内网的任何一个pc可以访问 pc7 4.配置思路:首先配置内网,然后再配置外网,最后引入外部静态路由,使全网互通 5.实验配置与步骤: # 首先配置内网,使内网互通 # 临时给pc1和pc0配置ip地址 ip addres 

配置OSPF引入自治系统外部路由

配置OSPF引入自治系统外部路由 组网需求? ? 所有的交换机都运行 OSPF,整个自治系统划分为 3 个区域.? ? 其中 Switch A 和 Switch B 作为 ABR 来转发区域之间的路由.? ? 在 Switch C 上配置为 ASBR 引入外部路由(静态路由),且路由信息可正确的在 AS 内传播. 2.配置步骤(1)配置各接口的IP地址 SwitchA SwitchB SwitchC SwitchD (2)配置OSPF:如SwitchA (3)配置引入自治系统外部路由 3.验证设

H3C OSPF引入自治系统外部路由

1.13.2 配置OSPF引入自治系统外部路由 组网需求? ? 所有的交换机都运行 OSPF,整个自治系统划分为 3 个区域.? ? 其中 Switch A 和 Switch B 作为 ABR 来转发区域之间的路由.? ? 在 Switch C 上配置为 ASBR 引入外部路由(静态路由),且路由信息可正确的在 AS 内传播. 配置步骤(1) 配置各接口的 IP 地址(略)(2) 配置OSPF(同前例 1.13.1 )(3) 配置引入自治系统外部路由 在 Switch C 上配置一条到目的网段

如何选择香港机房来托管香港服务器、香港VPS香港母机、香港主机??

中国电信香港数据中心,最好的香港VPS香港母机!测试IP:118.193.144.4 香港VPS母机配置: 配置一:L5630*2, 64G Ram, 4x1TB(Raid10)+10M 带宽+64个IP 优势:8核心.16线程.最高2.4G主频CPU,ECC内存,全新企业级硬盘 配置二:L5630*2, 64G Ram, 4x2TB(Raid10)+10M 带宽+64个IP 优势:8核心.16线程.最高2.4G主频CPU,ECC内存,全新企业级硬盘 配置三:L5639*2 96G Ram, 4

将kaggle数据引入google colab

!pip install kaggle !mkdir -p ~/.kaggle #建立kaggle 文件夹 from google.colab import files files.upload()!cp kaggle.json ~/.kaggle/ cd + 所移动到文件夹 !kaggle + 数据集(有API接口) 原文地址:https://www.cnblogs.com/incep-sun/p/11025158.html

Community Value再理解

其实之前写“从香港机房引入google/bitbucket路由”的时候,对community value的了解还并不深入,对Juniper default BGP export/import policy的理解也不是很深入.我需要再整理一下对它们的理解. 这里有一个很好的case, http://www.juniper.net/documentation/en_US/junos15.1/topics/example/bgp-communities.html 这里写了community value

NSSA区域处于边界引入默认路由该怎么处理呢?

如下图的拓扑所示,内部网络的路由连接internet上,边界的路由器的内部网口属于ospf的NSSA区域,路由器上配置相应的默认路由指向internet的下一跳.内部网络中跑着不同协议的路由信息,保证内部的OSPF区域当中还需要引入其他类型的路由信息:并且要保证内部网络能够正常访问internet(在边界的路由器上做NAT暂时忽略,保证网络的连通性 ) 怎么保证内部的网络能够正常访问internet呢? 具体的配置信息如下: R5的路由配置信息: router ospf 1 log-adjace