# ASN Application | Use your own IP to access the Internet

> A comprehensive guide to applying for an ASN (AS206729) through RIPE, setting up BGP sessions with VPS providers like BuyVM using Bird, and configuring XrayR for custom IP routing to unlock regional services like Netflix Taiwan.

Author: Vincent Yang
Published: 2022-04-04
Tags: ASN, BGP, Bird, Linux, BuyVM
Source: https://missuo.me/posts/as206729

---

## ASN 是什么

> 自治系统(Autonomous System)，用通俗的语言来形容，就是一个互联网的独立王国，这一个个独立王国互联起来，就组成了互联网(Internet)。

> 每个王国有自己独立的国号，以区别于别的王国，这个国号用自治系统号 ASN(Autonomous System Number)，ASN 由两个字节组成，理论上取值范围为 1-65535，末尾的 1024 个 ASN 是私有自治号，用于王国内部的下属郡国使用，不能外泄（类似私有 IP，如果不小心外泄，别人也会忽略)

> 每一个互联网用户都置身于 AS 内，比如中国电信的 AS 号为 4809，那么中国电信的用户就置身于 4809 的独立王国，如果用户访问的服务器也是在这个 AS 内，那双向的流量都在王国里来回溜达。

> 但如果服务器 IP 位于中国移动 AS 内，如何跨运营商访问呢？

> > 运营商之间会使用 BGP(Border Gateway Protocol)路由协议来交换各自的 lP 路由表，AS 号就是 BGP 协议用来辨识邻国的一个身份证，同时在交换的路由表信息里，会附上各自的 AS 号。

> > 既然中国电信通过 BGP 学习到中国移动的路由信息，就会把用户的访问请求转发给中国移动的边界路由器，既然 IP 包进入中国移动的地界，接下来就任由中国移动的设备来处理了，假设顺利到达服务器，回程检查客户 IP，发现是电信的 IP，就会转发到电信的边界路由器，并到达用户。

## 我的 ASN 信息——AS206729

![20220402OuAhUS](https://i.uid.si/img/20220402OuAhUS.jpg)

### **AS206729 Prefixes v6**

`2401:95c0:f001::/48`

### **AS206729 Peers v6**

| Rank | Description        | IPv6                     | Peer    |
| ---- | ------------------ | ------------------------ | ------- |
| 1    | FranTech Solutions | 2401: 95c0: f001:: 1/128 | AS53667 |

### 更多详情，前往 [BGP.TOOLS](https://bgp.tools/as/206729) 查看。

## 如何申请 ASN

一般情况下，需要寻找 `APNIC` 或者 `RIPE` 的会员来作为你的 `LIR`。当然你也可以自己加入 `APNIC` 或者 `RIPE`，需要每年缴纳费用。

我找的是台湾的一个朋友 `Hostinginside LTD(AS9678)`，他作为我的 `LIR`，申请的是 `RIPE`。提供信息到签合同到补全信息，最后下号，花了不到一周的时间。`APNIC` 可能没那么快。

### RIPE 准备的材料

- 注册 `RIPE` 账号，新建一些 `Database` 的信息。
- 你的护照照片
- 你在欧洲拥有网络服务的证明（购买的订单截图、机房地址和管理员邮箱）
- ISP 愿意给你接入 BGP 的证明
- 两个需要接入的 ASN

## ASN 下号

![20220402qbALxU](https://i.uid.si/img/20220402qbALxU.jpg)

## 接入 BGP Session（以 BuyVM 为例，Vultr 类似）

- 发 `Ticket` 告诉客服你的 ASN 号，客服一般会向该 ASN 的管理员邮箱发送一串随机字符串，需要在工单中回复，验证你是 ASN 的持有人。稍后，客服会在面板里面加入你的 ASN 和你的 IP 段。

![20220402T4JgCU](https://i.uid.si/img/20220402T4JgCU.png)

- 在你的 VPS 上安装 `bird`。用于宣告你的 IP。
- 修改 /etc/bird/bird6.conf 的配置文件
- 修改配置中的 router id 改为自己的 IPv4 地址

```
router id 205.121.23.12;
```

- 在文件的最后添加上

```
protocol bgp vultr
{
  local as 你的 asn(开头不带 as);
  source address 实例的 ipv6;
  import none;
  export all;
  graceful restart on;
  multihop 2;
  neighbor 2001: 19f0: ffff:: 1 as 64515; #这个是服务器的 ip
  password "在申请广播的时候设置的 bgp 密码";
}
```

- 寻找到 protocol static（没有的话自己加一个）

```
protocol static
{
  route  [v6 前缀] via [实例的 IPv6];
  #route  2001: 2333: 2333::/48 via 4096: 4096: 4096: 338: 5400: 01ff: fecf: 596c;
}
```

- 找到 protocol direct

```
protocol direct
{
  interface " dummy*";
  import all;
}
```

- 配置虚拟网卡以及 ip 地址

```
ip link add dev dummy1 type dummy # 添加虚拟网卡
ip link set dummy1 up
ip addr add dev dummy1 [前缀内的任意一个地址] # 添加地址
```

- 启动 bird6

```
service bird6 restart
```

- 查看状态

```
birdc6 show route
birdc6 show proto all
```

- 如果想要开机自启 在 `/etc/netplan` 新增 `01.dummy.yaml`

```
network:
  version: 2
  renderer: networkd
  bridges:
    dummy0:
      dhcp4: no
      dhcp6: no
      accept-ra: no
      interfaces: [ ]
      addresses:
        - 2401: 95c0: f001:: 1/128 #你的 IP
```

## 配置 XrayR 的出站路由

```
{
    "domainStrategy": "IPOnDemand",
    "rules": [
        {
            "type": "field",
            "outboundTag": "block",
            "ip": [
                "geoip: private"
            ]
        },
        {
            "type": "field",
            "outboundTag": "block",
            "protocol": [
                "bittorrent"
            ]
        },
		# 指定域名走我自己的 IP
        {
            "type": "field",
            "outboundTag": "bgp_session",
            "domain": ["ipv6.ip.sb"]
        },
		# Netflix 和 YouTube 走我自己的 IP
        {
            "type": "field",
            "outboundTag": "bgp_session",
            "domain": [
                "geosite: netflix",
                "geosite: youtube"
            ]
        }
    ]
}
```

## 上网测试

### IP.SB

![20220402WVLK3S](https://i.uid.si/img/20220402WVLK3S.png)

### Netflix（解锁台湾 NF 所有片源）

![20220402MRa9zP](https://i.uid.si/img/20220402MRa9zP.png)

### YouTube（支持 Premium TW）

![20220402oAFKci](https://i.uid.si/img/20220402oAFKci.png)

## 参考文章

- [年轻人的第一个私人 BGP(二) - 广播你的 IP](https://hex.moe/p/d6a20b99/)
- [IP 广播：使用 bird 广播(组播)ipv6](https://blog.ni-co.moe/public/560.html)