Vyatta представляет собой открытую свободно распространяемую систему (под лицензией GNU), позволяющую настроить роутер на основе обычного компьютера. Vyatta позиционируется как альтернатива роутерам Cisco.
Действительно, поддерживаются многие "серьезные" протоколы, как например OSPF, BGP, VRRP и т. д. Загрузка при этом осуществляется с CD-ROM, а конфигурация может храниться на flash-диске. Есть возможность установить систему на HDD для ускорения работы. Система основана на Debian Linux. ПО, осуществляющее роутинг, называется Open Flexible Router (OFR). Документация доступна на http://www.vyatta.com/documentation/ (для полного доступа к документации нужна регистрация - просто вводите произвольные данные) и http://www.openmaniak.com/vyatta_tutorial.php. Vyatta может загружаться с CD-ROM, и конфигурацию читать с floppy и только с floppy, или может загружаться с flash или HDD, в этом случае конфигурация сохраняется на flash или HDD. [Как установить и настроить]
1. Прожигаем образ vyatta-livecd-vc3.iso на болванку. Загружается с неё. Управлять можно непосредственно с клавиатуры или через COM1-порт.
2. После загрузки появится запрос пароля. Уже сконфигурировано 2 пользователя: Логин пароль vyatta vyatta root vyatta
Если зайти под root, то будет доступна командная строка Linux. Можно ввести команду xorpsh, что запустит командную оболочку конфигурирования роутера (команды немного напоминают CLI Cisco). Если зайти под пользователем vyatta, то команда xorpsh запустится автоматически. Локально доступны (как обычно в *nix) другие консоли по кнопкам Alt+F1, F2...
3. Определяемся, как будет в дальнейшем происходить загрузка vyatta. У нас есть следующие варианты для выбора: - загрузка с CD-ROM, конфигурация грузится с флоппи-диска - загрузка с flash-диска (например, подключенного через USB), конфигурация грузится оттуда же. - загрузка с жесткого диска (HDD), конфигурация грузится оттуда же.
На сегодняшний день (январь 2008) никаких других вариантов загрузки и хранения конфигурации в vyatta не реализовано. Для загрузки с flash или HDD нужно место под системный раздел не менее 450 мегабайт и под раздел конфигурации не менее 10 мегабайт. Таким образом, flash или HDD должны быть размером не менее 460 мегабайт. Мне подошел только вариант загрузки с жесткого диска, поскольку флопика у меня не было, а ставиться на USB-флешку vyatta отказалась категорически (так и не разобрался, почему - USB диск видит, даже видит его размер, а на при начале копирования данных на раздел виснет).
4. Заходим под root и выполняем команду install-system. Запустится консольный мастер, под руководством которого ставите систему. Там ничего сурового нет - просто надо указать устройство, на которое будем ставить (я выбрал HDD на устройстве /dev/sda), тупо ответить на все вопросы и дождаться окончания копирования файлов. Процесс установки происходит на удивление быстро - чаю попить не успеете.
5. Вытаскиваем загрузочный CD, перезагружаемся с HDD. Логинимся под root. Теперь надо определиться с тем, какой сетевой интерфейс будет внутренний (LAN), а какой внешний. Используя команду ifconfig, ifconfig -s смотрим наличие интерфейсов и проверяем их работоспособность по вставлении выдергивании сетевого кабеля. У меня в системе было 2 физических сетевых интерфейса eth0 (я его определил для LAN) и eth1 (для WAN).
6. Запускаем программу конфигурирования vyatta командой xorpsh. Получаем приглашение root@vyatta>. Если ввести ?, то получим список доступных команд (совсем как в Cisco). Вводим команду configure. Приглашение меняется на root@vyatta#.
7. Настраиваем адрес на внутреннем интерфейсе eth0. Вводим: set interfaces ethernet eth0 address 192.168.7.254 prefix-length 24 commit Пояснение - здесь маске 255.255.255.0 соответствует prefix-length 24.
Соединяем скрестным кабелем интерфейс eth0 с сетевым интерфейсом компьютера, на котором настроен адрес 192.168.7.1, проверяем, как ходит ping (эта команда доступна, если выйти обратно в приглашение root@vyatta> командой exit).
8. Запускаем GUI-интерфейс управления командой set service webgui commit
После этого в строке браузера на другом компьютере вводим http://192.168.7.254, должен отобразиться интерфейс управления vyatta. Залогиниться там можно под логином vyatta, пароль vyatta.
9. Таким же образом можно включить доступ по telnet и ssh. Это делается командами set service telnet и set service ssh соответственно (про commit в конце не забываем).
10. Сохраняем конфигурацию на диск. Для этого просто вводим команду save. При этом конфигурация сохраняется в файл /opt/vyatta/etc/config/config.boot. Эта конфигурация будет автоматически загружаться при старте vyatta.
Файл конфигурации - это простой текстовый файл, который можно просмотреть командой more /opt/vyatta/etc/config/config.boot (если выйти из утилиты xorpsh). Если хотим записать конфигурацию с другим именем, например /opt/vyatta/etc/config/080129backup, то вводим команду save 080129backup
11. Сколько я ни пробовал админить по web-интерфейсу, но мне это казалось недобным - отсутствует подсказка по командам. Намного проще настраивать vyatta в командной строке xorpsh. Поэтому для удобства работы запускаем 2 telnet-сессии. В одной должна быть командная строка xorpsh, а в другой - просто командная строка Debian под пользователем root.
12. Для того, чтобы по dhcp интерфейс WAN получал настройки провайдера, вводим команду (это надо делать в shell Debian, не в программе xorpsh): vi /etc/rc.local
Запустится текстовый редактор vi. Перед строкой exit 0 добавляем строку dhclient eth1.
12. Маршрут по умолчанию. Если он уже есть на следующий шлюз (например, получен по dhcp), то прописывать маршрут не надо. Для проверки наличия маршрута по умолчанию нужно в консоли Debian ввести команду route (именно в операционной системе, а не внутри xorpsh): vyatta:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.7.0 * 255.255.255.0 U 0 0 0 eth0 10.160.96.0 * 255.255.248.0 U 0 0 0 eth1 default 10.160.96.1 0.0.0.0 UG 0 0 0 eth1 В данном примере маршрут по умолчанию уже есть, ничего добавлять не надо. Если маршрута default нет, то добавляем его, уже в командной строке xorpsh: set protocols static route 0.0.0.0/0 next-hop 10.160.96.1 commit save
13. Настраиваем NAT для сети 192.168.7.0/24 (в командной строке xorpsh): set service nat rule 1 edit service nat rule 1 set type masquerade set outbound-interface eth1 set source network 192.168.7.0/24 commit save
14. Проверяем работу NAT на компьютере 192.168.7.1, для этого на локальный ресурс корбины, например на ftp.corbina.ru (195.14.50.21) прописываем статический маршрут (компьютер 192.168.7.1 - простая машина под Windows XP): route add 195.14.50.21 192.168.7.254 Теперь подключаемся к ftp.corbina.ru и скачиваем файл ftp://ftp.corbina.ru/pub/100Mb, замеряем время закачки - у меня получилось около 15 секунд (около 53 мегабит/сек). [Недостатки]
1. В vyatta не встроено получение параметров интерфейса по dhcp, IP-адрес можно назначить только статически. Правда, если воспользоваться настройкой интерфейса vyatta с помощью dhclient, эту проблему можно обойти. 2. Не может работать как vpn-клиент по протоколам ppp и l2tp, что не позволяет использовать роутер на vyatta с некоторыми провайдерами, такими как corbina. 3. Нет встроенной подсказки в web-интерфейсе управления vyatta, поэтом утам можно производить только простые операции, либо просматривать конфигурацию. |
Комментарии
RSS лента комментариев этой записи