LinuxMint 22.3のpingが今までとオペレーションが変わっている
1.概要
ネットワーク機器の調整をしないとpingを利用することはありません。ネットワーク通過を確認するためにpingを実行すると下記エラーが発生。何が起きたか理解できませんでした。この内容を記述します。
$ ping www.google.com
ping: socktype: SOCK_DGRAM
ping: socket: アドレスファミリはプロトコルによってサポートされていません
調査した結果、pingの実行には管理者権限が必要となる変更がされているようです。しかし、エラー表示の内容が管理者権限が必要とは理解できない内容です。
fdiskを実行した場合、
$ fdisk -l
fdisk: /dev/sda を open できません: 許可がありません
と表示されて、権限が不足していると理解できます。
2.詳細
(1) DNSが通過するかを確認しました。これは問題ありません
$ host www.google.comwww.google.com has address 142.251.155.119
www.google.com has address 142.251.150.119
www.google.com has address 142.251.152.119
www.google.com has address 142.251.151.119
www.google.com has address 142.251.156.119
www.google.com has address 142.251.153.119
www.google.com has address 142.251.154.119
www.google.com has address 142.251.157.119
www.google.com has IPv6 address 2001:4860:4827:7700::
www.google.com has IPv6 address 2001:4860:482d:7700::
www.google.com has IPv6 address 2001:4860:482b:7700::
www.google.com has IPv6 address 2001:4860:4828:7700::
www.google.com has IPv6 address 2001:4860:482c:7700::
www.google.com has IPv6 address 2001:4860:4826:7700::
www.google.com has IPv6 address 2001:4860:482a:7700::
www.google.com has IPv6 address 2001:4860:4829:7700::
(2) GoogleAI(Gemini)に尋ねると-Nが必要とのことでした
$ ping -N www.google.comping -6 -N <nodeinfo opt>
Help:
help
Query:
name
ipv6
ipv6-all
ipv6-compatible
ipv6-global
ipv6-linklocal
ipv6-sitelocal
ipv4
ipv4-all
Subject:
subject-ipv6=addr
subject-ipv4=addr
subject-name=name
subject-fqdn=name
(3) ipv6は切り離されているipv4ネットワークなので、-4が必要とのことでした
$ ping -4 google.comping: socktype: SOCK_RAW
ping: socket: 許可されていない操作です
ping: => missing cap_net_raw+p capability or setuid?
(4) 権限不足のようです。やっとping通りました
$ sudo ping -4 google.comPING google.com (142.251.118.113) 56(84) bytes of data.
64 bytes from tu-in-f113.1e100.net (142.251.118.113): icmp_seq=1 ttl=114 time=24.9 ms
64 bytes from tu-in-f113.1e100.net (142.251.118.113): icmp_seq=2 ttl=114 time=23.4 ms
64 bytes from tu-in-f113.1e100.net (142.251.118.113): icmp_seq=3 ttl=114 time=23.6 ms
(5) pingのhelpを参照しました
$ ping -hUsage
ping [options] <destination>
Options:
<destination> DNS name or IP address
....
IPv4 options:
-4 use IPv4
-b allow pinging broadcast
-R record route
-T <timestamp> define timestamp, can be one of <tsonly|tsandaddr|tsprespec>
IPv6 options:
-6 use IPv6
-F <flowlabel> define flow label, default is random
-N <nodeinfo opt> use IPv6 node info query, try <help> as argument
3.追加
冷静に試験をやり直しました。
$ sudo ping google.com
上記コマンドで通過します。
pingが利用者権限で実行できないのが理由でした。
4.所見
LinuxMint 21までは以前のpingオペレーションができたのですが、LinuxMint 22から変わり、Ubuntuならば24.04から変わっています。pingはWindows,Linux,Macだけでなく、ネットワーク機器でも利用します。同じオペレーション方式が望ましいことだと思います。
pingに管理者権限が必要になったことの理由はわかりません。ネットで調べるとWindowsの場合でも管理者権限が必要に変わっているようです。pingを通過できるネットワーク設定はされている場合が多いので、セキュリティの側面で強化されたと思います。
pingを利用するのはネットワーク関連で初期設定や障害発生時です。突然、この問題に遭遇すると無駄に時間を使ってしまうので、事前学習が必要です。
参考
・LinuxMint 22.3でkernel-6.18.26をbuildする
コメント
コメントを投稿