Jioushan
提问…
K
Comment on page
🌏

bird版本區別之 protocol

Only IPV6 【About config】
当我准备写这篇文章时 我准备讲些什么了
你知道的,我们采用bird,所以你用的是硬路由!请CTRL+W或者command+W。此教程对您没有任何帮助!不值得您在这儿浪费时间!
而且,我写的一些内容,是希望初入BIrd的小白能够在闭门造车的情况下,方便抄大佬的代码!
所以,前提是要明白,如何读懂!

准备

我前面提到过,bird有1.6.8 有bird2 甚至还有没推出的bird3
但目前。中文区大量的代码采用bird1.5或者bird2
(系统环境我假定您和我一样用的Debian

所以请看下面两者区别

protocol bgp j1s2m3s4r5 {
local as 134478;
source address xxxx:xxxx::1;
import none;
export filter {
include "./peers/filter.conf";
reject;
};
graceful restart on;
multihop 2;
neighbor xxxx:xxxx::2 as 53667;
password "xxxxxx";
}
这是bird1的conf(config
首先j1s2m3s4r5 您可以自由填写,这个protocol的会话名称但是首字母请务必是字母,否则bird会报错
local as 您的ASN
source address 您本地local address (即我举个例子
您通过GRE方式和某A建立了隧道。(这是二层协议。所以这个地方的地址即对方分配给您的客户端地址
import none; #导入 none #是不导入 all#是全收 filter #即代表你的过滤
我们这节不讲过滤 所以 filter怎么写我们暂时先不聊!
graceful restart on 是自动平滑重启
neighbor 我不知道翻译成怎样好 邻居这个翻译 感觉怪怪的。但是你要知道 后面的地址是你对端BGP它的local address 所以这里您应当写它给你的服务端地址 as 对方的ASN
multihop 2; 是多跳 为2 ; password XXXXX 事实上多跳和密码 这似乎是您的上游制定的。
对于一般的BGP会话只需要写
local address as Asn
neighbor address as Asn
导入
导出

当您理解这些,我们来看bird2的写法

protocol bgp he{
local as 134478;
source address xxxx:xxxx::2;
neighbor xxxx:xxxx:xxxx::1 as 6939;
ipv6{
import none;
export all;
};
}
我相信这次我不需多言。你就可自己看懂。

我们来说说一致性的内容,

route id xxx.xxx.xxx.xxx;
#这里的ipv4随便填 最好是机器的ipv4 地址
protocol bgp xxxx{};
#然后你可以写你的 BGP会话(就是上面我所言区别的内容
protocol static{
route XXXXXX/44 reject;#宣告为这个段,路由将导向这台机器
route xxxxxx/48 via “local address” #将这个段的路由导向某个网卡
};
#这里是静态地址宣告

我这边教程写的不好,只是举一个例子,更多我建议参考,以下网站

bird.wiki
但是您要是说 bird的各种功能组件写法,咱还是建议您翻sohajin的文档
未完待补充!
博主很懒,所以没心思更!