У меня есть мобильный телефон и включена точка доступа. Я подключился к этой точке доступа с помощью ноутбука с 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".