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

При обнаружении IP-конфликтов в сети я обнаружил, что можно использовать arpwatch.

Я нашел документацию на http://www.linuxcommand.org/man_pages/arpwatch8.html, но без примера. Это не помогает мне.

Подробнее:

У меня есть клиент Virtualbox с именем Vbox1 (один), который является Ubuntu 16.04. Файл интерфейса (путь /etc /network /interfaces):

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet static

dns-nameservers 192.168.1.70 192.168.1.1
address 192.168.1.66
# remove gateway see why : https://superuser.com/questions/1080675/set-virtualbox-network-for-ubuntu-16-04-client/1081588#1081588
#gateway 192.168.1.1  

Пинг до шлюза:

bernard@vBox1b-client:/var/lib$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.804 ms

Проверьте MAC-адрес:

bernard@vBox1b-client:/$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:29:98:7c brd ff:ff:ff:ff:ff:ff
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:19:c2:cc brd ff:ff:ff:ff:ff:ff
bernard@vBox1b-client:/$ 

Таким образом, адрес MAC для enp0s3: 08: 00: 27: 29: 98: 7c, а для enp0s8 - 08: 00: 27: 19: c2: cc.

Проверьте IPv4-адрес, отличный от 127.0.0.1 и 192.168.1.66:

bernard@vBox1b-client:/$ ip -4 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.1.66/24 brd 192.168.1.255 scope global enp0s3
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic enp0s8
       valid_lft 62134sec preferred_lft 62134sec
bernard@vBox1b-client:/$ 

Другие IP-адреса: 10.0.3.15

Проверьте, что arp 192.168.1.66 не должен возвращать запись: bernard @ vBox1b-client:/$ arp 192.168.1.66 192.168.1.66 (192.168.1.66) - нет записи bernard @ vBox1b-client:/$ Это хорошо.

Проверьте содержимое /var/log/kern.log на наличие сообщений enp0s8:

... 24 июля 12:53:20 vBox1b-клиент NetworkManager [8046]: [1469357600.7642] имя домена 'lan' 24 июля 12:53:20 vBox1b-клиент NetworkManager [8046]: [1469357600.7847] dhcp4 (enp0s8): состояние изменено - > связаны ...

Проверьте содержимое /var/log/syslog.log на наличие сообщения enp0s8: Нет файла syslog.log для VB-one

SSH на сервер:

bernard@vBox1b-client:/$ ssh 192.168.1.65
ssh: connect to host 192.168.1.65 port 22: Connection timed out
bernard@vBox1b-client:/$ 

Результат без ответа.


На другом Virtualbox с именем Vbox11 (одиннадцать), который также является Ubuntu 16.04

С файлом интерфейса

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
dns-nameservers 192.168.1.70 192.168.1.1
address 192.168.1.66
# remove gateway see why : https://superuser.com/questions/1080675/set-virtualbox-network-for-ubuntu-16-04-client/1081588#1081588
#gateway 192.168.1.1 

Сначала я использовал шлюз - это интерфейсный файл, а теперь - нет. Это не имело никакого значения. В обоих случаях шлюз не был доступен.

Пинг до шлюза невозможен:

bernard@vbox11:~$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
From 192.168.1.66 icmp_seq=1 Destination Host Unreachable 

bernard@vbox11:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:93:71:92 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:e7:1d:b9 brd ff:ff:ff:ff:ff:ff
bernard@vbox11:~$ 

Таким образом, MAC-адрес это: 08: 00: 27: 93: 71: 92, а для eth1: 08: 00: 27: e7: 1d: b9

Проверьте IPv4-адрес, отличный от 127.0.0.1 и 192.168.1.66:

bernard@vbox11:~$ ip -4 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.1.66/24 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
bernard@vbox11:~$ 

Другой IP-адрес: 10.0.2.15

Проверьте, что arp 192.168.1.66 не должен возвращать никаких записей: bernard @ vbox11: ~ $ arp 192.168.1.66 192.168.1.66 (192.168.1.66) - нет записей bernard @ vbox11: ~ $ Это хорошо.

Проверьте содержимое /var/log/kern.log на наличие сообщений enth0:

... 26 июля 04:39:03 ядро vbox11: [312073.522007] IPv6: ADDRCONF(NETDEV_UP): eth0: ссылка не готова 26 июля 04:39:03 ядро vbox11: [312073.522021] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: ссылка становится готовы ...

Проверьте содержимое /var/log/syslog.log на eth0:

