У меня есть ПК с Windows 10, который имеет 2 сетевых интерфейса. Один из этих интерфейсов входит в основную локальную сеть, где расположены файловый сервер, DNS и маршрутизатор для Интернета. Второй интерфейс представляет собой крошечную локальную сеть, в которой есть ПЛК и ЧМИ. Они оба физически находятся в одной и той же локальной сети, но в разных подсетях (извините, я не могу это изменить, вне моего контроля).
Итак, у меня есть два физических интерфейса и один логический:
eth0: DHCP, 172.16.xy, МАСКА 255.255.255.0, gw по умолчанию 172.16.xz
eth1: статический 192.168.1.158, МАСКА 255.255.255.0
статический 192.168.19.158, МАСКА 255.255.255.0
HMI доступен по адресу 192.168.19.135.
Теперь, когда я перезагружаю HMI, я запускаю эхо-запрос, чтобы увидеть, когда он снова будет доступен. Это должно произойти примерно через 30 с.Но я получаю положительный ответ на пинг только через 80-90 секунд.
Ping wird ausgeführt für 192.168.19.135 с 32 байтами Дата:
Ответ от 192.168.19.158: Zielhost nicht erreichbar.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
(извините за немецкий текст, но я думаю, должно быть ясно, что мы здесь видим)
Я получаю другой ответ на первый пинг, чем на второй.
Кажется, что Windows после XP начала делать некоторую «магию маршрутизации» и просто отправлять данные по маршруту по умолчанию, если они не могут достичь цели по более конкретному маршруту. Кажется, у других также было Эта проблема
Я нашел несколько «решений», которые для меня не являются реальными решениями (подробнее об этом ниже)
- Таким образом, ping имеет хороший параметр «-S» для определения исходного адреса. И да, это "решает" проблему. Я получаю ответ мгновенно, если HMI работает. Но я использую эту команду в сценарии powershell, и параметр источника для «тестового соединения» имеет совершенно другое значение. И поскольку я использую это в скрипте, это не работает, как только локальный IP-адрес меняется.
- Я настроил eth0 статически вместо DHCP и не определил маршрут по умолчанию. Это также «решило» проблему (я думаю, вы можете себе представить, почему это на самом деле не решение)
- Я исследовал это только теоретически, но я мог бы установить маршрутизатор на базе Linux с 3 интерфейсами между ПК, локальной сетью и изолированной локальной сетью с ПЛК и ЧМИ и позволить ему выполнять всю маршрутизацию (это наверняка решит проблему! Но, честно говоря, нужен ли мне дополнительный компьютер только для того, чтобы обойти маршрутизацию сломанных окон?)
- ´arp -d *´ тоже помогает, но нужны повышенные привилегии
Я пробовал добавлять статические маршруты с разными параметрами и показателями. Без изменений!
Статическое добавление MAC-адреса HMI не помогает, поскольку этот MAC-адрес может измениться.
Итак, мои вопросы:
- есть ли какая-либо документация по этому изменению поведения в окнах?
- есть ли способ заставить окна использовать определенный интерфейс