Используя 2 адаптера ethernet в локальной сети, ответ ping не показывает

У меня ноутбук с Ubuntu 15.10. Здесь есть один встроенный сетевой адаптер, к которому я добавил еще один через USB. Теперь у меня есть два сетевых интерфейса, которые оба показывают, когда я набираю ifconfig. Затем я настроил их как со статическим IP: eno0 -> 192.168.0.21 (onboard nic) eno1 -> 192.168.0.22 (USB-nic)

Оба адаптера напрямую подключены к другому компьютеру назначения с Ethernet кабель: 192.168.0.21 -> 192.168.0.1 (целевой компьютер 1) 192.168.0.22 -> 192.168.0.2 (целевой компьютер 2)

Затем у меня есть сценарий Python для отправки UDP-пакетов с ноутбука на конечный ПК:

import socket
import time
#create socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind("192.168.0.21", 2000)
sock.sendto("test", ("192.168.0.1", 2000))

Это работает, если подключен только один адаптер. Когда оба адаптера подключены, это будет работать только для интерфейса, который был подключен первым. Затем я попытался отправить пинг через интерфейс, который не работает. Допустим, интерфейс eno0 работает и может успешно отправлять UDP-пакеты через скрипт Python, тогда это не сработает:

ping -I eno1 192.168.0.2

Он показывает, что пакеты покидают компьютер, и через Wireshark я вижу, как они уходят nic, я даже вижу, что ПК-получатель отправляет ответ, но в терминале он не отображается, и когда вы прерываете ctrl + c, я вижу, что было отправлено 5 пакетов, и все они потерялись. Pinging через eno0 отлично работает с целевым ПК.

Как это исправить?

1
задан 14 January 2016 в 17:09

0 ответов

Другие вопросы по тегам:

Похожие вопросы: