数年前、ifconfigはLinuxでIPアドレスを知るためのお気に入りの方法でした。残念ながら、ifconfigコマンドは非推奨になりました。今日このコマンドを使用しようとすると、次のエラーが発生する可能性があります。
command not found: ifconfig
では、どのようにしてIPアドレスを見つけますか?その方法をお見せしましょう。
LinuxコマンドラインでIPアドレスを検索
さて、あなたはこの目的のためにipコマンドを使うことができます。 ipコマンドは用途が広く、ネットワーキングに関連する他のいくつかのことに使用できます。
ただし、IPアドレスを表示するには、 ip addrを指定してコマンドを使用します 、 ip a またはIPアドレス 次の方法でオプション(すべて同じ):
ip address
そして、次のような出力が表示されます:
1: lo: 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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlp58s0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:b6:d0:d0:fc:b5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.20/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp58s0
valid_lft 5962sec preferred_lft 5962sec
inet6 fe80::bf14:21e3:4223:e5e4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
上記の出力では、lo(ループバック)と呼ばれる最初の出力を無視できます。 IPアドレスが192.168.1.20と表示されていることがわかります。それに続く24はサブネットマスクです。
それでおしまい。これが、LinuxコマンドラインでホストシステムのIPアドレスを表示する方法です。
LinuxでシステムのIPアドレスを検索するその他の方法
LinuxでIPアドレスを確認する方法は他にもあります。それらもお見せしましょう。
hostnameコマンドは通常、システムのホスト名を表示します。ホストのIPアドレスを表示するためにも使用できます:
hostname -I
ターミナルにホストのIPアドレスが表示されるだけです。
[email protected]:~$ hostname -I
192.168.0.106
nmcliツールでIPアドレスを表示
ほとんどのLinuxディストリビューションには、NetworkManagerツールが付属しています。このツールには、nmcliと呼ばれるコマンドラインインターフェイスがあります。このnmcliツールを使用して、さまざまなネットワーク構成を表示できます。
IPアドレスは次のように表示できます:
nmcli -p device show
出力にIPアドレスが表示されます。
ifconfigはどうですか?
実際には、ifconfigコマンドを引き続き使用できます。これはnet-toolsパッケージに含まれています。システムのパッケージマネージャーを使用してインストールできます。ただし、net-toolsの使用は推奨されていないため、ipコマンドを使用することをお勧めします。
Ubuntuベースのディストリビューションでは、次のコマンドを使用してnet-toolsをインストールできます。
sudo apt install net-tools
これで、ifconfigコマンドを使用してシステムのIPアドレスを表示できます。
ifconfig -a
出力は次のようになります:
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 14855 bytes 3027297 (3.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14855 bytes 3027297 (3.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp58s0: flags=4163 mtu 1500
inet 192.168.0.106 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::bf14:21e3:4223:e5e4 prefixlen 64 scopeid 0x20
ether 9c:b6:d0:d0:fc:b5 txqueuelen 1000 (Ethernet)
RX packets 88413 bytes 61851930 (61.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 56505 bytes 11409219 (11.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
繰り返しになりますが、ifconfigは非推奨であり、使用しないでください。
ボーナスのヒント:システムのパブリックIPアドレスを見つける
これまでに見たのは、システムのプライベートIPアドレスを表示することでした。つまり、ネットワークルーターを使用している場合は、おそらくNATの背後にいることになります。
システムのIPアドレスはプライベートアドレスであり、サブネットワーク上のデバイスとの通信にのみ使用されます。自宅/職場のネットワーク外のデバイスは、このIPアドレスであなたを見つけることができません。彼らは今あなたのルーターのIPアドレスをする必要があります。ルーターはデバイスを認識し、プライベートIPアドレスを介して通信します。
パブリックIPアドレス(ルーターのIPアドレス)をどのように取得しますか?サードパーティのツールを利用する必要があります。
たとえば、OpenDNSでhostコマンドを使用して、パブリックIPアドレスを取得できます。
host myip.opendns.com resolver1.opendns.com
出力は次のようになります:
Using domain server:
Name: resolver1.opendns.com
Address: 208.67.222.222#53
Aliases:
myip.opendns.com has address 202.91.87.117
Host myip.opendns.com not found: 3(NXDOMAIN)
Host myip.opendns.com not found: 3(NXDOMAIN)
最後に…
この簡単なヒントが、LinuxコマンドラインでシステムのIPアドレスを見つけるのに役立つことを願っています。 LinuxでのゲートウェイIPの検索についても読むことができます。
いつものように、下のコメントセクションでフィードバックや提案をお気軽に提供してください。