Назад | Перейти на главную страницу

Может вызывать только один интерфейс за раз

Я посмотрел на самые актуальные вопрос, и я на шаг впереди, но не знаю, что делать дальше.

В настоящее время я пытаюсь подключить два интерфейса Ethernet, но не могу установить соединение с обоими интерфейсами одновременно. Когда подключаю второй интерфейс enx000acd2f045e моя связь через enp0s31f6 к инету отключен. И, в отличие от приведенного ответа, ни одна из моих сетей не отключается при запуске sudo lshw -c network.

$ sudo lshw -c network
[sudo] password for maxgitt: 
  *-network               
       description: Ethernet interface
       product: Ethernet Connection (5) I219-LM
       vendor: Intel Corporation
       physical id: 1f.6
       bus info: pci@0000:00:1f.6
       logical name: enp0s31f6
       version: 00
       serial: 50:9a:4c:18:ad:9f
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=0.1-4 ip=130.207.34.53 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:138 memory:f7100000-f711ffff
  *-network
       description: Ethernet interface
       physical id: 1
       bus info: usb@2:3.1
       logical name: enx000acd2f045e
       serial: 00:0a:cd:2f:04:5e
       size: 1Gbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=ax88179_178a duplex=full ip=192.168.3.4 link=yes multicast=yes port=MII speed=1Gbit/s

В ответе упоминалась проверка моей таблицы маршрутизации, в которой говорилось, что у меня не может быть более одного шлюза. Итак, я запустил следующее:

Перед подключением к enx000

 $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         130.207.34.1    0.0.0.0         UG    100    0        0 enp0s31f6
130.207.34.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s31f6
143.215.251.5   130.207.34.1    255.255.255.255 UGH   100    0        0 enp0s31f6
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s31f6

После подключения к enx000

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.3.3     0.0.0.0         UG    0      0        0 enx000acd2f045e
0.0.0.0         130.207.34.1    0.0.0.0         UG    100    0        0 enp0s31f6
130.207.34.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s31f6
143.215.251.5   130.207.34.1    255.255.255.255 UGH   100    0        0 enp0s31f6
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s31f6
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 enx000acd2f045e

Наконец, он заявляет: «Если у вас два шлюза, в вашей таблице маршрутизации будет двойная запись для dest 0.0.0.0, и система не сможет с этим справиться». Я относительно новичок в сетях и не уверен, что могу сделать, чтобы это исправить. Похоже, у меня может быть конфликт в первых двух строках моей таблицы маршрутизации.

Ответ, который вы цитируете, указал вам на проблему - она ​​находится в таблице маршрутизации. Что происходит, у вас созданы два «маршрута по умолчанию» (маршрут 0.0.0.0). Это маршрут, который совпадает, если другого не найдено, отсюда и имя по умолчанию.

В вашем случае, как только второй интерфейс будет запущен, вы увидите два маршрута по умолчанию, и система использует первый, который соответствует, следовательно, адаптер enxXXX.

Упрощенно сказать, что у вас не может быть двух маршрутов по умолчанию, потому что все возможно, и вы можете сбалансировать трафик между ними, но для ваших целей кажется, что вы действительно хотите использовать только оригинальный интерфейс enpXXX для своего интернет-трафика? И есть только трафик LAN через другой интерфейс?

Это просто сделать - вам нужно отключить адаптер enxXXX, являющийся маршрутом по умолчанию (это добавит маршрут к локальной сети, но не к миру 0.0.0.0), или установить порядок маршрутизации, чтобы интерфейс enpXXX был первым в таблице маршрутизации. .

Здесь есть хорошее описание того, как использовать несколько сетевых адаптеров с Ubuntu: https://askubuntu.com/questions/310355/networking-with-multiple-nics

Спасибо за ссылку. Это помогло мне решить проблему. Я должен был добавить шлюз по умолчанию в мою таблицу маршрутизации ранее. Вы можете проверить и убедиться, что при запуске ip route show что у вас есть только 1 шлюз по умолчанию:

Перед

$ ip route show
default via 192.168.3.3 dev enx000acd2f045e  proto static 
default via 130.207.34.1 dev enp0s31f6  proto static  metric 100

Все, что мне нужно было сделать, это удалить второй маршрут через:

sudo route del default gw 192.168.3.3 enx000acd2f045e

После

$ ip route show
default via 130.207.34.1 dev enp0s31f6  proto static  metric 100