Sep 8, 2007

Firewall on Ububtu

Совсем недавно решил переустановить систему на своем основном компьютере (домашнем). До этого там стояла MS Windows XP. Но работала она очень плохо. Были очень неприятные проблемы. Самой ужасной - перезагрузка системы во время работы. В самые неожиданные моменты. Это очень похоже на проблемы с железом. Программы диагностики особо ничего не выявили. Одним радостным днем системе стало совсем плохо. При попытке войти в систему под любым пользователем она перегружалась. Я решил, что не буду пытаться ее восстанавливать (тем более что файлы были доступны удаленно и всю информацию можно было спасти), а просто переустановлю. Причем в качестве новой системы я выбрал линукс. Он не так сильно напрягает меня, а дома у меня нет особой нужды в программах под альтернативную платформу. Как Java Developer мне вообще не слишком важна целевая платформа. Наиболее актуальный для меня дистрибутив в данный момент SUSE. Я считаю его наиболее стабильным и отполированным. Более того, в этом дистрибутиве идет, не побоюсь этого слова, самый совершенный редактор настроек. Ну если не считать, конечно, прямого редактирования конфигурационных файлов. Однако, последнее время я слышу много восторженных криков по поводу Ubuntu. У этого дистрибутива хорошие, крепкие корни, большое число поклонников, но уж очень много PR. Я всегда с большой опаской отношусь, к продуктам, которые особенно активно рекламируют. Тем не менее, я решил попробовать. Не буду глубоко вдаваться в подробности, кратко выскажу свое мнение. Прежде всего этот дистрибутив абсолютно не тянет на почетное звание лучший desktop. У него огромное количество проблем. Встроенные средства конфигурации не покрывают и 10% системы. А то что покрыто, покрыто очень плохо. Доработка напильником требуется на каждом углу. Я был удивлен, когда мне говорили, что убунта не годится для новичков. Теперь мне стало понятно. Но я не могу не сказать, что общее впечатление от дистрибутива очень положительное. Это не Fedora, которую вообще противно использовать в качестве рабочей станции. (О серверах речи нет). Поэтому я довел начатое до логического конца и привел систему к состоянию, в котором ее реально использовать. Я хочу подчеркнуть, что проблем было довольно много, но все они решались легко. Решение было либо очевидными, либо легко находилось в документации, доступной в сети. Основные проблемы, на сколько я помню, можно выразить следующим списком:
  • Установка необходимого ПО и библиотек для проигрывания музыки и видео.
  • Установка проприетарных драйверов (видео).
  • Установка 3D рабочего стола.
  • Подключение к сети (странная проблема, сеть подключалась через раз).
  • Шрифты/ кодировки.
Как вы видите - проблемы тривиальные, и особых трудностей не вызвали. Хочу сосредоточиться на специфике моего случая. Основной компьютер подключен к внешней и внутренней сетям. Он выполняет функции брандмауэра. Поэтому встал вопрос доступа к Интернету из внутренней сети. Конечно, самый прямой способ это настройка конфигурации iptables. То есть включение masquerading/NAT. Кроме того, мне нужен DHCP сервер для внутренней сети, чтобы я не напрягался со статическими адресам и не менял настройки рабочего ноутбука. Итак имеем две проблемы:
  • DHCPd
  • Firewall + NAT
По прямому пути я не пошел, ведь у меня в руках самая дружественная система в мире. Прежде всего многих новичков очень пугает отсутствие возможности зайти под root. Точнее, пугает тот факт, что пароль супер пользователя неизвестен. При этом попытка произвести любое административное действие приводит к запросу пароля. Дело в том, что в Ubuntu используется немного другой подход, основанный на sudo. В чем его суть? Если не вдаваться в подробности, на все вопросы надо отвечать своим пользовательским паролем. Если есть необходимость запуска некой программы из консоли, но с правами root, надо выполнить следующий финт: sudo <название программы> Вас опять попросят ввести пароль - ВАШ ПАРОЛЬ! Одним словом все просто и прекрасно. Теперь вернемся к нашим проблемам. Установка dhcpd не вызывает особых проблем. Можно воспользоваться Synaptic - встроенным менеджером пакетов (не супер, но достаточно удобно и надежно). Либо прямо в консоль ввести sudo apt-get install dhcpd. Для особого удобства можно установить какую-нибудь программу для конфигурации этого демона. Самое интересное (для меня) второй пункт. На сколько это удобно можно сделать в Ubuntu. Решений много, я остановился на Firestarter. Это ПРЕДЕЛЬНО ПРОСТОЙ конфигуратор брандмауэра. Все сводится к простейшему визарду. Более того! Ferestarter берется настроить даже DHCP для внутренней сети. Однако в моем случае, возник небольшой конфликт. Так как установленный в системе демон и тот который хотел использовать Firestarter отличались версиями. Я не слишком расстроился, так как эта функция у меня уже и так работала, поэтому я просто пропустил настройку dhcp в Firestarter. Еще более приятным сюрпризом, для меня была возможность Firestarter показывать активные подключения и на лету модифицировать правила фильтрации. Но меня ждал один подвох. Как оказалось, я не могу войти из внутренней сети в корпоративный VPN. Это меня сильно огорчило. Тем более, что разработчики обещают исправить эту проблему только в следующем релизе Firestarter. Однако (как всегда!!!) решение есть. Причем достаточно прямое. Необходимо внести небольшую правку в один из конфигурационных файлов Firestarter. Открываем терминал и выполняем следующую магическую последовательность: # sudo -i < вводим СВОЙ пароль> # chmod +w /etc/firestarter/user-pre # gedit /etc/firestarter/user-pre В открывшемся редакторе вводим следующий текст: # Forward PPTP VPN client traffic $IPT -A FORWARD -i $IF -o $INIF -p tcp --dport 1723 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -i $IF -o $INIF -p 47 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -i $INIF -o $IF -p 47 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT Затем выполняем: # chmod -w /etc/firestarter/user-pre # /etc/init.d/firestarter restart После всех этих действий я получил возможность полноценно работать из внутренней сети. Буду рад, если эта статья кому-то поможет побороть его проблемы. PS. Вот уже прошел месяц использования дистрибутива Ubuntu. Какие выводы можно сделать. Прежде всего дистрибутив работает. И в нем можно работать. Ошибок в программах довольно много, но проблемы решаемые и особо не раздражают пользователя (меня) у которого нет времени долго и глубоко копать. Из оставшихся проблем - поддержка микрафона и skype. Удалось заставить работать и то и другое, но ... работают они не очень красиво. Добиться желаемого поведения на 100% мне не удалось.

2 comments:

Windows 7 Key said...

Windows 7 Key It is wonderful right here. good research. I've been searched this kind of information for quite a while. thanks

Windows 7 Key said...

Aw,Windows 7 Enterprise sale this was a really quality post. In theory I'd like to write like this too – taking time and real effort to make a good article… but what can I say… I procrastinate alot and never seem to get something done.