搭建自治系统(2)配置 BGP 和 VPN 进行实名上网
发表于更新于
北京
配置BGP Peer
首先需要将自己申请到的AS和IP地址绑定到自己的服务器上,并与其他AS建立BGP Peer。
绑定AS和IP
该操作取决于服务器类型,此处以Vultr为例。
1. 提交申请

按上图中示例,填写表单,包括 ASN 、BGP密码(避免弱口令,后面配置要用)、IP段,上传 LOA 文件,选择 Full Table,然后点击 Request BGP Setup按钮即可。
2. 验证WHOIS
Vultr之后会抓取WHOIS中预留的邮箱,并让你选择一个。之后他会发邮件过去让你进行确认,点击确认即可。之后便会有Vultr的工作人员为你配置,配置完成后你的VPS中会多出来一个选项卡BGP。
配置BGP
本文使用bird6来进行BGP的配置。
1. 下载
text1 2 3 4
| add-apt-repository ppa:cz.nic-labs/bird apt-get update apt-get install bird -y
|
2. 配置
text1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| # 修改/etc/bird/bird6.conf文件
router id x.x.x.x # 服务器的IPv4地址
protocol static { route 2001:xxxx:xxxx::/48 via 2002:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy; } # 2001:xxxx:xxxx::/48 为自己需要向外广播的IP段 # 2002:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy 为自己IPS的IPv6地址
protocol direct { interface "dummy*"; import all; }
define BOGON_ASNS = [ 0, # RFC 7607 23456, # RFC 4893 AS_TRANS 64496..64511, # RFC 5398 and documentation/example ASNs 64512..65534, # RFC 6996 Private ASNs 65535, # RFC 7300 Last 16 bit ASN 65536..65551, # RFC 5398 and documentation/example ASNs 65552..131071, # RFC IANA reserved ASNs 4200000000..4294967294, # RFC 6996 Private ASNs 4294967295 # RFC 7300 Last 32 bit ASN ];
filter sample_import int set reject_private_asn; { if bgp_path ~ BOGON_ASNS then reject; accept; }
protocol bgp vultr { local as 11111 # ASN; source address 2000::0 # 实例的ipv6; import filter sample_import; export all; graceful restart on; multihop 2; neighbor 2001:19f0:ffff::1 as 64515 # vultr提供的BGP服务器; password "paaswd" # 申请时填写的bgp密码; }
|
3. 重启bird6
text1 2 3 4
| service bird6 restart
birdc6 show proto all vultr # 如果 BGP state: Established 就配置成功了
|
配置 IP
text1 2 3 4
| ip link add dev dummy1 type dummy ip link set dummy1 up ip addr add dev dummy1 2001:xxxx:xxxx::1/128
|
配置OpenVPN
本教程基于 https://github.com/Nyr/openvpn-install 仓库编写。
1. 安装
text1 2 3
| wget <https://git.io/vpn> -O openvpn-install.sh && bash openvpn-install.sh # 后续按照默认参数即可
|
2. 配置
text1 2 3
| # 修改/etc/openvpn/sever/server.conf server-ipv6 2001:xxxx:xxxx:xxxx::/64 #补充一行,此处填写需要分配的IP段
|
3. 客户端配置
回到执行安装的目录下,会有一个client.ovpn文件,将其导入到手机的vpn客户端即可连接。连接后,应该已经获取到了服务器分配的IPv6地址,之后即可使用该地址上网。
4. 客户端管理
如果想对已生成的客户端进行管理,可直接执行安装时的脚本进行选择。