Я работаю над классом связи Python, работающим на Beaglebone, который подключается / повторно подключается к удаленным хостам из моего списка доступных серверов.
Чтобы проверить переподключение, я физически отключил свою локальную сеть от маршрутизатора для имитации отключений.
Я хотел бы сделать это в коде для расширенного тестирования.
По сути, я хочу создать метод с именем kill_internet (timeout) , который вытащит коврик и восстановит подключение в конце тайм-аута.
Требования:
- Должен прерывать установленные сокеты.
- Отключение должно быть жестоким и безобразным - нет шансов закрыть розетку
грациозно.
Наконец, я предпочитаю, чтобы соединения по локальной сети не прерывались, поэтому я могу продолжать контролировать тестирование по SSH с моего компьютера. Не является обязательным требованием, поскольку я всегда могу заново подключиться и прочитать файлы журналов позже.
Остановка службы сети удовлетворит # 1, но не уверен, насколько это жестоко.
Я думал о исходящем правиле UFW (iptables), но оно может не блокировать установленные соединения, и то же самое касается # 2.
Полагаю, я мог бы создать аппаратное 2-портовое устройство, чтобы сделать это на аппаратном уровне, но это хорошо - сложно.
Есть идеи, как поступить?
Спасибо
Билл