@R1:/etc/bird/bird.conf
router id 10.0.1.1;
protocol kernel {
learn all;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol rip {
interface "eth1", "lo0";
ipv4 {
import all;
export where (net = 10.0.1.0/24) || (net = 10.0.12.0/24);
};
}
protocol kernel — она описывает действия, связанные с таблицами маршрутизации ядра системы. Необходимо указать сохранение получаемых данных в таблицах маршрутизации устройства (а не просто передачу этих данных), а также частоту обновления таблиц получаемыми данными;
protocol device — она описывает действия самого сетевого устройства. Необходимо указать периодичность сканирования портов на наличие BIRD‑данных от других устройств;
protocol rip — она описывает действия, связанные с маршрутизацией с помощью протокола:
@R2:/etc/bird/bird.conf
router id 10.0.2.2;
protocol kernel {
learn all;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol rip {
interface "eth*";
ipv4 {
import where net != 10.0.1.0/24;
export all;
};
}
@R3:/etc/bird/bird.conf
router id 10.0.3.3;
protocol kernel {
learn all;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol rip {
interface "*";
ipv4 {
import all;
export all;
};
}
R2 не будет принимать данные, связанные с сетью 10.0.1.0/24, и, соответственно, не будет отправлять их далее по топологии.
bird запустите BIRD на каждом из устройств.
birdc можно посмотреть параметры работы демона.
birdc show route посмотрите таблицу RIP‑маршрутов, передаваемых BIRD.
[root@R1 ~]# bird[root@R1 ~]# birdc show routeBIRD +detached. ready. Table master4: 10.0.1.0/24 unicast [kernel1 12:25:54.420] * (10) dev lo0 10.0.12.0/24 unicast [kernel1 12:25:54.420] * (10) dev eth1 10.0.23.0/24 unicast [rip1 12:26:00.124] * (120/2) via 10.0.12.2 on eth1 10.0.2.0/24 unicast [rip1 12:26:00.124] * (120/2) via 10.0.12.2 on eth1 10.0.3.0/24 unicast [rip1 12:26:02.896] * (120/3) via 10.0.12.2 on eth1 [root@R1 ~]#
proto bird, означающим, что маршрут получен с помощью BIRD‑демона (поскольку маршруты не приходят мгновенно, может потребоваться время на получение всех данных).
[root@R1 ~]# ip route
10.0.1.0/24 dev lo0 proto kernel scope link src 10.0.1.1 linkdown
10.0.2.0/24 via 10.0.12.2 dev eth1 proto bird metric 32
10.0.3.0/24 via 10.0.12.2 dev eth1 proto bird metric 32
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1
10.0.23.0/24 via 10.0.12.2 dev eth1 proto bird metric 32
[root@R1 ~]#
[root@R2 ~]# ip route
10.0.2.0/24 dev lo0 proto kernel scope link src 10.0.2.2 linkdown
10.0.3.0/24 via 10.0.23.3 dev eth2 proto bird metric 32
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2
10.0.12.0/24 via 10.0.12.1 dev eth1 proto bird metric 32
10.0.23.0/24 dev eth2 proto kernel scope link src 10.0.23.2
[root@R2 ~]#
[root@R3 ~]# ip route
10.0.2.0/24 via 10.0.23.2 dev eth1 proto bird metric 32
10.0.3.0/24 dev lo0 proto kernel scope link src 10.0.3.3 linkdown
10.0.12.0/24 via 10.0.23.2 dev eth1 proto bird metric 32
10.0.23.0/24 dev eth1 proto kernel scope link src 10.0.23.3
10.0.23.0/24 via 10.0.23.2 dev eth1 proto bird metric 32
[root@R3 ~]#
10.0.1.0/24 не передалась на R2 и R3, поскольку не была указана как допустимая к передаче.
ping -c3 <dstIP> проверьте достижимость отдельных сетей с разных устройств.
[root@R1 ~]# ping -c3 10.0.23.3PING 10.0.23.3 (10.0.23.3) 56(84) bytes of data. 64 bytes from 10.0.23.3: icmp_seq=1 ttl=63 time=1.00 ms 64 bytes from 10.0.23.3: icmp_seq=2 ttl=63 time=0.872 ms 64 bytes from 10.0.23.3: icmp_seq=3 ttl=63 time=0.854 ms --- 10.0.23.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.854/0.908/1.000/0.065 ms[root@R1 ~]# ping -c3 10.0.3.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. 64 bytes from 10.0.3.3: icmp_seq=1 ttl=63 time=0.903 ms 64 bytes from 10.0.3.3: icmp_seq=2 ttl=63 time=0.838 ms 64 bytes from 10.0.3.3: icmp_seq=3 ttl=63 time=0.990 ms --- 10.0.3.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2055ms rtt min/avg/max/mdev = 0.838/0.910/0.990/0.062 ms [root@R1 ~]#
[root@R3 ~]# ping -c3 10.0.1.1ping: connect: Network is unreachable[root@R3 ~]# ping -c3 10.0.2.2PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data. 64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.591 ms 64 bytes from 10.0.2.2: icmp_seq=2 ttl=64 time=0.448 ms 64 bytes from 10.0.2.2: icmp_seq=3 ttl=64 time=0.567 ms --- 10.0.2.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2060ms rtt min/avg/max/mdev = 0.448/0.535/0.591/0.062 ms [root@R3 ~]#