Linux ipコマンドを使ってネットマスクを変更してみましたが、混乱しています。 Google検索でもこの内容は不明です。説明していただける方はいらっしゃいますか?インターフェースがあるとしましょう。enp0s31f6私のLinuxコンピュータで
rtuser@rtuser:~$ ip addr show dev enp0s31f6
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 98:fa:9b:c7:37:a2 brd ff:ff:ff:ff:ff:ff
インターフェイスにIPアドレスを割り当てたいです。
rtuser@rtuser:~$ sudo ip addr add 192.168.20.1/24 dev enp0s31f6
rtuser@rtuser:~$ ip addr show dev enp0s31f6
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 98:fa:9b:c7:37:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.1/24 scope global enp0s31f6
valid_lft forever preferred_lft forever
今私のネットマスクが正しくないことに気づき、変更したいと思います。
rtuser@rtuser:~$ sudo ip addr change 192.168.20.1/25 dev enp0s31f6
rtuser@rtuser:~$ ip addr show dev enp0s31f6
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 98:fa:9b:c7:37:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.1/24 scope global enp0s31f6
valid_lft forever preferred_lft forever
inet 192.168.20.1/25 scope global enp0s31f6
valid_lft forever preferred_lft forever
インターフェイスに同じIPアドレスが複数あります。わかりました。変更が適用されない場合があります。交換してみましょう。
rtuser@rtuser:~$ sudo ip addr replace 192.168.20.1/26 dev enp0s31f6
rtuser@rtuser:~$ ip addr show dev enp0s31f6
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 98:fa:9b:c7:37:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.1/24 scope global enp0s31f6
valid_lft forever preferred_lft forever
inet 192.168.20.1/25 scope global enp0s31f6
valid_lft forever preferred_lft forever
inet 192.168.20.1/26 scope global enp0s31f6
valid_lft forever preferred_lft forever
私はIPアドレスの属性を変更するためにIP変更/交換コマンドを期待しましたが、追加/変更/交換の両方が同じIPを引き続き追加するようです。なぜそんなことですか?
答え1
元の無効なアイテムを削除するには、delオプションを使用してください。
ip address del 192.168.20.1/24 dev enp0s31f6
次に、変更されたIP / CIDRを追加します。
ip address add 192.168.20.1/25 dev enp0s31f6