树莓派Raspberry Pi 3B组建FRR软路由广播IPV6

微信扫一扫,分享到朋友圈

树莓派Raspberry Pi 3B组建FRR软路由广播IPV6
2

最终效果

躺在床上的时候,看到桌面上有个不知道放了多久的树莓派,整天看着别人的软路由就很想搞一个,可是看看ROS那些的硬件和授权价格,再看看硬路由的价格只能表示打扰了,再看看自己的TPlink路由器留下了不争气的泪水

本次使用的是树莓派3B+FRRouting,如果各位富婆有4B的话性能可能会好很多(咱这种五类线用户,压根就不需要千兆啥的,看树莓派配置也蛮香的)

网络架构如下

镇江还接了Scarlet Cloud LAX的VPS….未详细列出
镇江左右两边为两个不同的ZeroTier

设备如下

设备系统软件
树莓派Raspberry PiUbuntu 18.04FRRouting
镇江NAT VPSDebian 10FRRouting
日本Vultr VPSDebian 10Bird6

因为咱本地到日本Vultr 200ms左右 ,咱到镇江30~40ms 镇江到日本 60~110ms,所以就拿镇江当类似中转了,加上镇江VPS的配置比较高,可以在上面做多点有趣的事情(虽然直接选择香港可能会好很多,可是香港的价格,劝退)

配置这里的一大部分时间主要还是在树莓派上,Ubuntu 19.04出现了下面几个坑

  1. netplan 抽风,咱在netplan配置的v6 ip地址,莫名奇妙的同时出现在了ZeroTier网卡和io网卡上,然后ZeroTier不分配ip报废
  2. deb frrouting 404错误,虽然可以通过apt install frr 来进行安装,安装后好像还是有奇怪的问题(咱不知道怎么编译安装)

每台机器记得开启IPV6转发(编辑 /etc/sysctl.conf 文件)

在 /etc/sysctl.conf 后面加上

net.ipv4.conf.all.forwarding=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.all.accept_ra = 2

然后终端输入命令 sysctl -p

树莓派网卡配置

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
	address 192.168.0.120
	netmask 255.255.255.0
	gateway 192.168.0.1
	dns-nameserver 8.8.8.8

auto eth0:1
iface eth0:1 inet6 static
	address 网关IPV6
	netmask 48
#	dns-nameserver 2400:3200::1 2400:da00::6666


source /etc/network/interfaces.d/*.cfg

树莓派FRRouting配置

Current configuration:
!
frr version 7.2
frr defaults traditional
hostname YFRoute
log syslog informational
service integrated-vtysh-config
!
ipv6 route ::/0 镇江VPS ZeroTier IPV6
!
router bgp 你的ASN
 bgp router-id 114.5.1.4
 no bgp default ipv4-unicast
 neighbor 镇江VPS ZeroTier IPV6 remote-as 139782
 !
 address-family ipv6 unicast
  network 要广播的网段
  neighbor 镇江VPS ZeroTier IPV6 activate
 exit-address-family
!
line vty
!
end

镇江NAT VPS 配置(因为镇江还有ZT与LAX其他对等所以删除了一部分多余的内容)

Current configuration:
!
frr version 7.2
frr defaults traditional
hostname zj
log syslog informational
service integrated-vtysh-config
!
ipv6 route ::/0 日本Vultr ZT IPV6
!
router bgp 恁的ASN
 no bgp default ipv4-unicast
 neighbor 树莓派 ZT IPV6 remote-as 9886
 neighbor 日本Vultr ZT IPV6 remote-as 恁的ASN
 neighbor 日本Vultr ZT IPV6 description Vultr
 
 !
 address-family ipv6 unicast
  neighbor 树莓派 ZT IPV6 activate
  neighbor 日本Vultr ZT IPV6 activate
 exit-address-family
!
!
line vty
!
end

日本Vultr VPS配置

router id 19.19.8.10;

protocol kernel {
	scan time 60;
	import none;
	export all;   # Actually insert routes into the kernel routing table
}

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

protocol static
{
    
}

protocol device {
	scan time 60;
}

protocol bgp zhenjiang
{
    local as 208498;
    source address ZT本机IP;
    import filter {
	if net = 恁树莓派宣告的ip段 then accept;
	reject;		
    };
    export none;
    neighbor 镇江ZT IPV6 as 恁的ASN;
}

protocol bgp vultr
{
	local as 208498;
	source address VPS IPV6;
	import all;
	export all;
	graceful restart on;
	multihop 2;
	neighbor Vultr给出的对等IP as 64515;
	password "11451419191810(你Vultr设置的密码)";
}


protocol bgp he
{
	local as 208498;
	source address HE Tunnel本地IP;
	import all;
	export all;
	neighbor  HE Tunnel IP as 6939;
}

电脑端 联网配置

(如果网络不稳定,嗯,一定是NTT和垃圾镇江网络的锅,逃)

后续可做

  1. 配置DHCP服务器,自动分配IPV6
  2. 把树莓派贴到路由器上面
  3. 配置Vultr优先走AS20473 其次才是 AS6939

咱很菜的,是个智障。 人设非常容易崩。
下一篇

【外设】Akko 3108 V2键盘初体验

你也可能喜欢

2 条评论

  1. 你好,想請教個問題
    看了一下路由追蹤的截圖以及文章內容
    請問第二路是到日本Vultr還是香港He Tunnel呀

    1. @Yi 写这篇文章的时候是因为江苏镇江到日本东京Vultr延迟只有50ms且非常稳定(现在不推荐这样了)。
      路由路径第一跳是镇江,第二条是日本VU。
      日本Vultr和香港He打了Tunnel,所以效果图出现了走到日本Vultr后 日本Vultr下一跳是香港HE的情况。

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
返回顶部