前言廢話
前些時間終於將所有機器從 Bird 1.6.8 升級到 Bird 2.0.7 了。這中間最有感觸的大概就是效能以及 IPv4 跟 IPv6 終於不用分開寫。不過在這兩者之間,有些許不同的寫法,所以在此筆記一下。
段落
以下會將常用的段落分開說明。
Kernel
在 Kernel 段落中,最大的不同就是要告訴他,這段內容是給 IPv4 還是 IPv6 的。如下:
protocol kernel {
ipv6 {
import all;
export all;
};
}
Static
其實也差不多,在 Static 內加入 ipv4
或 ipv6
。注意:若你兩者都有,要分開寫。以下是範例:
protocol static {
ipv4;
route 1.1.1.0/24 via "tpe1";
}
protocol static {
ipv6;
route 2606:4700:4700::/48 via "tpe1";
}
BGP
在 BGP 中,需要將 import
及 export
等等的內容在外面包一層 ipv4
或 ipv6
,以下是範例:
protocol bgp test {
ipv6 {
import all;
export filter filter1;
#preference 100;
};
local fe80:123::1 as 65000;
neighbor fe80:123::2 as 65001;
graceful restart on;
password "your_password_here";
}
Direct
最後,direct
的部分,則要在 import 的外面包一層 ipv4
或 ipv6
。
protocol direct {
interface "dummy*";
ipv6 {
import all;
};
}
結語
基本上 Bird2 就是 config 整合了原本的 bird.conf
以及 bird6.conf
啦,且必須在文件內告訴他這個段落是給 IPv4 用的,還是 IPv6 用的。