С помощью следующей команды вывод:
~$
~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether f0:ff:ff:f9:f1:06 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether ff:ff:ff:ff:ff:44 brd ff:ff:ff:ff:ff:ff
~$
~$
~$
~$
~$
~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> 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: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether f0:ff:ff:f9:f1:06 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether ff:ff:ff:ff:ff:44 brd ff:ff:ff:ff:ff:ff
inet 192.168.68.103/24 brd 192.168.68.255 scope global dynamic noprefixroute wlp2s0
valid_lft 5181sec preferred_lft 5181sec
inet6 fe80::6fff:7fff:7ddd:3ddf/64 scope link noprefixroute
valid_lft forever preferred_lft forever
~$
~$
~$
~$
~$
~$ route -nNvee
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
0.0.0.0 192.168.68.1 0.0.0.0 UG 600 0 0 wlp2s0 0 0 0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp2s0 0 0 0
192.168.68.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0 0 0 0
~$
~$
~$
Могу ли я сказать, что запущено два стека IPv4 (сетевая подсистема Linux)? Один для
eno1
интерфейса, другой дляwlp2s0
интерфейса...Насколько я понимаю, есть таблица маршрутизации и интерфейс eth для каждого сетевого стека (ipv4 или ip6 или что-то еще).
lo
Также есть стек ipv4 (сетевая подсистема Linux)? да, почемуroute -nVee
не отображаетсяlo
интерфейс в таблице маршрутизации?
решение1
Существует один экземпляр структур данных ОС сети на каждое сетевое пространство имен. Вы можете считать это одним «стеком». Вы также можете считать различные стеки сетевых протоколов (например, IPv4 и IPv6, или даже более старые, которые все еще поддерживаются Linux) отдельно, тогда у вас будет по одному на каждое сетевое пространство имен.
Все сетевые интерфейсы в сетевом пространстве имен принадлежат одному и тому же сетевому стеку (или нескольким, если считать разные протоколы). Существуют различные таблицы, которые либо ссылаются на конкретный интерфейс (маршрутизация, брандмауэр), либо являются поинтерфейсными (назначение адреса), но они по-прежнему принадлежат к одному и тому же экземпляру структуры данных ядра.
Интерфейс loopback ничем не отличается в этом отношении, хотя он играет особую роль в сетевом стеке (он используется всякий раз, когда задействована передача с локального адреса на локальный адрес, а также предлагает способ назначения выделенных локальных IP-адресов). Таким образом, существует один интерфейс loopback на каждое сетевое пространство имен (и, следовательно, сетевой стек).
решение2
Во-первых, команда, которую вы запускаете, показывает информацию освязь- физический интерфейс (вот почему вы видите здесь MAC-адреса) - команда show ip addr
может быть лучше.
Вероятно, в вашем примере запущено всего 2 стека IP — 1 стек IPv4 и 1 стек IPv6.
Удобный способ определить это — посмотреть на то, что iptables
вы ip6tables
видите.
Вероятно, хорошей абстракцией будет сказать, что все, работающее на одном стеке IPv4, будет доступно через iptables
, а все, работающее на одном стеке IPv6, будет доступно через ip6tables
. Это, скорее всего, верно с учетом предоставленной вами информации. Все эти интерфейсы, включая lo
, обслуживаются одним и тем же стеком.
Вероятно, единственный способ заставить работать несколько независимых стеков для одного и того же протокола — это использоватьсетевые пространства именили виртуализация.
решение3
Интерфейс eno1
не имеет адреса IPv4, но интерфейс wlp2s0
имеет.
Интерфейс lo
также имеет адрес IPv4.
Всего запущено два стека IPv4.