iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
1
Modern Web

什麼,透過BGP從小型網路到真正的網際網路!?系列 第 23

Day 23 加入DN42去中心網路-實作篇

前幾篇,有跟大家分享了一下DN42註冊及廣播的方式

那這篇的話,我們就來實作吧!

首先,我已經找到可以與我對等的網路了

我們與他透過WireGuard建立隧道,隧道內部IP使用PTP Address

ip addr add 172.22.189.96/32 peer <對方IP> dev <網卡>
ip addr add <本機IPv6> peer <對方IPv6> dev <網卡>

接著,也在對方機器這樣配置
兩端嘗試icmp ping或tcp ping看是否通行
https://ithelp.ithome.com.tw/upload/images/20201008/20119484MeBmcbWxJk.png

可以ping通後,我們進入frrouting來配置BGP
輸入 vtysh 進入CLI
接著輸入 config 進入配置區
router bgp 進入
https://ithelp.ithome.com.tw/upload/images/20201008/20119484PVPpkVuuE7.png
接著,輸入對方的IP及AS建立BGP
neighbor <對方IP> remote-as <對方AS>
這樣就完成BGP配置了。那接著,我們要廣播prefix給對方,讓對方幫我們transit
輸入 address-family ipv4 進入IPv4
接著,輸入 network <prefix> 就可以廣播了!

那由於我將公網跟DN42配在同一台機器上,我們需要使用route-map來做filter

我們這邊定義一個community,用於出口及進口(防止把對方發過來的發回去,造成迴路)

首先,進入config
接著,輸入route-map <自定義名稱> permit 5
輸入,set community 65000:<自定義>
輸入 bgp community-list standard DN42 permit 65000:<自定義> 來建立community表
接著,我們在建立一個route-map,用來match的community表
match community DN42 這樣,我們就建立好route-map了!

那我們返回 address-family ipv4,輸入 network <prefix> route-map <第一個自定義名稱>(讓他出去的時候建立一個community)
接著,在 neighbor <對方IP> route-map <第二個自定義名稱>(讓他去做filter)

這樣,你的配置大概會是這樣

Current configuration:
!
frr version 7.3.1
frr defaults traditional
hostname YI-HOME-Router
log syslog informational
service integrated-vtysh-config
!
router-id <本機IP>
!
router bgp 209557
 neighbor <對方IP> remote-as <對方AS>
 !
 address-family ipv4 unicast
  network 172.22.189.96/29 route-map DN42
  neighbor <對方IP> route-map DN42 in
  neighbor <對方IP> route-map DN42-OUT out
 exit-address-family
 !
bgp community-list standard DN42 permit 65000:2000
!
route-map DN42 permit 5
 set community 65000:12345
!
route-map DN42-OUT permit 5
 match community DN42
!
line vty
!
end
YI-HOME-Router# 

上一篇
Day 22 加入DN42去中心網路-廣播篇
下一篇
Day 24 加入公網指南-廣播自己的網路吧
系列文
什麼,透過BGP從小型網路到真正的網際網路!?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言