Summary: | firewall rules and postup/postdown scripts do not start for etcnet configs | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | ildar <ildar> | ||||||
Component: | NetworkManager | Assignee: | Mikhail Efremov <sem> | ||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||
Severity: | normal | ||||||||
Priority: | P3 | CC: | sem | ||||||
Version: | unstable | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
Description
ildar
2009-10-05 11:14:01 MSD
Я не уверен, что это стоит делать. Подумаю. Я уже не помню, какие у меня были по этому поводу сомнения. Думаю, сделаю вместе с ручкой для отключения в /etc/sysconfig/NetworkManager. Created attachment 4887 [details]
90-etcnet-hooks
Возможно добавит вдохновения такой хук. Класть его нужно, конечно, в /etc/NetworkManager/dispatcher.d/
Думаю, неплохая идея доложить этот хук в пакет.
Спасибо, я добавлю, но тоже с ручкой и выключенным по умолчанию. Проблема в том, что в NM нет возможности использовать скрипты pre, включать же по умолчанию выполнение скриптов post без pre вряд ли стоит, мало ли что там может быть написано, и вполне возможна ситуация, когда скрипт post рассчитывает, что ранее был выполнен pre, чего в случае NM не будет. Кстати, efw stop при опускании интерфейса тоже будет выполняться по сути в post, но в этом случае это не так страшно, думаю. Кажется в NM-0.9 что-то сделано для возможности запускать pre скрипты, но я еще это в нем не смотрел. A, и я кажется вспомнил, почему не сделал этого раньше. Все это, с запуском efw и post-скриптов имеет смысл только в случае, если соединение прочитано из /etc/net. Иначе использовать что-то etcnet-специфичное будет странно. Определить же в dispatcher скрипте из etcnet ли это соединение довольно сложно. Так что скрипты добавить можно, но оба будут по умолчанию выключены. Со всем согласен, кроме этого: (В ответ на комментарий №4) > Кстати, efw stop при опускании интерфейса тоже будет выполняться по сути в > post, но в этом случае это не так страшно, думаю. Это не то, что нестрашно: так и должно быть. Тот же iptables опускается после сервиса network. Наоборот, плохо, если файрвол стартует после интерфейса. iptables стартует _до_ сервиса network. NetworkManager-0.8.3.999-alt1.git20110415 -> sisyphus: * Fri Apr 15 2011 Mikhail Efremov <sem@altlinux> 0.8.3.999-alt1.git20110415 - etcnet-alt: + Added more tests. + Handle MAC from iplink file. + Handle route metric. + Honor current etcnet network profile (closes: #18435). + Various fixes. + Allow tab as tokens delimiter. - Add 80-etcnet-post dispatcher script. - Add 30-efw dispatcher script (closes: #21834). - Suppress annoying messages. - init script: Use the new Sleep() method. - init script: Disconnect all ifaces on stop. - ntpd hook: Don't create garbage in /tmp. - Set cp1251 as prefered encoding for Cyrillic langs (closes: #25404). - upstream git snapshot (NM_0_8 branch). работа хука поломалась на 0.9-beta. Теперь оно пускается так: /etc/NetworkManager/dispatcher.d/80-etcnet-post down DEVICE_IP_IFACE=usb0 Похоже сломалась передача имени интерфейса скриптам параметром. NetworkManager09-0.8.9997-alt1.git20110607 -> sisyphus: * Tue Jun 07 2011 Mikhail Efremov <sem@altlinux> 0.8.9997-alt1.git20110607 - etcnet-alt: Fix adding/removal devices handling. - Drop fix for env path in python scripts (fixed in upstream). - upstream git snapshot (master branch) (closes: #21834). Скрипт надо исправить, т.к. в новых версиях кроме действия up/down появилось ещё vpn-up/down И что по этому поводу предлагается делать? Created attachment 5944 [details]
VPN fix for 80-etcnet-post
Поскольку etcnet не видит различия между VPN и не-VPN интерфейсами, то предлагаю такой патч.
ping Я не очень понял почему эти скрипты должен запускаться при vpn-up/vpn-down. В etcnet нет таких понятий, там только up/down интерфейса. Смысл dispatcher-скриптов etcnet-post и efw в том, чтобы попытаться максимально приблизиться к поведению etcnet, если соединение прочитано оттуда. Читать же какие-либо vpn-соединения из etcnet плагин не умеет. Поясните, пожалуйста, какому именно поведению etcnet должна соответствовать реакция на vpn-up/vpn-down в этих dispatcher-скриптах. (In reply to comment #15) > Я не очень понял почему эти скрипты должен запускаться при vpn-up/vpn-down. В > etcnet нет таких понятий, там только up/down интерфейса. Рассмотрим vpn-интерфейсы в etcnet, например, ppp0. Для etcnet это такой же интерфейс, как и все остальные. И для него есть возможность использовать такие же if{up,down}-post. В NM эти понятия разделены, но для интерфейса ppp0 всё так же хочется запускать if{up,down}-post. Чтобы добиться этого, нужно поправить скрипт согласно предложенному патчу. > Рассмотрим vpn-интерфейсы в etcnet, например, ppp0.
> Для etcnet это такой же интерфейс, как и все остальные. И для него есть
> возможность использовать такие же if{up,down}-post.
Плагин не умеет читать такие соединения из etcnet (можно научить, но возни много, а я не вижу чтобы это кому-то было реально нужно). Он умеет читать только обычные ethernet и wifi соединения. Нельзя запускать скрипты из etcnet для соединений, созданных в самом NM, а не прочитанных из etcnet.
Теперь до меня дошло! прошу прощения, что так не сразу! |