iproute(ip ad)의 더 편리한 버전이 있나요?

iproute(ip ad)의 더 편리한 버전이 있나요?

iproute2프로토콜 주소는 명령 ip address delete(또는 약어 )을 사용하여 제거할 수 있습니다 ip a d(참조:man ip address)

질문은 ip a d사용하기 다소 불편하며, 작업을 적절하게 지정하는 데 실제로 필요한 것보다 더 많은 매개 변수가 필요합니다. 정말? 예:

user@box$> ip a s 

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 24:ee:9a:00:00:01 brd ff:ff:ff:ff:ff:ff
    inet 10.192.0.174/24 brd 10.192.0.255 scope global dynamic noprefixroute wlo1
       valid_lft 415283sec preferred_lft 415283sec

user@box$> ip a d 10.192.0.174

Not enough information: "dev" argument is required.

user@box$> ip  a d 10.192.0.174 dev wlo1

Warning: Executing wildcard deletion to stay compatible with old scripts.
     Explicitly specify the prefix length (172.22.52.254/32) to avoid this warning.
     This special behaviour is likely to disappear in further releases,
     fix your scripts!

iproute2예를 들어, 대부분의 경우 할당된 IP 주소는 단일 네트워크 장치에만 할당되므로 넷마스크와 네트워크를 무의미하게 복제하게 하는 것보다 이 장치가 함께 작동하고 IP 주소를 제거하도록 하는 방법을 알고 싶습니다. 장비.

현재 여러 네트워크 장치에 동일한 IP를 할당하거나 다른 서브넷 마스크를 사용하여 IP 주소를 여러 번 할당하는 사용 사례를 보는 데 어려움을 겪고 있지만(그런데 이는 iproute2내가 원하지 않는 경우임에 틀림 없음) 무시하다) , 나는 이러한 경우도 다음 iproute2에서 찾을 수 있다고 확신합니다.정말 그런 일이 일어났다면(의미, 모호한 경우에만).

ip a d무의미한 일을 줄이는 방법을 찾은 사람이 있나요 ?

참고/보너스: /보다 덜 의미 있는 넷마스크를 기본값으로 설정하는 방법이 있습니까 ip a a [ipadress](또는 이렇게 선택한 이유가 있습니까?)?/32255.255.255.255

답변1

첫째: @Yurko의 답변에 전적으로 동의합니다. 그러나 여기에 나온 답변으로 문제가 해결될 수도 있습니다.

인터페이스에 관계없이 주소를 삭제하려면 도움말 페이지에서 제안하는 것처럼 ip address delbut 을 사용하면 안 됩니다.ip address flush

      ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up]

이 하위 명령은 주소를 일괄적으로 삭제하는 데 사용됩니다. 다양한 방법으로 범위를 제한할 수 있습니다. 한 가지 방법은 입니다 to PREFIX.

따라서 귀하의 경우에는 다음과 같이 작동합니다.

ip address flush to 10.192.0.174

여러 인터페이스에 나타나는 복잡한 설정에서는 주소를 여러 번 제거하기도 합니다.

거기에 넷마스크를 선언하면 삭제 후보를 검색하기 위해 전체 범위가 선택되므로 넷마스크를 그대로 두지 않는 것이 가장 좋습니다. del명령이 다르게 작동하기 때문에 이는 다른 동작입니다 . 예를 들어, ip address flush to 192.0.2.100/31192.0.2.100 또는 192.0.2.101로 시작하는 접두사는 자체 넷마스크(/32/24 등일 수 있음)에 관계없이 제거 대상으로 선택됩니다. delete대답은 그러한 주소가 없다는 것일 수 있습니다.

답변2

iproute2: 예, 여러 인터페이스, 가상 인터페이스, 복잡한 라우팅, 결합된 인터페이스 등을 포함한 몇 가지 이유가 있습니다. 마지막으로 이는 레거시 문제이며 모든 *nix 시스템에서 동일한 동작을 나타냅니다.

한 번 구성하고 잊어버리면 바퀴를 다시 만들 이유가 없습니다.

이 작업을 여러 번 수행해야 하는 경우 iproute2는 몇 분 안에 스크립트를 쉽게 작성하고 잊어버릴 수 있도록 하는 전체 도구 세트를 제공합니다.


넷마스크 255.255.255.255가 기본값인 이유는 각 장치를 자체 서브넷에 배치하여 다른 장치에 도달하는 방식으로 라우터를 통해 통신하도록 강제하는 것입니다. 따라서 로컬 네트워크 넷마스크를 입력하지 않으면 -> 로컬 넷마스크 네트워크가 없습니다. 하지만 다시 말하지만, 별칭을 만들어 쉽게 스크립트를 작성하거나 간단히 변경할 수도 있습니다.

관련 정보