携帯電話を持っていて、ホットスポットがオンになっています。Linux ラップトップでそのホットスポットに接続しました。
今、私のLinuxコンピュータでコマンドを実行します
$ netstat -r -n
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.43.1 0.0.0.0 UG 0 0 0 wlp3s0
192.168.43.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp3s0
私のIPは192.168.43.193です
$ ipconfig -a
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.193 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 2409:4070:2201:c42b:1a38:21df:c868:7fde prefixlen 64 scopeid 0x0<global>
inet6 fe80::25ac:4aff:2683:9be8 prefixlen 64 scopeid 0x20<link>
ether ac:d1:b8:47:a4:47 txqueuelen 1000 (Ethernet)
RX packets 408640 bytes 476371745 (454.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 287073 bytes 40393931 (38.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
次に、netstat の出力を理解する方法について説明します。
私の理解によれば:
Any ip with `192.168.43.0/255` does not have a gateway or gateway of `0.0.0.0`
Any ip will have a gateway of `192.168.43.1`
一度言っても意味がないのでAny ip the gateway is 192.168.43.1
、もう一度言うとAny ip with 192.168.43.0/255 does not have a gateway or gateway of 0.0.0.0
答え1
任意のIP
192.168.43.0/255
「スラッシュ」構文はネットワークビット数(ネットマスクに基づく)を示します。ない開始から終了までの範囲。ネットマスク 255.255.255.0 をバイナリに変換すると、24 個の「オン」ビットがあることがわかります。したがって、ネットワークは と記述する必要があります。192.168.43.0/24
(とはいえ、完全なネットマスク192.168.43.0/255.255.255.0
もほとんどの人には理解できるでしょう。)
ゲートウェイまたはゲートウェイがない
0.0.0.0
はい、これはゲートウェイのないルートです。つまり、アドレスは「オンリンク」であり、MAC 層で直接到達可能です。つまり、これはローカル サブネット ルートです。
問題はフラグがないことですがG
、古いツールがゲートウェイ列に 0.0.0.0 を表示し続けることは問題ではありません (代わりに何も表示しないこともできます)。
どのIPにもゲートウェイがあります
192.168.43.1
はい、でも場合にのみその IP は最初に 192.168.43.0/24 ルートと一致しませんでした。
それは意味がありません
ルートは特定の順序でチェックされ、最も具体的なルートが常に優先されます。(「最も具体的」はネットマスク ビットに基づきます。たとえば、/24 ルートは /16 ルートよりも優先され、それらはすべて 0.0.0.0/0 ルートよりも優先されます。これが、後者が「デフォルト ルート」と呼ばれる理由です。他に何も適合しない場合に最後にチェックされます。)
0.0.0.0/0を見ると、頭の中で「任意のIP他のルートと一致しなかったゲートウェイは 192.168.43.1 です。