Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

InfiNet devices allow to create up to 16 independent L2 tunnels over SSH. The tap interface can have an IP address, can be used for routing and be a part of a switch group. In addition, the tap interface can be used as the parent for the vlan, lag and prf interfaces and be used as part of the MINT network.

SSH tunnel between two InfiNet devices

To configure first device that performs the server function, create the "tap0" interface and assign the "192.168.1.1/24" IP address to it. Set the "ssh_tun" login and "$ecRet" password for the created interface. Set the size of the SSH server internal reception window, for maximum performance the "-window" parameter on both tunnel sides should be set to 128000 or more. Set the duration of the session activity check to 30 seconds. Enable SSH daemon.

Device 1 (server)
 ifc tap0 192.168.1.1/24 up
 sshd tunnel add ssh_tun $ecRet tap0
 sshd -window=128000 -keepalive=30
 sshd start

На втором устройстве так же создадим интерфейс "tap0" и назначим ему IP-адрес "192.168.1.2/24".  Настроим параметры внутреннего окна, продолжительности проверки и значение интерфейса на сервере, если на сервере настроен интерфейс "tap0", нужно указывать "-remote-if=0". Логин и пароль должны совпадать с указанными на удалённой стороне. Опционально указываем алгоритм шифрования, алгоритм обмена ключами и другие параметры туннеля, получить список поддерживаемых алгоритмов можно командой: "sshtun tap0 -algo-list", где "kex" - алгоритмов SSH для обмена ключами, "hostkey" - аутентификации, "cipher" - кодирования данных, "hash" - проверки данных и "compress" - сжатия данных. Активируем SSH демон. Для того что бы запустить SSH туннель, необходимо обязательно ввести команду "sshtun start".

Устройство 2 (клиент)
 ifc tap0  192.168.1.2/24 up
 sshtun tap0 -window=128000 -keepalive=30 -remote-if=0
 sshtun tap0 ssh_tun:$ecRet@192.168.1.1 start
 sshtun tap0 -cipher-algos=aes256-cbc -kex-algos=diffie-hellman-group1-sha1 -hostkey-algos=ssh-rsa  -hash-algos=hmac-sha1 -comp-algos=none
 sshd start
 sshtun start
  • На разных концах туннеля можно настроить на tap-интерфейсах IP-адреса из разных подсетей (например 192.168.1.1/24 и 192.168.100.1/24). Однако при такой конфигурации с обеих сторон будут необходимы статические маршруты, настраиваемые командой:
route add <net>/<mask> <local_interface_ip_address> -iface

При добавлении маршрута с указанием адреса локального интерфейса в качестве шлюза и опцией "-iface" пакеты будут отправляться через данный интерфейс (в нашем случае tap0).

  • При настройке SSH-туннеля с использованием порта, отличного от "22".

На сервере:

Добавить команду "sshd -port" с указанием порта в диапазоне 1...32767.

sshd -port 32000

На клиенте:

В команду указывающую адрес сервера, логин и пароль следует добавить номер порта.

sshtun tap0 ssh_tun:$ecRet@10.10.10.1:32000
  • Между двумя устройствами можно настроить более одного SSH-туннеля. Для этого создаются дополнительные tap-интерфейсы.
Устройство 1 (сервер)
ifc tap0 192.168.1.1/24 up
sshd tunnel add ssh_tun $ecRet tap0
sshd -window=128000 -keepalive=30
sshd start
ifc tap1 192.168.100.1/24 up
sshd tunnel add ssh_tun $ecRet tap1
sshd -window=128000 -keepalive=30
sshd start
Устройство 2 (клиент)
ifc tap0  192.168.1.2/24 up
sshtun tap0 -window=128000 -keepalive=30 -remote-if=0
sshtun tap0 ssh_tun:$ecRet@192.168.1.1 start
sshd start
sshtun start
ifc tap1  192.168.100.2/24 up
sshtun tap1 -window=128000 -keepalive=30 -remote-if=1
sshtun tap1 ssh_tun:$ecRet@192.168.100.1 start
sshtun start

SSH-туннель между устройством Инфинет и клиентом, с запущенным openssh

На устройстве Инфинет конфигурация производится описанным выше способом.

ifc tap0 10.10.20.1/24 up
sshd tunnel add TEST QQTEST tap0
sshd start

В данном примере клиентское устройство это сервер с ОС Debian. На клиентском устройстве необходимо предварительно установить пакет uml-utilities.

tunctl
ifconfig tap0 up
ifconfig tap0 10.10.20.2/24
ssh -N –o Tunnel=Ethernet –w 0:0 TEST@10.10.20.1

Далее система запросит пароль и, при успешном его вводе, поднимется туннель, по которому могут быть переданы данные. Чтобы туннель работал в фоновом режиме следует использовать команду:

ssh -fN –o Tunnel=Ethernet –w 0:0 TEST@10.10.20.1 

ВНИМАНИЕ

Без опции -N (не выполнять команды) туннель, при наличии установленного на устройстве Инфинет пароля, не поднимется.

  • No labels