경로를 추가하면
ip route add 172.10.1.0/24 via 10.0.0.100 dev eth0
그런 다음 경로가 이미 존재하므로 동일한 명령을 두 번째로 실행하면 실패합니다.
이 동작은 어디에도 문서화되어 있지 않습니다. 이 동작에 의존하는 것이 안전합니까? 아니면 다른/향후 버전의 Linux에서 중복 라우팅을 허용합니까?
예
라우팅 테이블을 구성하는 bash 스크립트를 작성 중입니다. 스크립트를 여러 번 실행해도 안전하게 만들고 싶습니다.
두 가지 옵션이 있습니다.
명령을 run 문에 넣고
ip route add
정규식을 사용하여 경로가 올바른지 확인하세요.if
ip route list
그냥 실행하세요.
ip route add
경로가 이미 존재하기 때문에 실패하면 무시하세요.
첫 번째는 의존해야 하기 때문에 별로 강력해 보이지 않습니다 ip route list
. 두 번째는 문서화되지 않은 동작에 의존하는 것 같습니다.
답변1
ip route replace
대신 사용할 수 있습니다 add
.
add
이는 동일한 매개변수를 사용하지만 경로가 현재 존재할 때 실패하지 않습니다.
man ip-route
우리에게 말한 대로
IP 경로 교체
변경 또는 새로 추가
경로가 아직 설정되지 않은 경우 자동으로 경로를 추가하고 지정한 경로로 "변경"(교체)합니다.