Управление оборудованием Cisco через PHP (WEB) с помощью RSH.
1. Настройка маршрутизатора Cisco
1.1 Разрешаем глобально протокол RSH
R(config)# ip rcmd rsh-enable
1.2 Отключаем функцию определения IP адреса по DNS в протоколе RSH
R(config)# no ip rcmd domain-lookup
Данная команда может не отражаться в конечной конфигурации
1.3 Определяем с какого адреса, какой пользователь может работать по протоколу RSH
R(config)#ip rcmd remote-host main 10.200.2.5 www-data enable
Здесь main – имя пользователя на маршрутизаторе Cisco с привилегиями достаточными для выполнения команд.
10.200.2.5 – IP адрес сервера, с которого будут посылаться команды на выполнение на маршрутизаторе
www-data – имя пользователя на сервер 10.200.2.5, от имени которого будут запускаться команды на выполнение
Для настройки можно выполнить еще такую команду:
R(config)#ip rcmd remote-host main 10.200.2.5 root enable
В этом случае мы из под root в командной строке сможем давать команды RSH в сторону Cisco
1.4 Пользователь main должен быть создан на маршрутизаторе. Если такого пользователя нет, то его необходимо создать:
R(config)# username main privilege 15 password 7 ХХХХХХХХХХХ
1.5 Проверяем, что на vty интерфейсах разрешен протокол rsh.
Можно разрешить любой протокол:
R(config)#line vty 0 4
R(config-line)#transport input all
Или настроить доступ с помощью access-list.
2. Устанавливаем нужное программное обеспечение на сервер
2.1 Устанавливаем пакет из репозитария
Для CentOS:
#yum install rsh
Для Debian:
#apt-get install rsh-redone-client rsh-redone-server
2.2 Открываем порты для RSH
# iptables -I INPUT -p tcp --dport 1022:1023 -j ACCEPT
Не забываем сохранить настройки iptables.
3. Теперь выполняем на сервере команду и радуемся
Пример:
root@lg:~# rsh -l main 10.200.255.12 sh run int Loopback800
Building configuration...
Current configuration : 127 bytes
!
interface Loopback800
description >PPPoE outside<
ip vrf forwarding INTERNET
ip address 10.1.255.255 255.255.255.255
end
root@lg:~#
4. Для выполнения того же самого через php вставляем в WEB-страницу следующий код:
<?php
$s = passthru('rsh -l main 10.200.255.15 "sh users | i 10S0661"');
echo $s;
?>
Радуемся еще раз :)