Почему два интерфейса Ethernet отменяют друг друга?

439
rbaleksandar

У меня есть следующие настройки:

  • Один ноутбук с Debian Jessie со статическим IP-адресом 192.168.1.2 для его интерфейса Ethernet (настройте профиль подключения через сетевой менеджер GNOME)
  • Один ПК с двумя сетевыми интерфейсами Xubuntu 16.04 (настройте профили подключения через сетевой менеджер GNOME):
    • Статический IP 192.168.1.4 - для соединения с моим ноутбуком ИЛИ Raspberry Pi 2 (см. Следующую запись)
    • Автомат (DHCP) - для подключения к интернету через мост на Raspberry Pi 3
  • Raspberry Pi 2 с новейшим Rasbian и статическим IP 192.168.1.3

    / и т.д. / сеть / интерфейсы

    allow-hotplug eth0  iface eth0 inet static  address 192.168.1.3 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 
  • Raspberry Pi 3 новейший Rasbian и статический IP-адрес 192.168.1.2 . Между интерфейсом WiFi и интерфейсом Ethernet имеется мост, благодаря которому мой ПК может подключить порт Ethernet (для интерфейса ПК установлено значение « Автоматически» (DHCP) ) и иметь доступ к Интернету. Я использовал этот учебник для настройки.

    ** / и т.д. / wpa_supplicant / wpa_supplicant.conf *

    network={ ... // SSID, encrypted password key etc. } 

    / и т.д. / сеть / интерфейсы

    allow-hotplug eth0  iface eth0 inet static  address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 

    /etc/dnsmasq.conf

    interface=eth0 listen-address=192.168.1.2 bind-interfaces server=8.8.8.8 domain-needed bogus-priv  dhcp-range=192.168.1.100,192.168.1.254, 12h 

    /etc/sysctl.conf

    Раскомментировал строку с net.ipv4.ip_forward=1

    Конфигурация Iptables

    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE  iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT  iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT  

Проблема, с которой я столкнулся, заключается в том, что мне кажется, что я не могу использовать оба устройства Pis, подключенных к ПК, даже если они подключены к разным сетевым картам, а их IP-адреса разные, но являются частью одной сети. Автоматический DCHP на Pi 3 в настоящее время дал моему ПК (интерфейс, к которому он подключен) IP-адрес 192.168.1.119 .

Я заметил, что какой бы Pi я ни подключал первым к ПК, работает. Второй подключенный не (простой пинг дает мне информацию). Далее у меня нет проблем с подключением любого из моих Pi к ноутбуку - один предоставляет мне доступ в Интернет (как и ожидалось; для этого я отключаю адаптер WiFi на ноутбуке), а другой - с «обычным» подключением Ethernet. Я также могу SSH с одной машины на другую, если подключен (за исключением случая, когда возникает проблема, описанная выше).

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

0

1 ответ на вопрос

3
Gote Guru

Вы не должны использовать одну и ту же сеть на двух разных интерфейсах. Самая простая установка будет использовать разные сети (даже маленькие / 30 сетей) для обоих Pis.

Если вы действительно хотите одну сеть, у вас есть два варианта:

  • мостовое соединение: вы можете создать мостовое устройство на ПК и добавить оба интерфейса к мосту. Теперь вы должны добавить свой IP к мосту (dhcp или static) вместо оригинальных интерфейсов. Этот IP будет доступен для обоих физических проводов. Вы можете иметь несколько IP-адресов на одном интерфейсе, если хотите. Вся сеть будет объединена, каждое устройство может достигать любых других устройств.

  • Подсеть: вместо моста канального уровня вы можете решить проблему на уровне маршрутизации. Вы можете создать две подсети под 192.168.1.0/24. например: 192.168.1.0/25 + 192.168.1.128/25. Оба имеют 126 маршрутизируемых адресов. Вы можете использовать IP из первого диапазона для pi2 (192.168.1.3) и другой из второго диапазона для pi3 (например, 192.168.1.130). Ваш ПК сможет подключиться к обоим (маршрутизация будет работать), и с точки зрения ПК он будет почти таким же, как одна / 24 сеть. Однако два пи не смогут связаться друг с другом (если вы специально не разрешите пересылку ip на ПК).

В случае, если я неправильно понял вашу цель, пожалуйста, уточните. Было бы очень полезно поделиться таблицей маршрутизации вашего компьютера и конфигурацией сети, к которой подключен Пи. ( ip route showи ip addr show). (Не могу комментировать к сожалению).