Главная arrow Администрирование arrow Сеть arrow Vyatta: роутер на основе x86 PC и Debian Monday, September 25 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

Vyatta: роутер на основе x86 PC и Debian Версия для печати
Написал microsin   
31.01.2008

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, поэтом утам можно производить только простые операции, либо просматривать конфигурацию.

Последнее обновление ( 27.06.2011 )
 

Комментарии  

  1. #2 advuser
    2012-06-0219:46:55 Насчёт первого тоже не правы!
    set interfaces ethernet eth0 address 'dhcp'
    Замечательно работает.
  2. #1 user
    2011-10-1716:41:08 Насчет второго недостатка Вы не совсем правы. Vyatta работает как l2tp клиент через xl2tpd, просто фронтенд к этой функции не сделан.

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017