Назад | Перейти на главную страницу

Переключение между сетевыми конфигурациями через командную строку в Fedora 17

У меня есть две разные настройки, которые я использую на своем рабочем ноутбуке; один обеспечивает взаимодействие через туннель ethernet ssh с моим рабочим компьютером в локальной сети, а другой открывает HTTP-туннель на мой рабочий компьютер из-за пределов сети.

Когда у меня на работе включен Wi-Fi, кажется, что мой ноутбук предпочитает его использовать. Это делает синергию невероятно медленной. Дома я должен использовать Wi-Fi.

У меня есть сценарии, которые запускают мои туннели ssh, добавляют мои ssh-ключи и запускают другие программы, такие как synergy, и закрываются, когда я закрываю свой ноутбук. Однако каждый день мне приходится начинать свою рутину с открытия gnome-control-center и включения Ethernet.

Я пробовал добавлять маршруты и ifup, ничего из этого не работает, поэтому я погрузился в исходный код gnome-control-center и обнаружил, что он включил соединение с помощью метода nm_client_activate_connection libnm с некоторыми специфическими структурами libnm, которые у меня возникают проблемы с отслеживанием. Я не особо разбираюсь в программировании на C и не знаком ни с GTK, ни с libnm.

Кто-нибудь знает, что Fedora 17 делает с подключениями Ethernet к в полной мере включить их? Или кто-нибудь знает, что делает libnm с в полной мере включить Ethernet-соединение? Должен ли я писать сценарий c для запуска libnm, чтобы я мог полностью эмулировать все, что пытается сделать gnome-control-center?

Fedora 17 включает инструмент cli nmcli. http://arstechnica.com/civis/viewtopic.php?t=1163023

Я могу подключить Ethernet с nmcli con up 'System p5p1' и выключи Wi-Fi с помощью nmcli con down id 'MyWifiNetworkName'

Я бы не стал использовать libnm для управления этим. NetworkManager публикует объекты более D-автобус, поэтому я бы посмотрел на использование dbus-send (или, возможно, сценарий, написанный на Python) к манипулировать им.