우리는 고속 네트워크와 저속 네트워크 모두에 연결된 다수의 기계를 보유하고 있습니다. 다른 시스템은 저속 네트워크에만 있습니다. 각 연결이 자동으로 가장 빠른 경로를 선택할 수 있도록 OSPF 배포를 조사 중입니다. 그러나 머신이 실수로 라우터 자체가 되는 것을 원하지 않으므로 max-metric router-lsa administrative
/etc/quagga/ospfd.conf의 옵션을 사용하고 있습니다.
불행하게도 광고 목적으로 나가는 링크 비용을 로 설정하는 것 외에도 호스트에서 경로 비용을 계산할 때 링크 비용으로 (음, 65535)를 사용하는 것 같습니다. 그 결과 고속링크를 사용하는 경로를 선호하는 대신 동일비용 경로로 취급하게 된다. 설정 을 다시 실행하면 max-metric
고속 링크가 선호되는 것으로 올바르게 계산됩니다.
참고: 지금은 VM과 가상 네트워킹을 사용하여 실험 중이므로 링크가 실제로 동일하며 비용을 수동으로 지정하고 있습니다. 세 대의 시스템은 주소 192.168.50.2-4를 사용하여 하나의 네트워크에 연결되고, 두 대는 주소 192.168.51.2-3을 사용하여 다른 네트워크에 연결되며, 각 시스템에는 루프백 주소 192.168.100.x가 있으며, 이는 각각의 주소를 지정하는 방법입니다. 다른. 다음은 머신 중 하나에 있는 /etc/quagga/ospfd.conf 파일입니다.
hostname ospf
password zebra
enable password zebra
interface eth1
ip ospf area 0
ip ospf cost 1000
ip ospf hello-interval 1
ip ospf dead-interval 5
interface eth2
ip ospf area 0
ip ospf cost 100
ip ospf hello-interval 1
ip ospf dead-interval 5
interface lo
ip ospf area 0 192.168.100.1
ip ospf cost 100
router ospf
log-adjacency-changes
passive-interface lo
max-metric router-lsa administrative
auto-cost reference-bandwidth 1000
log stdout
라우팅 테이블은 다음과 같습니다.
node1# show ip ospf route
============ OSPF network routing table ============
N 192.168.50.0/24 [65535] area: 0.0.0.0
directly attached to eth1
N 192.168.51.0/24 [65535] area: 0.0.0.0
directly attached to eth2
N 192.168.100.1/32 [0] area: 0.0.0.0
directly attached to lo
N 192.168.100.2/32 [65535] area: 0.0.0.0
via 192.168.50.3, eth1
via 192.168.51.3, eth2
N 192.168.100.3/32 [65535] area: 0.0.0.0
via 192.168.50.4, eth1
============ OSPF router routing table =============
보시다시피 192.168.100.2에 액세스하려면 비용이 65535이고 두 인터페이스 중 하나를 통해 라우팅됩니다.
호스트가 자체 최단 경로 계산에 링크 비용을 사용하도록 하면서 호스트가 전송 라우터로 사용되는 것을 방지할 수 있는 방법이 있습니까?
답변1
저는 Quagga가 제가 원하는 작업을 수행하도록 할 수 없었지만(FRR로도 시도했지만 동일한 문제였습니다), OSPF v3을 사용하는 Bird가 훌륭하게 작동한다는 것을 알았습니다. OSPF v3에는 링크 비용을 무한대로 설정하는 대신 스텁 라우터용 기능이 내장되어 있습니다. Quagga/FRR은 RFC 5838을 지원하지 않으므로 OSPF v3를 사용해 볼 수 없었습니다.