четверг, 29 сентября 2011 г.

Знакомьтесь, YaST... WebYaST!

Доброго времени суток!

Что-то подзабросил я свой блог, ну да ничего...
За прошедшее время произошло много всего, но одно событие более других должно повлиять на состояние сего блога - я обзавелся домашним сервером. Это обстоятельство позволяет теперь экспериментировать с разными интересными решениями и технологиями. Одним таким экспериментом стала установка WebYaST, о котором и хочу рассказать...

Наверное, все те, кто знаком с миром Linux, знают или хотя бы краем уха слышали про менеджер настроек в операционных системах openSUSE, SLED и SLES, гордо называемый YaST. Эдакая «Панель управления» для Linux-систем.

Но немногие в курсе, что год назад на конференции OSC 2010 (openSUSE Conference) был представлен проект WebYaST, переносящий функционал YaST на просторы интернета. Над проектом велась и ведется активная работа, и впервые он стал доступен вместе с операционной системой openSUSE 11.4.

Что же предоставляет WebYaST:
  • Удаленное управление системой, используя только браузер
  • Отсутствие необходимости экспертных знаний по настройке системы
  • Широкие возможности по настройке системы
  • Возможность легкой интеграции сторонних модулей
  • Широкие возможности по брендированию
  • REST-интерфейс

Кого заинтересовало — прошу под кат.
Постараюсь подробнее рассмотреть возможности системы, рассказать о внутреннем устройстве и привести пример установки.

пятница, 18 февраля 2011 г.

Очередной открытый Bugs-Day


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

Что нужно для того, чтобы принять участие:
  • Регистрация в bugzilla.novell.com
  • Установленный дистрибутив openSUSE 11.4 RC1 или openSUSE Factory
  • IRC клиент для взаимодействия с другими участниками на канале #opensuse-testing
  • Хорошее настроение :)
Если вы испытываете трудности с сортировкой и выборкой ошибок из Bugzilla - обратитесь к организаторам, они предоставят Вам список ошибок, которые Вы сможете проверить.

Порядок работы:
  • Поиск в Bugzilla ошибок, открытых в устаревших версиях (11.4 MS 1-5 или 11.4 Factory) 
  • Попробуйте воспроизвести проблему на 11.4 RC1 
  • Если неполадка все еще остается, обновите статус ошибки для текущей версии
  • Если вы уверены, что проблема была устранена, установите статус ошибки в RESOLVED+FIXED
  • Если вы чувствуете, что проблема была устранена, установите статус в RESOLVED+NORESPONSE
Такой порядок действий для каждой найденной ошибки, для координации пользуйтесь IRC-каналом #opensuse-testing сети FreeNode.

Мотивация:
Куда же без неё :) Десять самых активных участников получат благодарность от сообщества в виде фирменных футболок и других хороших вещей. Ну и не забываем главного - Have a lot of Fun!

суббота, 12 февраля 2011 г.

Реализация простейшего socks-proxy на openSUSE 11.3

Как-то раз, ещё до покупки роутера, мне понадобилось расшарить свое интернет подключение соседу по общежитию. В наличии имелся компьютер с 1 сетевым интерфейсом, подключенный к локальной сети с доступом в Интернет через шлюз, и компьютер в той же локальной сети, но без доступа к Интернету.
Самым простым решением на мой взгляд было настроить squid через Yast2, что и было сделано буквально в пять клтков. Всё бы ничего, веб-страницы заработали, но вот p2p программы, типо ICQ, Skype, Torrent-клиентов работать не пожелали. Было решено также поднять socks proxy.
В репозиториях я быстро нашел прокси сервер Dante и начал разбираться с настройками.
Все настройки хранятся в файле /etc/sockd.conf, который по доброй Unix традиции содержит подробные инструкции в виде комментариев. Ниже приведу откомментированный рабочий файл настройки, реализующий простейший прокси сервер, раздающий интернет одному клиенту без каких-либо ограничений и не требующий авторизации:

logoutput: /var/log/socks/socks.log # указываем файл для хранения логов
internal: eth0 port = 1080 # внутренний интерфейс и порт, на котором будем слушать клиентов, допустимо также указывать IP адрес.
external: eth0  # внешний интерфейс, с которого выходим в Интернет, допустимо что-то вроде external: 192.168.1.1 
method: username none # метод авторизации (rfc931) в данном случае - без авторизации  

# далее идет набор правил, правила со словом pass разрешают действия, со словом block - запрещают

client pass { 
from: 192.168.1.2/32 to: 0.0.0.0/0 
log: connect disconnect iooperation 
} # разрешаем пользователю 192.168.1.2 подключаться к серверу и логируем события подключения/отключения и ввод/вывод

pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect udpassociate
log: connect disconnect iooperation
} # разрешаем серверу соединяться с любыми серверами, выполняя команды connect, udpassociate и также пишем логи

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