... 25 июля, 12:00:39 клиент vbox11: DHCPREQUEST из 10.0.2.15 на eth0 - 10.0.2.2 порт 67 (xid = 0x11a0ba6e) 25 июля, 12:00:39 клиент vbox11: DHCPACK из 10.0.2.15 из 10.0.2.2 25 июля : 00: 39 vbox11 dhclient: привязан к 10.0.2.15 - обновление через 37427 секунд. 25 июля, 12:00:39 vbox11 NetworkManager [889]: (eth0): состояние DHCPv4 изменено, обновлено -> возобновлено ...

ssh к серверу: bernard @ vbox11: ~ $ ssh 192.168.1.65 ssh: подключение к хосту 192.168.1.65 порт 22: истекло время ожидания соединения bernard @ vbox11: ~ $

результат: нет ответа.

На сервере Virtualbox (p5)

arp 192.168.1.66 должен возвращать результат на сервере: bernard @ p5: ~ $ arp 192.168.1.66 Address HWtype HWaddress Flags Mask Iface 192.168.1.66 ether 08: 00: 27: e7: 1d: b9 C eth0 Бернард @ p5: ~ $

Это хорошо.


Летняя диагностика:

  • VB-один может пинговать на хосте 192.168.1.1 VB-одиннадцать не может. VB-одиннадцать не должен быть настроен правильно, но как он должен быть настроен?
  • Mac-адреса VB-one: 08: 00: 27: 29: 98: 7c и 08: 00: 27: 19: c2: cc, а для VB-одиннадцать: 08: 00: 27: 93: 71: 92 и 08: 00: 27: e7: 1d: b9 Так что они разные, это хорошо.
  • Другие адреса IPv4, кроме 127.0.0.1 и 192.168.1.66: да, есть. Для VB-one: 10.0.3.15 и для VB-одиннадцать 10.0.2.15
  • ARP 162.168.1.66 не возвращает результат на обеих виртуальных машинах, но на сервере. Так что это хорошо
  • Результаты /var/log/kern.log различны для обеих виртуальных машин. У VB-one есть контент для syslog.log, а у VB-одиннадцати нет
  • нет ответа по SSH на сервер

Таким образом, когда оба клиента Virtualbox работают, ясно, что VB-one и VB-eleven имеют одинаковый IP-адрес: 192.168.1.66.

Какие операторы я должен использовать, чтобы найти эти дубликаты IP-адресов?

альтернатива

Я также пытался использовать arp-scan для обнаружения IP-конфликтов в сети, но у меня это тоже не получалось.

1 ответ1

1

arpwatch должен обнаружить изменение MAC-адреса, если он прослушивает сетевой интерфейс, который прослушивают серверы. Затем он отправит электронное письмо на настроенный адрес, если это не отключено.

Однако, если один из серверов был клонирован от другого, они могут иметь одинаковый MAC-адрес. Это сделает невозможным обнаружение с использованием ARP.

Проверьте MAC-адрес каждого из этих серверов. Если это так, вам нужно изменить MAC-адрес на одной из машин, чтобы иметь возможность надежно обнаружить проблему.

В Ubuntu/Debian arpwatch настраивается с помощью /etc/default/arpwatch . База данных будет находиться в каталоге /var/lib/arpwatch .

У вас могут возникнуть проблемы с подключением к серверам, если они оба работают и используют один и тот же MAC-адрес.

Некоторые диагностические шаги:

  • Пингуйте контейнер с каждого из хостов. Это должно быть в 192.168.1.1 от вашей конфигурации шлюза. Если один из хостов не может пропинговать, то есть проблема с его конфигурацией.
  • Проверьте MAC-адрес, указанный в ifconfig -a или ip link show в каждой из двух систем. У каждой системы должен быть свой интерфейс.
  • Проверьте IP-адреса, о которых сообщают ifconfig -a или ip -4 addr show в каждой из двух систем. Существуют ли какие-либо адреса IPv4, кроме 127.0.0.1 и 192.168.1.66 .
  • Проверьте вывод arp 192.168.1.66 из обеих систем и из контейнера. Две виртуальные системы не должны возвращать запись. Контейнер должен иметь один результат.
  • Проверьте /var/log/kern.log и /var/log/syslog наличие сообщений, связанных с интерфейсом: eth0 или enp0s3 .
  • ssh с одного виртуального сервера в контейнер. Проверьте IP-адрес в выводе who am i . Повторите с другого виртуального сервера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .